回転をアニメートする

 
 
 

回転には、他の変換とは違った特別な注意事項がいくつかあります。回転をアニメートする前に、回転の操作とキー設定が可能な変換ノード(「操作モードと変換の値」を参照)、オイラー回転とクォータニオン回転、ジンバル ロック、および連続的な回転について理解しておく必要があります。

オイラー回転とクォータニオン回転

Softimage で回転をアニメートする場合は通常、X、Y、および Z の各回転パラメータに接続されている 3 つの個別のファンクション カーブを使用します。これらの 3 つの回転パラメータはオイラー角と呼ばれます。オイラー角は各軸が特定の順序で評価されるため、理解しやすく、コントロールも簡単です。この処理をオイラー補間と呼びます。

オイラー補間は、補間する軸が XYZ 回転軸のいずれかと一致する場合には非常に有効です。しかし、任意の方向を補間する処理には適していません。たとえば、肩などのボール ジョイントの向きや、XYZ 軸以外を中心に転がるオブジェクトの向きをアニメートする場合には、スムーズに補間するのは難しいでしょう。

また、オイラー角は、ジンバル ロックという現象を招く恐れがあります。これは 2 つの回転軸の位置が揃ってしまうために、両軸が同じ方向を指してしまう現象です。これは、XYZ 軸が互いに独立していないために、ある軸の変更がその軸以前のすべての軸に影響を与えることが原因です。たとえば、Y 軸に 90 度の回転を適用すると、X 軸と Z 軸は重なり合い、X 軸方向と Z 軸方向の回転の効果が両方とも同じになります。

ジンバル ロックは、ジンバル ロックが起こる箇所の回転軸を評価する順序を変更することで解決できる場合があります(デフォルトでは、XYZ の順で評価されます)。詳細については、「ボーンの回転順序を変更する」を参照してください。

クォータニオン補間について

クォータニオン補間はオイラー角が持つ限界を克服する方法であり、スムーズな補間により滑らかに続く回転を生み出します。このタイプの補間では、XYZ 角はオブジェクトの向きを決定するための 1 つの単位として扱われ、特定の回転軸の順序による制限を受けません。クォータニオンは、2 つの回転の間で最短のパスを補間します。

A

X 軸および Y 軸で 90 度回転する円錐。2 つのカーブは、オイラーの軌道とこれらのアニメートされた値のクォータニオン補間を示しています。

B

オイラー補間によるパス

C

クォータニオン補間によるパス

D

回転値のオイラー補間。最終地点まで少し遠回りしていることに注目してください。

E

回転値のクォータニオン補間。最終地点まで直線的なパスで到達していることに注目してください。

クォータニオンのファンクション カーブ

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 カーブを保持する場合は、F カーブをアクション ソースに格納することができます。後で元の F カーブに戻す場合には、再度このアクション ソースをオブジェクトに適用します。詳細については、「アクション」を参照してください。

オイラー回転をクォータニオン回転に変換するには

  1. オイラー回転のFカーブを持つオブジェクトを選択し、[Animation]パネルで[Animation] [オイラー回転をクォータニオンへ変換](Convert Euler Rotation to Quaternion)を選択します。

  2. [クォータニオンキー]コントロールを使用して、FCurb Editor でクォータニオン カーブのタイミングと補間を編集します(「クォータニオン F カーブを編集する」を参照)。

クォータニオン回転をオイラー回転に変換するには

  1. クォータニオンFカーブを持つオブジェクトを選択し、[Animation]パネルで[Animation] [クォータニオン回転をオイラーへ変換](Convert Quaternion Rotation to Euler)を選択します。

  2. 通常と同じようにオイラー ファンクション カーブを編集します。

クォータニオン回転のキーを設定する

クォータニオン回転 F カーブを作成するキー設定は、オイラー回転 F カーブとほぼ同じです。違いは、(オイラーまたはクォータニオンのどちらかの)回転 F カーブが既にあるオブジェクトに対してのみクォータニオン回転をキー設定できることです。オブジェクトの回転をクォータニオンに指定してキーを設定すると、スムーズな補間が生成されます。

クォータニオン回転 F カーブを作成するには

  1. オイラーまたはクォータニオン回転 F カーブのいずれかを持つオブジェクトを選択します。

  2. [Animation]パネルで[Animation] [オイラー回転をクォータニオンへ変換](Convert Euler Rotation to Quaternion)を選択します。

    オイラー回転 F カーブを持つオブジェクトを選択した場合には、簡単にクォータニオンに変換できます。

  3. 通常どおりに回転をキー設定すると、作成される F カーブはクォータニオンになります。

    ある回転軸にキーを設定すると、残り 2 つの回転軸に対しても対応するキーが作成されます。

  4. [クォータニオンキー]コントロールを使用して、FCurve Editor でクォータニオン カーブのタイミングと補間を編集します(「クォータニオン F カーブを編集する」を参照)。

回転を連続化する

360 度またはそれ以上の角度で回転をアニメートすると、回転が反転したり、回転がフリーズする問題が発生する場合があります。回転値が同じでも反対方向に回転するように認識されることがあるためです。たとえば、車輪を Y 方向に 360 度回転させようとすると、180 度までは該当の方向に回転しますが、その後は逆方向に 180 度回転して元の値に戻ってしまいます。

回転のFカーブを連続的にすることで、反転する現象は解消されます。F カーブ上の 2 つのキーに 180 度以上の差がある場合、2 番目のキーを 180 度オフセットすれば、オブジェクトは同じ向きで連続的に回転します。

ストレッチしたり、ミックスしたり、アニメーションミキサのアクションとしてアニメーションを操作しようと計画している場合には、回転を連続させておきます。

  • FCurve Editor でF カーブを選択し、FCurve Editor のコマンド バーから[カーブ](Curves) [オイラー フィルタ](Euler Filter)を選択します。

回転のキーを連続化する

一度に複数の回転 F カーブを処理する場合には、[アニメーション]パネルから[回転キーの連続化](Make Rotation Keys Continuous)コマンドを選択します。このコマンドは、オブジェクトのすべての回転カーブを X、Y、Z 方向の個々の回転のファンクション カーブとしてではなく、全方向をひとまとめにして扱います。

また、このコマンドは、連続したオイラー角回転でのキーフレーム間の変化を最小にするため、選択したオブジェクトのローカルおよびグローバル回転のキーフレームを処理します。これにより、キーとキーの間で値が連続的になります。

  1. 回転 F カーブを持つオブジェクトを選択します(オイラー、クォータニオンのどちらでもかまいません)。

  2. Softimage ウィンドウ下部の[Animation]パネルから[Animation] [回転キーの連続化](Make Rotation Keys Continuous)を選択します。