非 Biped の群集

モーション統合を使用すると、Biped をアニメートするとき(「Biped の群集」を参照)には群集動作とモーション フロー ネットワーク組み合わせから、非 Biped の生物を操作するときには群集動作とクリップ コントローラの組み合わせからキャラクタ モーションを取得できます。後者の場合は、グローバル モーション クリップ コントローラとドライバ モーション クリップ コントローラを使用して、鳥、蝶、魚群、昆虫などの生物グループをアニメートできます。これらのクリップ コントローラは、トラック ビューのブロック コントローラ、または群集ヘルパーの[グローバル クリップ コントローラ](Global Clip Controllers)ロールアウト コントロールを使用して作成できます。

アニメーションへの 2 つの方法

変換モーションが無いルーピング アニメーションでのその場固定のアニメート(羽をはばたかせる鳥など)、またはアニメーションへの変換モーションを取り入れる(鳥が羽をはばたかせながら上方へ移動) 2 種類の方法があります。その場歩きの巡回モーションでは、鳥や魚が飛んだり泳いだりする動作に役立ち、横方向のモーションでは、足が地について滑らない這うタイプの動作に役立ちます。どちらを使用するかにより、[モーション クリップ](Motion Clips)タブか統合ダイアログ ボックスを選択します。どちらの場合でも、これらの代理オブジェクトにリンクされている、生物を動かす動作によって動かされる群集の代理オブジェクトを使用します。

注: モーション統合用のモデルをアニメートするには、モディファイヤをモデルに適用してからパラメータをアニメートします。ベンド、テーパ、波、Xフォームなどのモディファイヤを使用すると、モーション統合で使用できるアニメーションが生成されます。編集可能なメッシュ オブジェクトの頂点のアニメーションなど、サブオブジェクト アニメーションは使用しないでください。

巡回のその場固定アニメーション

まず、羽のはばたき、滑走、左旋回、右旋回などの複数の短いループ サイクルの生物を作成します。この生物はグローバル オブジェクトまたはモーション クリップから派生するマスター オブジェクトとして割り当てられます。次にオリジナルの生物のコピーが作成されます。このコピーは代理オブジェクトに置かれリンクされます。状態に基づき、再生されるクリップを選択するための状態が作成されます。

たとえば、鳥(代理オブジェクト)が加速しているとき、速くはばたくクリップが使用され、その鳥(代理オブジェクト)が停止するために速度を落としているときは、羽が休止しているクリップが使用されます。統合では、代理オブジェクトの速度と方向により、どの状態がアクティブになるか判断します。アクティブな状態では、オリジナルのオブジェクトのコピーにどのクリップが適用されるかが判断されます。クリップはアニメーションを作成するために一緒にブレンドされます。利用可能な状態は速度、加速度、ピッチ、ピッチ速度、ヘッディング速度、またはスクリプト(MAXScript)です。

水平方向のアニメーション

複数の足を持つ生物には、足の巡回動作と一致するように水平の動作をアニメートできます。これは、生物の足が、動きにつれて滑らないことを保証します。character studio は、水平の動作の情報を使用して、実際の動作に完全に合致する状態を作成します。その後、実際の動作を取り除きます。代理オブジェクトがその状態に記録された速度と方向に接近すると、適切なモーション クリップが実行されます。この操作により足の滑りが最小になります。

群集ツールを使用して、動作オブジェクトの元の動作を作成します。たとえば、探査や回避の動作を使用して、鳥を前に進めます。ループ アニメーションのオブジェクトはコピーされ、コピーは代理オブジェクトにリンクされて完全なアニメーションが作成されます。代理オブジェクトはパスを操作し、クリップ コントローラはループ アニメーションを操作します。

ドライバ モーション クリップとグローバル モーション クリップをトラック ビュー内に作成するには、コントローラを[ブロック コントロール](Block Control)で利用できるコントローラに割り当てます。より簡単に作成するには、[グローバル クリップ コントローラ](Global Clip Controller)ロールアウトの群集ヘルパー コントロールを使用して、クリップ コントローラを適用および使用します。

グローバル モーション クリップ

グローバル モーション クリップには、複数のドライバ モーション クリップで共有されるクリップが保存され、統合時にクローンとして作成されたオブジェクトに割り当てられます。また、グローバル モーション クリップはクリップに関連した軌道と状態のオブジェクトの集まりに対してのモーション統合を行います。モーション統合のコントロールは、統合ダイアログ ボックスにあります。

モーション クリップ キーがスケールされ順番付けされる方法は、ユーザが定義する状態によって異なります。各状態は、1 つ以上のモーション クリップを含み、状態がアクティブなときに表示されます。

ドライバ モーション クリップ

ドライバ モーション クリップは、モーション クリップまたはアニメーションの個々のクリップを含むコントローラです。アニメーションを作成するときには、マスター モーション クリップが順番に並べられ、クリップ間のトランジションを滑らかにするために、自動ブレンド機能によってわずかにオーバーラップされます。

手順

非 Biped の生物でモーション統合を使用するには:

    クリップのコピーや統合に関係するすべての作業は、統合ダイアログ ボックスのコントロールを使用して行われます。このダイアログ ボックスは、[モーション クリップ](Motion Clips)、[状態](State)、および[統合](Synthesis)の 3 つのパネルで構成されます。

    この手順では、グローバル オブジェクトが静的で、ループするアニメーションを持つことを前提としています。多足生物に対しては、グローバル オブジェクトに横方向のモーションをアニメートし、統合ダイアログ ボックスで横方向のモーションを取り除くことができます。後者の方法を使用すると、多足生物で足がスライドするのが最小限に抑制されます。

  1. オブジェクトをアニメートします。

    Biped の羽ばたきなど、1 つの位置でアニメーションを作成します。滑走モーション(羽は静止)、ゆっくりした羽ばたきなど、多種のアニメーションを作成します。オブジェクトをアニメートするには、モディファイヤを適用してからパラメータをアニメートします。

    オブジェクトをアニメートすると、グローバル オブジェクトになり、アニメーション クリップが作成されます。

  2. [作成](Create)パネル ([ヘルパー](Helpers)) [オブジェクト タイプ](Object Type)ロールアウトを使用して、群集オブジェクトと代理オブジェクトを追加します。

    トップ ビューポートまたはパース ビューポートでオブジェクトを作成します。

  3. 群集オブジェクトの ([スキャッタ](Scatter))ツールを使用して代理オブジェクトのクローンを作成し、必要に応じてそれらのクローンを配置します(手動で配置することもできます)。

    代理オブジェクトの数とアニメートしたオブジェクトのクローンの数が同じになるようにします。

    オブジェクトを代理オブジェクトに関連付けて、リンクします。

  4. [セットアップ](Setup)ロールアウトの ([オブジェクト/代理オブジェクトの関係付け](Object/Delegate Associations))をクリックします。

    [オブジェクト/代理オブジェクトの関係付け](Object/Delegate Associations)ダイアログ ボックスが表示されます。

  5. オブジェクトと代理オブジェクトを、該当する列に追加します。
  6. [オブジェクトを代理オブジェクトに位置合わせ](Align Objects With Delegates)をクリックし、[オブジェクトを代理オブジェクトにリンク](Link Objects To Delegates)をクリックします。次に、[OK」 をクリックして、ダイアログ ボックスを終了します。

    オブジェクトは、自動的に代理オブジェクトに位置が揃えられ、代理オブジェクトにリンクされます。

    動作を使用して、代理オブジェクトをアニメートします。動作の使用方法の詳細は、「動作を割り当てる」を参照してください。

    シミュレーションを計算すると、クローンとして作成されたオブジェクトが、動作に誘導された代理オブジェクトを追跡します。次に、代理オブジェクトの動きに基づいて、モーション統合を生成します。

  7. 群集オブジェクトを 選択します。 [修正](Modify)パネル [グローバル クリップ コントローラ](Global Clip Controllers)ロールアウトで[新規作成](New)をクリックします。[選択](Select)ダイアログ ボックスを使用して、手順 1 で作成したグローバル オブジェクトを選択します。

    [グローバル クリップ コントローラ](Global Clip Controllers)ロールアウトのリストにオブジェクトが表示されます。

  8. リストでオブジェクトをクリックし、[編集](Edit)ボタンをクリックします。

    [統合](Synthesis)ダイアログ ボックスが表示されます。オブジェクトの名前がダイアログ ボックス名になります。

  9. [モーション クリップ](Motion Clips)パネルで、[グローバル オブジェクトから](From Global Object)および[ローカルを削除](Remove Local)領域のチェック ボックスのチェックマークをすべてはずします。

    これらのオプションは、オリジナルのオブジェクトに足跡を調整するための横方向のモーションが含まれている場合のみ使用します。

  10. [モーション クリップ](Motion Clips)パネルで[新規作成](New)をクリックします。

    [モーション クリップ パラメータ](MotionClip Parameters)ダイアログ ボックスが開き、モーション クリップの名前、カラー、およびフレーム範囲を設定します。

  11. モーション クリップに対し、わかりやすい名前とフレーム範囲を選択します。

    たとえば、フレーム 0 から 10 を滑走アニメーションにするなどです。

  12. 引き続き、グローバル オブジェクトのアニメーションから別のフレーム範囲を使用して、クリップを定義します。クリップには、わかりやすい名前を付けます。

    次に、状態を定義します。この状態のパラメータにより、モーション統合で各クリップが使用されるタイミングが決まります。

  13. [状態](State)パネルをクリックしてから、[新規状態](New State)をクリックします。

    新しい状態が、[統合の状態](Synthesis States)領域の上部にあるドロップダウン リストに追加されます。この状態にわかりやすい名前を付けます。多くの場合、関連付けるモーション クリップと同じ名前を状態に使用することができます。

    次に、状態パラメータを指定します。関係付けられたオブジェクトがモーション クリップを使用するときの、代理オブジェクトの動作が決まります。たとえば、滑走モーションは、加速が 0 より小さい場合のみアクティブにします。

  14. [プロパティを編集](Edit Properties)をクリックし、速度、加速などの組み合わせに基づいてクリップをアクティブにする方法を定義します。該当する各タブをクリックして、[~を使用](Use ...)にチェックマークを付け、パラメータを設定します。 [終了](Exit)をクリックしてダイアログ ボックスを閉じます。

    範囲を使用するときは、[最小](Min)設定は[最大](Max)設定より小さくなければなりません。たとえば、負の範囲(-180 から -10 など)を使用する場合は、絶対値が大きい方(-180)を[最小](Min)設定として入力します。

    ここまでの操作で、モーション クリップをいくつか作成しました。ここで、クリップをこの状態に関連付けます。たとえば、加速が 0 未満の状態を定義した場合は、Glide クリップをこれに関連付けます。

  15. [モーション クリップ](MotionClips)領域の[クリップを追加](Add Clip)をクリックし、[モーション クリップを選択](Select MotionClip)ダイアログ ボックスでクリップをハイライトして、[OK]をクリックします。
  16. モーション統合で使用する状態ごとに、手順 14 と 15を繰り返します。
  17. [統合](Synthesis)パネルに移動し、[新しいドライバ モーション クリップ](New Driver Motion Clip)をクリックして、クローンしたオブジェクトをすべて追加します。
  18. [すべて自動ブレンド](Auto Blend All)をクリックし、[すべて統合](Synthesize All)をクリックします。

    進行状況バーが表示され、統合が行われます。統合が完了すると、統合ダイアログ ボックスが再表示されます。[状態](State)パネル [プロパティを編集](Edit properties)をクリックすると、クリップの状態パラメータの範囲と平均値が表示されます。これらの値は、状態プロパティを微調整するときに使用します。

    [OK]をクリックして[統合](Synthesis)ダイアログ ボックスを閉じます。

  19. ([アニメーションを再生](Play Animation))をクリックします。シミュレーションを再度計算する必要はありません。

    オブジェクトは代理オブジェクトを追跡し、代理オブジェクトのモーションおよび作成した状態に従ってアクティブになるクリップを使用してアニメートされます。