Unity中Quaternion的含義及其使用

官網API文檔:
file:///Applications/Unity/Unity.app/Contents/Documentation/html/en/ScriptReference/Quaternion.html

Quaternion的意思是四元數,用於代表旋轉。

它們是緊緻的,不會產生萬向節死鎖並且能夠很容易被插值。Unity內使用Quaternion表示所有的旋轉動作。(萬向節是什麼可以百度下)

四元數是基於複數的,並不容易被直觀地理解,因此你基本上從來不需要訪問或修改單個Quaternion組件(x,y,z,w);通常你只需要拿到現有的旋轉(例如,來自Transform)並使用它們來構造新的旋轉(例如,在兩個旋轉間平滑地插值)。四元數函數的應用中,99%的時間是在應用以下函數(其他函數僅額外使用)Quaternion.LookRotation, Quaternion.Angle, Quaternion.Euler, Quaternion.Slerp, Quaternion.FromToRotation, Quaternion.identity。

你可以使用Quaternion.operator *來將某一次旋轉通過另一個旋轉角度旋轉,或由一個旋轉角度來旋轉一個向量。

靜態變量:
identify
identify是一個只讀變量。這個四元數相當於沒有旋轉,即仍爲物體本身。

變量:
eulerAngles
返回表示旋轉的歐拉角度。
this [int index]
分別使用 [0]、[1]、 [2]、 [3],訪問x、y、z、w組件。
W
四元數的W組件。不要直接修改此組件,除非你很瞭解四元數。
X
四元數的X組件。不要直接修改此組件,除非你很瞭解四元數。
Y
四元數的Y組件。不要直接修改此組件,除非你很瞭解四元數。
Z
四元數的Z組件。不要直接修改此組件,除非你很瞭解四元數。

構造器:
Quaternion
用給定的x、y、z、w組件,構造新的四元數。

函數:
Set
爲一個已經存在的四元數設定x,y,z,w組件。
SetFromToRotation
創建一個從fromDirection到toDirection的旋轉。
SetLookRotation
創建一個有具體的forward和upward方向的旋轉。
ToAngleAxis
將旋轉轉換爲用“角-軸”表示。
ToString
返回一個完整格式化的四元數字符串。

靜態方法:
Angle
返回兩個旋轉a和b兩者之間的角度。
AngleAxis
繞axis軸旋轉angle,創建一個旋轉。
Dot
兩個旋轉之間的點乘。
Euler
返回一個旋轉角度,繞z軸旋轉z度,繞x軸旋轉x度,繞y軸旋轉y度。
FromToRotation
從fromDirection到toDirection創建一個旋轉。
Inverse
返回旋轉的反向旋轉。
Lerp
通過t值from向to之間插值,並且在操作之後將結果規範化。
LookRotation
創建一個有具體的forward和upward方向的旋轉。
RotateTowards
旋轉一個角度從from向to。
Slerp
球形插值,通過t值from向to之間插值。

運算符:
operator !=
判斷兩個四元數是否不等
operator *
合併兩個旋轉
operator ==
判斷兩個四元數是否相等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章