這個問題在這里已經有了答案: 檢查器中顯示哪個旋轉? (1 個回答) 3 天前關閉。
在編輯器中的默認物件旋轉是(物件是一個孩子):
旋轉是 180,0,0
在編輯器中默認旋轉
然后這個代碼:
public void SetState(string jsonString)
{
m_state = JsonUtility.FromJson<State>(jsonString);
if (m_state.open)
{
crateCap.rotation = Quaternion.Euler(90,0,0);
hasOpened = true;
}
else
{
crateCap.rotation = Quaternion.Euler(180, 0, 0);
hasOpened = false;
}
}
我希望它會在其他默認情況下保持旋轉,但是當它使用斷點到達線時:
crateCap.rotation = Quaternion.Euler(180, 0, 0);
我在代碼中看到旋轉是 1.0, 0.0, 0.0, 0.0
代碼輪換
在編輯器中,旋轉是:
180, -111.44, 0
為什么旋轉上的 Y 是 -111.44 而不是我設定的 0?我將它設定為 180, 0, 0
旋轉不是 180,0,0 而是 180,-111.44,0
uj5u.com熱心網友回復:
不完全確定這個,但問題可能來自您的物件是一個孩子這一事實。
transform.rotation設定相對于世界空間的旋轉。
transform.localRotation = Quaternion.Euler(180, 0, 0);改為使用,因為您可能希望您的物件相對于其父物件旋轉。
如果您需要更多資訊,這里有一些有用的鏈接:https : //docs.unity3d.com/ScriptReference/Transform-localRotation.html
https://docs.unity3d.com/ScriptReference/Transform-rotation.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/385949.html
