2016-04-25 128 views
0

我想在Unity 3D中製作Vector3旋轉。但是,旋轉軸不能正確旋轉。這是因爲,我同時旋轉兩個軸x和y。我必須分開兩次輪換。我能做什麼?感謝你們對我的幫助。 Vector3 start = new Vector3(0,0,0) Vector3 target = new Vector3(0,0,0) transform.localEulerAngles = Vector3.Lerp(start,target,time)Vector3 Lerp旋轉

+2

請張貼代碼的相關片段,你已經嘗試過。 –

+0

Vector3 start = new Vector3(0,0,0); Vector3 target = new Vector3(x,y,z); transform.localEulerAngles = Vector3.Lerp(start,target,time); – Acceleboy

+0

請修改您的問題以包含附加代碼。 – buczek

回答

1

通過Vector3.Lerp使用的Vector3旋轉很容易出現萬向鎖的問題是,你可能會遇到什麼。

lerp通過旋轉的最佳方法是使用transform.Rotate();函數。

或者,您可以使用Quaternion.Lerp();並使用Quaternion.Euler();創建開始和結束四元數。這會給你帶來最可靠的結果,因爲Quaterion的旋轉比Vector3更復雜,並且消除了你在Vector3旋轉中遇到的任何問題。

編輯:請記住發佈您的代碼的完整片段。 Lerp表示線性插值,它需要t從0到1,其中0是起點,1是終點。許多人使用這個功能錯誤,並提出問題。因爲我不能看到你的代碼,但是我認爲你做了這個正確的,但我不知道,除非我看到實際的代碼:)