2017-05-23 50 views
1

我對統一旋轉的瞭解是,它在使用四元數的場景背後顯示檢查員的角度。但是當我的檢查員值從正數變爲負數時,我感到驚訝的是,我的本地歐拉角度和檢查員輪換y不一樣。爲什麼LocalEulerAngle與檢查員不同

我用這

transform.localEulerAngles.y 

得到當地歐拉角。 我注意到它正 增加,如:

督察代碼LocalEulerAngle

97.04301:97.04301 //匹配

158.659:158.659 //匹配

-179.094: 180.9064 //不匹配

-170.812:189.1875 //不匹配

+3

它們匹配,它根本不考慮負值。 -179.094不是實際的角度,而是180.906。它基本上是360 - 179.094,相當於您在LocalEulerAngle中看到的180.906。所以在技術上180.906是你正在尋找的角度,它只是不會給消極的角度。 – Alox

+0

那麼,爲什麼我的inse showing不顯示這個價值?檢察官實際上代表什麼 –

回答

0

Unity和所有流行的遊戲引擎都使用Quaternions進行各種旋轉表示和計算。使用歐拉角度,你經常遇到像Gimbal lock這樣的問題,因此它們從不在內部使用。

你在督察看到的是你自己的理解和可視化。四元數難以掌握(我的意思是!),所以它們總是隱藏在不那麼數學天才的普通用戶身上。在代碼中檢索到的值是四元數,用歐拉表示,而檢查器值就是檢查器值。

+0

這個法漢是什麼?「而檢查員的價值觀就是檢查員的價值觀」 –

+0

因此,我的意思是說你可以自由地把例如旋轉。檢查員的X爲-900。這個值,儘管它意味着2.5個完整的360度旋轉,但在內部它將是四元數表示中完全不同的東西。 請參考:http://answers.unity3d.com/questions/645903/please-explain-quaternions.html – Farhan

0

localEulerAngles使用介於0和360之間的值,如documentation.中簡要說明的那樣它們大部分是信息性的。

+0

那麼檢查員的價值是多少? –

+0

檢查器值是從「Quaternion」角度轉換的角度,與「localEulerAngles」相同。但與'localEulerAngles'不同,檢查器值不會在0和360之間夾緊。要從檢查器轉換值,只需添加/減去360,直到值在0和360之間。 –