鼠标(镜头)旋转控制

首先,先明白左右旋转是改变对象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轴是正值却是往下旋转,正好相反。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章