2016-07-23 80 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);