クォータニオンは回転を表すのに使用されます。
クォータニオンはコンパクトで、ジンバルロックに悩まされず、簡単に補間することができます。
Unity は内部的に使用され、すべての回転を表せます。
クォータニオンは複素数に基づいており、直感的に理解するのは容易ではありません。個々のクォータニオンの成分 (x,y,z,w) にアクセスしたり変更したりすることはほとんどありません。たいてい、既存の回転 (例えば、Transform から取得) を使用して新しい回転を構築するために使用します (例えば、2 つのローテーションの間を円滑に補間するなど)。使用する Quaternion 関数の 99% は、Quaternion.LookRotation、Quaternion.Angle、Quaternion.Euler、Quaternion.Slerp、Quaternion.FromToRotation、Quaternion.identity です (他の関数が使用されることはほとんどありません)。
Quaternion.operator * を使用して、1 つの回転をもう 1 つの回転でさらに回転させたり、ベクトルを回転によって回転させることができます。
Unity はクォータニオンは正規化されることを前提としています。
identity | 単位回転 (読み込みのみ可) |
eulerAngles | Returns or sets the euler angle representation of the rotation. |
this[int] | イデックスによって x、y、z、w にアクセスする。 |
w | W component of the Quaternion. Do not directly modify quaternions. |
x | クォータニオンの x 成分。クォータニオンを熟知していない限り、この値を直接変更しないでください。 |
y | クォータニオンの Y 成分。クォータニオンを熟知していない限り、この値を直接変更しないでください。 |
z | クォータニオンの Z 成分。クォータニオンを熟知していない限り、この値を直接変更しないでください。 |
Quaternion | 与えられた x、y、z、w 成分で新規のクォータニオンを作成します。 |
Set | 既存の Quaternion に x、y、z、w の成分を設定します |
SetFromToRotation | fromDirection から toDirection への回転を作成します。 |
SetLookRotation | 指定された forward と upwards 方向に回転します。 |
ToAngleAxis | 回転を座標に対する角度の値 (AngleAxis) に変換します。 |
ToString | クォータニオンの値を見やすくした文字列を返します。 |
Angle | 2 つの回転 a と b 間の角度を返します。 |
AngleAxis | axis の周りを angle 度回転する回転を作成します。 |
Dot | 2 つの回転の内積を返します。 |
Euler | Returns a rotation that rotates z degrees around the z axis, x degrees around the x axis, and y degrees around the y axis. |
FromToRotation | fromDirection から toDirection への回転を作成します。 |
Inverse | /rotation/の逆クォータニオンを返します。 |
Lerp | a と b の間を t で補間し、その後、その結果を正規化します。パラメーター t は、[0, 1] の範囲です。 |
LerpUnclamped | a と b の間を t で補間し、その後、その結果を正規化します。パラメーター t は[0,1]の範囲にクランプされていません。 |
LookRotation | 指定された forward と upwards 方向に回転します。 |
RotateTowards | from から to への回転を得ます。 |
Slerp | a と b の間を t で球状に補間します。パラメーター t は、[0, 1] の範囲です。 |
SlerpUnclamped | a と b の間を t で球状に補間します。パラメーター t は、限られていません。 |
operator * | lhs と rhs の回転を組合わせます。 |
operator == | 2 つのクォータニオンは互いに一致するかどうか |