四元数,如何慢慢旋转物体?

时间:2016-05-03 06:23:15

标签: unity3d rotation quaternions

我使用Unity 5.3.4和Oculus VR并在VR环境中实现应用程序。

我想使用Quaternion慢慢旋转对象。例如,当我将头部向右转180度时,MainCamera会转动90度左右。

在Unity中,Oculus-VR的跟踪输入会自动计算并返回Quaternion数据。

void Update()
{
    transform.localRotation = UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.CenterEye);;
}

所以我将使用此Quaternion旋转相机。但我不知道如何缓慢旋转。

我试图计算算术运算,例如乘法,除法,到Quaternion。但它不起作用

如何计算Quaternion

2 个答案:

答案 0 :(得分:0)

试试这个   Quaternion euler = new Quaternion(); euler.eulerAngles = new Vector3(0,HeadRotation,0); Camera.main.transform.Rotate(euler.eulerAngles);

答案 1 :(得分:0)

只需使用:

transform.localRotation =Quaternion.Lerp( transform.localRotation, UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.CenterEye), Time.deltaTime);