アニメーション レイヤ(レイヤ コントローラ)

アニメーション レイヤ機能を使用すると、同じオブジェクトで複数のアニメーション トラックを組み合わせることができます。アニメーションをテストする際には、異なるアニメーションをレイヤに保存して、必要に応じてレイヤをオンまたはオフに設定したり重み設定とマージしたりできます。ほとんどの場合、この機能を使用する最良の方法は、このトピックの「インタフェース」のセクションで説明されている[アニメーション レイヤ](Animation Layers)ツールバーのコマンドを使用する方法です。

[アニメーション レイヤ](Animation Layers)は、[リスト コントローラ](List Controller)と Biped レイヤ システムの機能に類似していますが、これらよりもアニメータが簡単に使用できます。また、より柔軟に使用することができます。

アニメーション レイヤを有効にする

選択したオブジェクトのアニメーション レイヤを有効にすると、3ds Max は、[アニメーション レイヤを有効にする](Enable Anim Layers)ダイアログ ボックスで指定した各アニメーション トラックにレイヤ コントローラを割り当てます。

3ds Max はレイヤ コントローラを追加する際に、元のコントローラを最初のレイヤ(Base Layer と呼ばれる)にコピーし、既存のアニメーション データをすべて保持します。

注: Base Layer は新しいレイヤではありません。レベルは他のコントローラ トラックと同じです。

アニメーション レイヤを有効にする前の元のコントローラ

レイヤ コントローラの Base Layer に、元のコントローラがネストされます。

レイヤ コントローラを元のコントローラに戻すには、[アニメーション レイヤ](Animation Layers)ツールバーの[アニメーション レイヤ無効](Disable Anim Layer)をクリックします。[使用不能にする](Disable)コマンドは、[基本レイヤ](Base Layer)のみが存在する場合に限り使用できます。オブジェクトに複数のアニメーション レイヤが含まれている場合は、あらかじめアニメーション レイヤを削除するか、集約しておく必要があります。

ヒント: レイヤ コントロールは、[レイヤ コントローラ](Layer Controller)ダイアログ ボックスで無効にすることもできます。
注: [アニメーション レイヤを有効にする](Enable Anim Layers)ダイアログ ボックスでトラックをオフに設定しても、無効になりません。

レイヤ コントローラは、コントローラ トラックのリーフ レベル(マテリアルの[拡散反射光カラー](Diffuse Color)トラックなど)、またはブランチ レベル([位置](Position)トラックなど)に割り当てることができます。

レイヤ コントローラは、3 番目のブランチ レベルのトラックに割り当てられます。

レイヤ コントローラはリーフ レベルのトラックに割り当てられます。

レイヤを有効にする際に、選択したオブジェクトに既にリスト コントローラ トラックが含まれている場合、そのコントローラは新しいレイヤ コントローラの[基本レイヤ](Base Layer)内に保持されます。

元のリスト コントローラ

新しいレイヤ コントローラにリスト コントローラがネストされます。

注: レイヤ コントローラをリストコントローラまたは別のレイヤ コントローラ内にネストすることはできません。

アニメーション レイヤを使用する

[アニメーションレイヤ]ツールバーのアニメーション レイヤ リストには次のように機能します。一般的なワークフローの例については、このトピックの後の「手順」のセクションを参照してください。

各アニメーション レイヤにはグローバル パラメータである重み値があります。この値を変更すると、アクティブ レイヤ内のすべてのコントローラに影響します。リスト コントローラと同様に、レイヤの重みをアニメートできます。また、[トラック バー](Track Bar)サブメニューの[フィルタ](Filter)を使用して、作成されたキーをトラック バーに表示したり非表示にしたりできます。

新しいアニメーション レイヤを追加する際に、既存のレイヤに既に使用されている名前を選択できます。既存の名前を選択すると、両方のレイヤの重みトラックがリンクされます(つまり、インスタンス化されます)。

レイヤを含むシーンを合成、外部参照する

レイヤを含むソース シーン(またはオブジェクト)を合成、または外部参照してメイン シーンに使用すると、ソースのレイヤがメイン シーンのレイヤ リストに追加されます。

注: 外部参照オブジェクトまたはシーン内のすべてのアニメーションは、外部参照コントローラ内に保持されます。外部参照オブジェクトまたは外部参照コントローラをメイン シーンに合成しない限り、編集することはできません。

合成または外部参照したシーンのレイヤ名がメイン シーンのレイヤ名と一致する場合、両方のレイヤは同期化されます。つまり、両方のレイヤに対して重みトラックがインスタンス化されます。

レイヤを集約する

以下のいずれかの条件が満たされている場合、レイヤを集約すると、キーが合成されます。

ただし、さまざまな要因により、フレームごとに集約される(つまり、フレームごとにキーが設定される)可能性があります。

手順: アニメーション レイヤをワークフローに統合する

以下の一連の手順では、アニメーション レイヤをワークフローで使用し、異なるアニメーション トラックをすばやく作成して、同じオブジェクトに組み合わせて使用する方法を説明します。以下の手順を実行する前に、アニメーションとキー作成の基本について理解しておく必要があります。

例: レイヤを有効にするには:

  1. ティーポットを作成します。 をオンにし、フレーム 15 とフレーム 30 のティーポットを 移動して短いアニメーションを作成します。

    既定値では、フレーム 1 にもキーが自動的に作成されます。開始キーはフレーム 0 ですが、この例では気にしなくてかまいません。

  2. メイン ツールバーで[アニメーション](Animation) [アニメーション レイヤ](Animation Layers)を選択します。

    [アニメーション レイヤ](Animation Layers)ツールバーが開きます。

  3. ティーポットが選択されていることを確認し、 ([アニメーション レイヤを有効にする](Enable Anim Layers))をクリックします。
  4. [アニメーション レイヤを有効にする](Enable Anim Layers)ダイアログ ボックスで、[位置](Position)トラックのみをオンにして、[OK]をクリックします。

    新しいレイヤ コントローラにティーポットのアニメーションがネストされます。

例: レイヤを追加し、コントローラの種類を変更するには:

    この手順は、アニメートされたオブジェクトのレイヤを有効にした、前の手順の続きです。

  1. [アニメーション レイヤ](Animation Layers)ツールバーの ([アニメーション レイヤ追加](Add Anim Layer))をクリックします。
  2. [新規アニメーション レイヤを作成](Create New Animation Layer)ダイアログ ボックスで、「Noise Layer」と名前を入力し、[OK]をクリックします。

    これで、ティーポットのアニメーション レイヤは 2 つになりました。それぞれのレイヤに別々のアニメーションを格納して、個別にコントロールできます。

  3. ティーポットを右クリックし、コンテキスト メニューから[カーブ エディタ](Curve Editor)を選択します。左側の階層リストを下にスクロールして、Teapot01 オブジェクトを見つけます。階層を、[Teapot01] [変換](Transform) [位置](Position)の順に展開します。

    [位置](Position)の下位には、[Base Layer]、[Noise Layer]、2 つの[重み](Weight)トラック、[アウトプット](Output)が表示されます。

  4. [Noise Layer]をハイライト表示して右クリックします。
  5. コンテキスト メニューから[コントローラを割り当て](Assign Controller)を選択し、[ノイズ位置](Noise Position)コントローラを選択します。
  6. [ノイズ コントローラ](Noise Controller)ダイアログ ボックスが開きます。オプションを変更せずに、ダイアログ ボックスを閉じます。

    2 つの異なるコントローラによってティーポットの位置がコントロールされます。

  7. アニメーションを 再生して、ティーポットが元のアニメーション パスに沿って移動する際にちらついて見えることを確認します。

例: レイヤのオンとオフを切り替えるには:

    この手順では、既存のレイヤのオンとオフを切り替えます。前の手順の続きです。

  1. [アニメーション レイヤ](Animation Layers)ツールバーで、ドロップダウン リストを展開します。

    この時点ではリストには元の Base Layer と、前の手順で追加した Noise Layer の両方が含まれています。

  2. カーソルをリストに移動して、Noise Layer の隣の電球アイコンをクリックします。

    レイヤがオフに設定され、ノイズ コントローラのトラックが非表示になります。

  3. タイム スライダをドラッグし、ティーポットが震動しないことを確認します。
  4. リストで両方のレイヤのオンとオフを切り替えて、結果を確認してみます。確認が終わったら、両方のレイヤをオンにします。

例: レイヤをロックまたはロック解除するには:

    レイヤをロックまたはロック解除する方法を説明します。前の手順の続きです。

  1. Base Layer がアクティブになっていない場合は、[アニメーション レイヤ](Animation Layers)ツールバーのドロップダウン リストを展開して[Base Layer]を選択します。
  2. がオンになっていることを確認してから、フレーム 20 でティーポットを移動して新しいアニメーション キーを設定します。

    この時点でアニメーションを 再生すると、新しく設定したキーもアニメーションに含められます。

  3. [アニメーション レイヤ](Animation Layers)ツールバーで、ドロップダウン リストを展開します。Base Layer のリスト エントリでロック アイコンをクリックしてロックします。
  4. Base Layer がアクティブな状態で、ティーポットを移動してみます。

    レイヤがロックされているため、ティーポットを移動できません。このようにレイヤをロックしておけば、誤って変更してしまうのを防ぐことができます。

  5. トラック ビューを開き、ティーポットの[位置](Position) [基本レイヤ](Base Layer)トラックを展開します。[X 位置](X Position)(または[Y 位置](Y Position)か[Z 位置](Z Position))トラックをハイライト表示して右クリックし、クアッド メニューの左上にある[ロック解除](Unlock)を選択します。

    すると、Base Layer トラックのトラック名の後ろに表示されていた「(ロック済み)」という文字列が消えます。

  6. [アニメーション レイヤ](Animation Layers)ダイアログ ボックスに戻り、Base Layer のロック アイコンを確認します。

    ロック解除のアイコンに変わっているはずです。アニメーション レイヤ内のトラックのロックおよびロック解除は、そのレイヤでコントロールされるすべてのトラックに適用されます。

例: レイヤ コントローラの出力トラックを使用して、ワイヤ パラメータを持つ 2 つのオブジェクトをリンクするには:

    この手順では、出力トラックを使用してワイヤ パラメータで立方体の位置を制御する簡単な方法を紹介します。前の手順の続きです。

  1. [アニメーション レイヤ](Animation Layers)ツールバーにリストされているレイヤの電球アイコンから、両方のレイヤがオンになっていることを確認します。
  2. ティーポットの隣にボックスを作成します。
  3. 作成したボックスを右クリックし、クアッド メニューから[ワイヤ パラメータ](Wire Parameters)を選択します。
  4. ポップアップ メニューをたどって[Z 位置](Z Position)を選択します。
  5. 点線が表示されます。ティーポットをクリックしてポップアップ メニューから[アウトプット トラック X](X Output Track)を選択します。
  6. 3ds Max が[パラメータ ワイヤリング](Parameter Wiring)ダイアログ ボックスを開きます。そこには、2 つのパラメータがハイライト表示されています。左向きの矢印ボタンをクリックし、ティーポットのアニメーションを使用して立方体の位置をコントロールします。
  7. [コネクト](Connect)をクリックし、ダイアログ ボックスを閉じます。タイム スライダをドラッグし、立方体の Z 位置がティーポットのレイヤ化されたアニメーションの X 位置と一致している様子を確認します。
  8. ティーポットを 選択し、[アニメーション レイヤ](Animation Layers)ツールバーからレイヤ リストを展開します。
  9. Noise Layer の隣のプラス記号アイコンをクリックします。

    これにより、レイヤが出力トラックから除外されます。

  10. タイム スライダをもう一度ドラッグします。立方体は、ティーポットのような不規則な動きはしません。

    リストの両方のレイヤを含めたり除外して、結果を確認してみましょう。

例: レイヤをコピーして貼り付け、アクティブ レイヤを更新するには:

    この手順は前の手順の続きで、ティーポットのみに注目します。

  1. ティーポットが選択されていることを確認したら、アニメーション レイヤ リストから Base Layer を選択してアクティブにします。
  2. [アニメーション レイヤ](Animation Layers)ツールバーの ([アニメーション レイヤ コピー](Copy Anim Layer))をクリックし、このレイヤとレイヤ内のデータをバッファに格納します。
  3. ([新規レイヤ貼り付け](Paste New Layer))をクリックします。[アニメーション レイヤの名前を変更](Rename Anim Layer)ダイアログ ボックスで、「Changes on Z axis」と名前を入力し、[OK]をクリックします。

    この新しいレイヤが、アクティブ レイヤになります。

  4. をオンにした状態で、フレーム 5 とフレーム 20 でティーポットの Z 軸上の位置を変更します。

    このアニメーションの更新内容は、アクティブ レイヤの位置トラックにのみ影響します。

例: レイヤを集約するには:

    この手順は、前の手順の続きです。

  1. アニメーション レイヤ リストで、Noise Layer をオフにします。次に Changes on Z axis を選択してアクティブにします。
  2. [アニメーション レイヤ](Animation Layers)ツールバーの ([アニメーション レイヤ集約](Collapse Anim Layer))をクリックします。

    レイヤが次に使用可能なレイヤ(Base Layer)に合成されます。オフに設定した Noise Layer はスキップされます。

  3. リストで Noise Layer を再度オンにします。

インタフェース

アニメーション レイヤを有効にする

指定したトラックにレイヤ コントローラを割り当てます。

注: アニメーション レイヤを有効にしても新しいレイヤは作成されませんが、選択したコントローラのトラック(次を参照)がすべて基本レイヤに転送されます。

[アニメーション レイヤを有効にする](Enable Anim Layers)ダイアログ ボックスが表示されます。ここでは、レイヤ コントローラを割り当てるトラックにチェック マークを付けることができます。

[位置](Position)、[回転](Rotation)、および[スケール](Scale)トラックは、既定値ではオンに設定されています。なお、このダイアログ ボックスでオフになっているアトリビュートもアニメートすることはできますが、レイヤ コントローラではコントロールできません。

注: トラック タイプのアニメーション レイヤを有効にすると、各レイヤ コントローラを無効にしない限り、オフに切り替えることができません。

モーション Mixer にロードされたアニメーションを持つオブジェクトについてアニメーション レイヤを有効にすると、次のダイアログ ボックスが開きます。

アニメーション レイヤを有効にする場合はコントローラ名が一部変更されるため、再マップが必要です。たとえば、アニメーション レイヤを有効にする前の球の[X 位置](X Position)トラックが Sphere01¥Transform¥Position¥X Position の場合、アニメーション レイヤを有効にした後の球の[X 位置](X Position)トラックは、Sphere01¥Transform¥Position¥Base Layer¥X Position に変更されます(コントローラ名にレイヤ名が挿入されます)。

新規マップ ファイルを自動作成するという既定値のダイアログ オプションを受け入れると、3ds Max は必要な XMM ファイルを XAF ファイルと同じ名前で自動生成します。保存場所は元のマップ ファイルと同じディレクトリになりますが、元のマップ ファイルがない場合は、XAF ファイルと同じディレクトリに保存されます。したがってこのシーン ファイルを開く場合、マップ ファイルは自動的にロードされるため、追加のマッピングは必要ありません。

ただし、[OK]をクリックする前に[自動的に新しいマップ ファイルを作成](Automatically Create The New Map Files?)をオフにすると、マップ ファイルは生成されなくなるため、次回にシーン ファイルを開くときにマップ ファイルの作成を要求するプロンプトが表示されます。マップ ファイルなしでは、アニメーションは正しく表示されません。

アクティブ レイヤ オブジェクトを選択
アクティブ レイヤに属するシーン内のすべてのオブジェクトを選択します。
アニメーション レイヤ リスト
選択したオブジェクトの既存のレイヤがすべて一覧表示されます。このリストの各レイヤには、オンとオフを切り替えたり、コントローラの出力トラックに含めたり除外するための、切り替え用のアイコンがあります。リストから選択すると、アクティブ レイヤに設定されます。

このトピックで前述した「アニメーション レイヤを使用する」 を参照してください。

重み

アクティブ レイヤの重みを設定します。これはグローバル パラメータであるため、アクティブ レイヤが複数のオブジェクト(たとえば、Base Layer)によって共有されている場合、この値を変更すると、それらのオブジェクトすべてに影響します。

アニメーション レイヤ プロパティ

レイヤ コントローラの[レイヤ プロパティ](Layer Properties)ダイアログ ボックスが開き、アニメーション レイヤのグローバル オプションを使用できます。

アニメーション レイヤ追加

[新規アニメーション レイヤを作成](Create New Animation Layer)ダイアログ ボックスが開き、新しいレイヤに関する設定を指定できます。新しいレイヤが、レイヤ コントローラが割り当てられているすべてのトラックに追加されます。

アニメーション レイヤ削除

アクティブ レイヤとそのレイヤに含まれたデータを削除します。削除を実行する前に確認ダイアログ ボックスが表示されます。

注: Base Layer は削除できません。代わりに、レイヤ コントローラを削除するには、([アニメーション レイヤ無効](Disable Anim Layer))をクリックします。
アニメーション レイヤ コピー

アクティブ レイヤのデータをコピーします。[アクティブ アニメーション レイヤ貼り付け](Paste Active Anim Layer)と[新規レイヤ貼り付け](Paste New Layer)が使用可能になります。

アクティブ アニメーション レイヤ貼り付け

アクティブ レイヤのコントローラの種類とアニメーション キーを、コピーしたレイヤのデータで上書きします。

注: コピーしたレイヤを別のオブジェクトに貼り付けることはできません。
新規レイヤ貼り付け

コピーしたレイヤのコントローラの種類とアニメーション キーを使用して新しいレイヤを作成します。[アニメーション レイヤの名前を変更](Rename Anim Layer)ダイアログ ボックスが開き、既定値のレイヤ名を使用するか、任意のレイヤ名を入力できます。

アニメーション レイヤ集約

オフに設定されていない限り、アクティブ レイヤをその下に集約します。オフに設定されている場合、集約されたレイヤは使用可能なレイヤが見つかるまでリストを繰り返し検索します。

注: レイヤを集約してもレイヤ コントローラは削除されません。削除するには、[アニメーション レイヤ無効](Disable Anim Layer)をクリックします。
アニメーション レイヤ無効

選択したオブジェクトからレイヤ コントローラを削除します。Base Layer のアニメーション キーは、元のコントローラに戻ります。確認ダイアログ ボックスが表示されます。

注: Base Layer を無効にする前に、Base Layer の上のすべてのレイヤを削除または集約する必要があります。