Blender のリグでオイラー角とクォータニオンのどちらを使うべきか

カテゴリ:blender

XYZ のすべての軸で回転可能(肩や首など)ならばクォータニオン, 2 軸もしくは 1 軸でしか回転しない(下腕や車のタイヤ)ならオイラー角を使う. 面倒ならすべてクォータニオンでも問題ない.

3 軸で回転する場合にクォータニオンを使うのは,オイラー角の欠点であるジンバルロックを避けられるからだ. しかしクォータニオンには最小回転の法則があるため,それ以外ではオイラー角を使う. ジンバルロックは 3 軸のうちのひとつの回転軸が他のどちらかの回転軸と一致するだけで, 1 軸か 2 軸でしか回転しないなら関係がない.

クォータニオンの欠点

オイラー角の欠点であるジンバルロックは有名だが, クォータニオンの欠点である最小回転の法則はあまり知られていない.

クォータニオンの最小回転の法則

例えばクォータニオンで 270° 回転させてキーを打っても,再生すると反対方向に 90° 回転する. さらに 360 の倍数で回転させてキーを打っても全く回転しない. これを避ける簡単な方法はなく,中間にキーフレームを打って回転させるしかない. もしくはコンストレイントの回転コピーやチャイルドを使い,回転用オブジェクトをオイラー角で回転させる.

グラフエディタでクォータニオンの回転量を変更するには

クォータニオンの回転量は W である. ただし軸の角度(Axis Angle)のような直感的な回転量ではないことに注意する必要がある. 軸の角度とクォータニオンの関係は Maths - AxisAngle to Quaternion(英語) を参照.

関連記事
Blender 記事の目次