欢迎大家来到我的博客http://unity.gopedu.com/home.php?mod=space&uid=3352&do=blog&view=me&from=space
第一人称视角随鼠标旋转
要实现摄像机随鼠标的旋转而旋转,需要先知道欧拉角,也就是自身坐标旋转角度。
Transform.localEulerAngles 自身欧拉角旋转作为欧拉角度,相对于父级的变换旋转角度。
//方向灵敏度
public float sensitivityX = 10F;
public float sensitivityY = 10F;
//上下最大视角(Y视角)
public float minimumY = -60F;
public float maximumY = 60F;
float rotationY = 0F;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update ()
{
//根据鼠标移动的快慢(增量), 获得相机左右旋转的角度(处理X)
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
//根据鼠标移动的快慢(增量), 获得相机上下旋转的角度(处理Y)
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
//角度限制. rotationY小于min,返回min. 大于max,返回max. 否则返回value
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
//总体设置一下相机角度
transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
}
请继续关注我的博客
http://unity.gopedu.com/home.php?mod=space&uid=3352&do=blog&view=me&from=space
更多精彩尽在http://www.gopedu.com/