2016-07-23 232 views
2

在我的Unity场景中,我试图旋转一个立方体与头部运动。这里是我的代码:如何使用四元数来增加Unity的旋转角度

m_cubeName.rotation = Quaternion.Lerp(m_cubeName.rotation, m_Camera.rotation, Time.deltaTime);

看来工作和旋转完全相同角度头上。我想用一个倍率因子,当头部旋转1度时,立方体旋转2度。

那么如何将qooternion旋转值转换为我可以乘以一个因子的东西呢?

回答

2

要按2倍旋转立方体,只需旋转两次:

Quaternion doubleCameraRotation = m_Camera.rotation * m_Camera.rotation; 

m_cubeName.rotation = Quaternion.Lerp(
    m_cubeName.rotation, 
    doubleCameraRotation, 
    Time.deltaTime); 

由非整数因子乘以旋转,你可以使用Quaternion.LerpUnclamped,(或SlerpUnclamped具有更高的精度),那么传递缩放因子为t。例如:

Quaternion doubleCameraRotation = 
    Quaternion.LerpUnclamped(Quaternion.identity, m_Camera.rotation, 2f);