座標
階層に属したオブジェクトの位置を、ワールド座標システムもしくは一般的な座標システムを元に表示します。(くわしくは、 座標マネージャをごらんください)
階層に属したオブジェクトのスケールを、ワールド座標システムもしくは一般的な座標システムを元に表示します。(くわしくは、 座標マネージャをごらんください)
オブジェクトをスケールする場合、オブジェクトモードを使うかどうか注意してください。特にオブジェクトの軸は影響を受けます。(オブジェクトモードとモデルモードの違いをご覧ください)
階層に属したオブジェクトの角度を、ワールド座標システムもしくは一般的な座標システムを元に表示します。(くわしくは、 座標マネージャをごらんください)
この選択メニューはアニメータだけに役立つ機能です。このメニュー内のオプションで、心配されるジンバル固定を最小限に抑えることができます。
次の問題例をご覧ください。
複雑な階層をもったアニメーションのキャラクターがあります。正面からのビューにおいて、単純な下向きの回転で右腕の肩関節をアニメートしたいとします。そこで、上下のそれぞれの位置で指先にキーフレームを作成します。この時点でアニメーションを上の位置から再生すると、腕は、期待される下向きの動きだけをするのはなく、少し曲がってしまうのがわかります(上の画像の一番上右)。これがジンバルロック効果の例です。この例ではそれほど強くはありませんが、極端な例になるとまったく異常ならせん状の動きになってしまうこともあります。
適切な角度の計算順序がこの効果をどのように軽減するのでしょうか。答えは簡単です。アニメートする前にジョイント軸を見て、予定するアニメーションの間に一番少なく回転するのがどの軸なのかを判断するだけで良いのです。この例では、回転の一番少ない軸は左側に印の付いているX軸です。次に、順序オプションからX軸が2番目にあるものを選びます。これによって、最小限でほとんどわからない程度の曲りは残りますが、このオプションを使用する前と比べるとかなり良い結果が得られます。
ジンバル回転オプションは、角度の計算順序を決定するのに役立つもう1つのオプションです。このオプションを有効にして角度ツールを起動します。
回転バンドを使って、予定するアニメーションが指定された方向に動作するかどうかを(アニメートする前に)直接確認することができます。上の画像の左側に、赤、緑、青の回転バンドが配置されていますが、この配置では、回転(赤い矢印)を表すのは不可能なようです(どのバンドも回転平面上にありません)。このアニメーションにはジンバルロックによる問題が生じます。
バンドの1つが回転平面上に乗るかまたはそれに近づく(上の画像では青)まで、様々な順序オプションを試してみてください。この状態でアニメーションを作ると、ジンバルロックによる問題が生じることはほとんどありません。
ジンバルロックについての追加コメント:
2番目の値(下のマークされた領域における中央値)を約90度(または270度)に設定すると、角度の計算順序に相関してリスクが常に高まります。
対応する値を0°かそれに近い値に常に設定しておくと良いでしょう。
これまでもこの問題は、親ヌルオブジェクトをアニメートすることでも防ぐことができました。
ダイアログウインドウの一番下にある固定の選択が役立つこともあります。
クォータニオン
一般
恐ろしいジンバルロック(例えばキャラクターアニメーションに関連したもの)について間違いなく聞いたことがあるでしょう。もしくは個人的にすでに経験済みでしょう!
ジンバルロックは、回転値がヘディングHおよびバンクBが同じ効果のあるP +/- 90°をもつ時に起こります。結果としては、これらの寸法のひとつが完全に失われ、一番小さい回転の際においても大きな回転ジャンプが起こります。
回転アニメーションのみに働くクォータニオン機能が助けとなります。
Cinema 4Dはデフォルトで、オブジェクトの回転を補間するのにオイラー回転を使用します(オイラー: デカップル回転(HPB)のジャイロシステム、ユークリッド(直角)3D空間での補間)。
オイラー回転の個々のコンポーネントは、個別に補間され、それはHPB(0, 0, 0)とHPB(60, 60, 60)からの平均値が例えばHPB(30, 30, 30)となることを意味します。0, 0, 0から30, 30, 30を超え60, 60, 60までの振れが必ずしも最短パスでないということは、ビューポートでテストすることができます。
AからBまでの最短パスを通る補間が必要であり、手動でパスがアニメートされなければならなかった場合、ユーザーが行うことでもあります。
これはまさにクォータニオンが行うことです。クォータニオンは35.104 °、22.83 °、35.104 °を通り0, 0, 0 から60, 60, 60までのパスを通ります。
クォータニオンは、不必要なモーションを作らないことで、ジンバルロックを避けるのです。
クォータニオンアニメーションが何故、原則として全てのオブジェクトに適用されないか不思議に思うかもしれません。その理由は、クォータニオン補間がまたデメリットももつからです。クォータニオンは回転変化が180°より少ないければ問題ありません。これ以上となると、クォータニオンが可能な最短パスを常に探すため、問題が起こりえます。
例
以下の例を見てましょう。
••オブジェクトは与えられた軸のまわりを180°より大きく回転する必要があります。
••キーフレームは初期状態となっており、タイムスライダは回転が終わるフレームまで移動します。オブジェクトは回転し、モーションはキーフレームで設定されます。今のところ、順調です。
クォータニオン機能が使用されるかどうかに関わらず、初期および最終状態において何も変わることはありません。クォータニオン補間は、同じゴールを達成するための異なる方法のみ使用します。
••最初に、Cinema 4Dにおける典型的なオイラー回転方法を見てみましょう。
キーフレームを使用してオブジェクトが回転されました(例: B(バンク)が220°回転し、オブジェクトを時計回りに220°回転)。
••今度はクォータニオン方式です。すでに示したとおり、この補間方式は、最終状態までの可能である最短パスを常に探します。しかし、この例における最短パスは、(見ている人からの画角での)時計回りに220°ではなく、全く反対の向きへの140°回転になります。
クォータニオン回転オプションを有効にすることで、そのオブジェクトに対するクォータニオンアニメーションを有効にします(キーフレームの値はオイラー値と同一になり、それに応じて値間の補間のみが変化)。このオプションが無効の場合、オイラーアニメーション方法が使用されます。
ここで留意すべきは、クォータニオン補間は、ローカル回転トラックにのみ適用でき、固定座標ではできないことです(全て固定を参照)。
他に、一時的な補間への影響に使用されるキーフレームの属性のクォータニオン補間オプションが利用可能です。
オイラーアニメーションへの以下に示す相違点が生じます。
•タイムラインでは、回転トラックの名称は(Q)で補足される。つまり、角度.P (Q)
•タイムラインでは、3つの回転トラック(角度.H/P/B)は、単一ユニットとして見られる。つまり、ひとつのキーフレームがアニメーションで異なる場所に移動した(もしくは作成または削除された)場合、他のものもそれに従う
•キーフレーム接線はクォータニオンによってサポートされていない
•Fカーブとしてのクォータニオンの表示は、技術的観点からしばしば実現可能ではなく(特に2つのキーフレーム間が180°より大きいアニメーションの場合)、そのためほとんど重要視されない
いつクォータニオンアニメーションが使用されるべきで、いつ使用されるべきではないのですか。
クォータニオンアニメーションが使用されるべきであるのは以下の場合です。
•ジンバルロックやジャンピング軸の問題がある場合
クォータニオンアニメーションが使用されるべきでないのは以下の場合です。
•2つのキーフレーム間の回転の違いが180°を超える場合(回転は最短パスに沿って作成)
•Fカーブ(例: タイミングの変更)を微調整したい場合
トランスフォームを固定
この機能は、主にアニメーションだけに使用します。
3Dの世界では、「軸のゼロ化(もしくはデュアルトランスフォーム)」と呼ばれており、オブジェクトの位置などを替えずに、ローカル座標の位置と角度を0、スケールを1に変換します。(次の説明は位置と角度についてのみ当てはまります)これは、該当するオブジェクトをヌルオブジェクトの子として作成して、位置と方向を一致させることと同じです。この方法はR12から使うことができます。
次の図のようにオブジェクトを固定できます:内部的には、選択したオブジェクトの座標にヌルオブジェクトが作成されます。これらは、固定された座標は、表変換を固定タブにコピーされ、ヌル座標にオフセットされたように働きます。一時座標への変更は固定された座標が考慮されます。
これはどんなことに使用するのでしょうか?説明するためには、基本的な概念を説明しなければなりません。
このシーンは、2つのオブジェクトが含まれています:Arm 2は、上の画像に示すように、ローカル座標系があり、Arm 1の子オブジェクトです。属性マネージャの座標は、常にローカル座標です。(これらは、階層の親オブジェクトの座標システムに影響します)ここまではよろしいですね。
ここで、私たちはArm 2をX軸を中心に45 °回転するアニメーションを作成したいとします。通常、私たちは回転バンドを使って、オブジェクトを作成して、2つのキーフレームを設定します:
上の画像の中心を見ると結果がわかります。回転は、一つに軸に対して行われたのに、全ての軸に対して変更が適用されています。これは、親オブジェクトの座標システム(Arm 1)が、ローカル座標と異なった方向になっていることが原因です。多くの場合、この現象は回避できません。タイムラインでは、3つのF-カーブが変更されるため、管理が表示に大変になります。加えて、この例ではArmの角度を続けて行うと、アニメーションジンバルロックも悩まされます。(クォータニオン回転を参照)
これらの副作用の全ては、アニメーション設定の前に座標変換を固定することで回避できます。こうすることで、元の位置、スケール、角度の値は、下欄にコピーされ、初期値はそれぞれ0と1に設定されます。
これには、次のようなメリットがあります:
- 歪んだ座標値は、ゼロに設定されます。しかも、いつでも初期値に戻すことができます。また、それらの角度はXPressoやスライダを使って簡単にコントロールできます。
- すべてのアニメーションのF -カーブは0から始まります。
- 1次元の角度だけなので、ジンバルロックを防止できます。
全て固定のコマンドは、すべての座標(位置、スケール、角度)を固定します。つまり全ての一次座標は、0(スケールは1)に設定されます。
メインの座標は固定した座標で相殺されます。その後、固定した座標は全て0にリセットされます。
これらは、親の階層構造から引き継がれた固定座標です。
この選択メニューはアニメータだけに役立つ機能です。このメニュー内のオプションで、心配されるジンバル固定を最小限に抑えることができます。
次の問題例をご覧ください。
複雑な階層をもったアニメーションのキャラクターがあります。正面からのビューにおいて、単純な下向きの回転で右腕の肩関節をアニメートしたいとします。そこで、上下のそれぞれの位置で指先にキーフレームを作成します。この時点でアニメーションを上の位置から再生すると、腕は、期待される下向きの動きだけをするのはなく、少し曲がってしまうのがわかります(上の画像の一番上右)。これがジンバルロック効果の例です。この例ではそれほど強くはありませんが、極端な例になるとまったく異常ならせん状の動きになってしまうこともあります。
適切な角度の計算順序がこの効果をどのように軽減するのでしょうか。答えは簡単です。アニメートする前にジョイント軸を見て、予定するアニメーションの間に一番少なく回転するのがどの軸なのかを判断するだけで良いのです。この例では、回転の一番少ない軸は左側に印の付いているX軸です。次に、順序オプションからX軸が2番目にあるものを選びます。これによって、最小限でほとんどわからない程度の曲りは残りますが、このオプションを使用する前と比べるとかなり良い結果が得られます。
ジンバル回転オプションは、角度の計算順序を決定するのに役立つもう1つのオプションです。このオプションを有効にして角度ツールを起動します。
回転バンドを使って、予定するアニメーションが指定された方向に動作するかどうかを(アニメートする前に)直接確認することができます。上の画像の左側に、赤、緑、青の回転バンドが配置されていますが、この配置では、回転(赤い矢印)を表すのは不可能なようです(どのバンドも回転平面上にありません)。このアニメーションにはジンバルロックによる問題が生じます。
バンドの1つが回転平面上に乗るかまたはそれに近づく(上の画像では青)まで、様々な順序オプションを試してみてください。この状態でアニメーションを作ると、ジンバルロックによる問題が生じることはほとんどありません。
ジンバルロックについての追加コメント:
2番目の値(下のマークされた領域における中央値)を約90度(または270度)に設定すると、角度の計算順序に相関してリスクが常に高まります。
対応する値を0°かそれに近い値に常に設定しておくと良いでしょう。
これまでもこの問題は、親ヌルオブジェクトをアニメートすることでも防ぐことができました。
ダイアログウインドウの一番下にある固定の選択が役立つこともあります。
これらの各ボタンにより、下記の3つのプライマリ座標を個別に固定できます。
- 位置
- スケール
- 角度