首先,先明白左右旋转是改变对象Y轴的rotation的value,上下是改变X轴的rotation的值,所以旋转控制实际上就是实时获取Y轴和X轴的改变值。
首先,我们实现对一个人的身体的旋转。
Vector3 Rotation = Vector3.zero;//先定义一个Vector变量
Rotation.y +=Input.GetAxis("Mouse X")*MouseSensitivity;//得到左右旋转的角度的大小
Vector3 rotation = transform.eulerAngles;//获得本身对象原来的角度。
rotation.y = Rotation.y ;//将Y轴角度改变为我们获得的左右旋转的角度大小
transform.eulerAngles = rotation;//再讲改变后的赋值回去
以上代码完成了身体的左右旋转,这里没有实现上下,因为身体不可能有上下的旋转 - 。-
这里讲一下左右旋转的角度的获取Rotation.y +=Input.GetAxis("Mouse X")*MouseSensitivity;
Input.GetAxis函数用来获取我们鼠标在X轴上的旋转距离(-1到1),再将这个数值乘上我们的鼠标灵敏度加上原来的y轴角度,就是鼠标旋转后的角度。
再把身体原来的角度的y值改变,其余不变就行。
那么上下旋转也很简单
Vector3 Rotation = Vector3.zero;
Rotation.x -=Input.GetAxis("Mouse Y")*MouseSensitivity;
Vector3 rotation = transform.eulerAngles;
rotation.x = Rotation.x ;
transform.eulerAngles = rotation;
将Y改成X就行,这里要特别注意,原来的+号改成-,因为鼠标往上移动对于Y轴是正向的,但是物体的X轴是正值却是往下旋转,正好相反。