回転には、他の変換とは違った特別な注意事項がいくつかあります。回転をアニメートする前に、回転の操作とキー設定が可能な変換ノード(「操作モードと変換の値」を参照)、オイラー回転とクォータニオン回転、ジンバル ロック、および連続的な回転について理解しておく必要があります。
Softimage で回転をアニメートする場合は通常、X、Y、および Z の各回転パラメータに接続されている 3 つの個別のファンクション カーブを使用します。これらの 3 つの回転パラメータはオイラー角と呼ばれます。オイラー角は各軸が特定の順序で評価されるため、理解しやすく、コントロールも簡単です。この処理をオイラー補間と呼びます。
オイラー補間は、補間する軸が XYZ 回転軸のいずれかと一致する場合には非常に有効です。しかし、任意の方向を補間する処理には適していません。たとえば、肩などのボール ジョイントの向きや、XYZ 軸以外を中心に転がるオブジェクトの向きをアニメートする場合には、スムーズに補間するのは難しいでしょう。
また、オイラー角は、ジンバル ロックという現象を招く恐れがあります。これは 2 つの回転軸の位置が揃ってしまうために、両軸が同じ方向を指してしまう現象です。これは、XYZ 軸が互いに独立していないために、ある軸の変更がその軸以前のすべての軸に影響を与えることが原因です。たとえば、Y 軸に 90 度の回転を適用すると、X 軸と Z 軸は重なり合い、X 軸方向と Z 軸方向の回転の効果が両方とも同じになります。
ジンバル ロックは、ジンバル ロックが起こる箇所の回転軸を評価する順序を変更することで解決できる場合があります(デフォルトでは、XYZの順で評価されます)。詳細については、「ボーンの回転順序を変更する」を参照してください。
クォータニオン補間はオイラー角が持つ限界を克服する方法であり、スムーズな補間により滑らかに続く回転を生み出します。このタイプの補間では、XYZ 角はオブジェクトの向きを決定するための 1 つの単位として扱われ、特定の回転軸の順序による制限を受けません。クォータニオンは、2 つの回転の間で最短のパスを補間します。
Softimage でクォータニオンの F カーブを作成するには、クォータニオンのキーを設定するか、オイラーをクォータニオンのファンクション カーブに変換します。作成されたカーブは真のクォータニオン カーブですが、FCurve Editor には、編集しやすいように 3 つの個別の F カーブとして描画されます(オイラー回転の F カーブと同様の表示です)。
これら 3 つの F カーブはその基となるクォータニオン F カーブの近似であるため、XYZ 角が急に変化する場所では不連続になる可能性があります(不連続性のファンクション カーブのように表示される可能性があります)。これは表示上の問題であり、補間には影響ありません。通常、これらの不連続性は F カーブの回転を連続化することで最小にできます(「回転を連続化する」を参照)。
1 つのクォータニオン F カーブにキーを設定、削除、または移動すると、3 つの F カーブすべてに変更が適用されます。回転全体がクォータニオン F カーブによって補間されているためです。
クォータニオン F カーブは、通常の F カーブの場合と同様に、F カーブ エディタと DopeSheet の両方で編集できます。ただし、クォータニオン F カーブには一般的な F カーブのスロープの編集に使用するタンジェントはありません。代わりに、専用のパラメータを使用して F カーブの補間を編集します(「クォータニオン F カーブを編集する」を参照)。
オイラー回転からクォータニオン回転への変換、また逆にクォータニオン回転からオイラー回転への変換は、簡単な作業です。ただし、ほとんどの変換と同様に、その処理過程で情報が変更されます。これは、クォータニオン F カーブが XYZ 回転値の全体に対して 1 つのキーを格納しているからです。
オイラー F カーブをクォータニオン F カーブに変換する際には、XYZ の F カーブの各キーにクォータニオン キーが追加されます。たとえば、フレーム 5 にオイラー回転の X パラメータのキーがあり、Y パラメータと Z パラメータのキーはない場合、フレーム 5 で XYZ 値をサンプリングすることによって各回転パラメータのクォータニオン キーが生成されます。
また、オイラー F カーブのスロープ(タンジェント)情報は、クォータニオンに変換したときに失われます。
オイラー回転のFカーブを持つオブジェクトを選択し、[Animation]パネルで[Animation] [オイラー回転をクォータニオンへ変換](Convert Euler Rotation to Quaternion)を選択します。
[クォータニオンキー]コントロールを使用して、FCurb Editor でクォータニオン カーブのタイミングと補間を編集します(「クォータニオン F カーブを編集する」を参照)。
クォータニオン回転 F カーブを作成するキー設定は、オイラー回転 F カーブとほぼ同じです。違いは、(オイラーまたはクォータニオンのどちらかの)回転 F カーブが既にあるオブジェクトに対してのみクォータニオン回転をキー設定できることです。オブジェクトの回転をクォータニオンに指定してキーを設定すると、スムーズな補間が生成されます。
[Animation]パネルで[Animation] [オイラー回転をクォータニオンへ変換](Convert Euler Rotation to Quaternion)を選択します。
[クォータニオンキー]コントロールを使用して、FCurve Editor でクォータニオン カーブのタイミングと補間を編集します(「クォータニオン F カーブを編集する」を参照)。
360 度またはそれ以上の角度で回転をアニメートすると、回転が逆転したり、回転がフリーズする問題が起こる場合があります。回転値が同じでも反対方向に回転するように認識されることがあるためです。たとえば、車輪を Y 方向に 360 度回転させようとすると、180 度までは該当の方向に回転しますが、その後は逆方向に 180 度回転して元の値に戻ってしまいます。
回転の F カーブを連続的にすることで、反転する現象は解消されます。Fカーブ上の 2 つのキーに 180 度以上の差がある場合、2 番目のキーを 180 度オフセットすれば、オブジェクトは同じ向きで連続的に回転します。
アニメーションを Animation Mixer のアクションとしてストレッチ、ミックス、または操作する予定がある場合には、回転を連続化しておきます。