アニメーション レイヤ機能を使用すると、同じオブジェクトで複数のアニメーション トラックを組み合わせることができます。 アニメーションをテストする際には、異なるアニメーションをレイヤに保存して、必要に応じてレイヤをオンまたはオフに設定したり重み設定とマージしたりできます。ほとんどの場合、この機能を使用する最良の方法は、このトピックの「インタフェース」のセクションで説明されている[アニメーション レイヤ](Animation Layers)ツールバーのコマンドを使用する方法です。
[アニメーション レイヤ](Animation Layers)は、[リスト コントローラ](List Controller)と Biped レイヤ システムの機能に類似していますが、これらよりもアニメータが簡単に使用できます。また、より柔軟に使用することができます。
選択したオブジェクトのアニメーション レイヤを有効にすると、3ds Max は、[アニメーション レイヤを有効にする](Enable Anim Layers)ダイアログ ボックスで指定した各アニメーション トラックに[レイヤ コントローラ](Layer controller)を割り当てます。
3ds Max はレイヤ コントローラを追加する際に、元のコントローラを最初のレイヤ(Base Layer と呼ばれる)にコピーし、既存のアニメーション データをすべて保持します。
アニメーション レイヤを有効にする前の元のコントローラ |
レイヤ コントローラの Base Layer に、元のコントローラがネストされます。 |
レイヤ コントローラを元のコントローラに戻すには、[アニメーション レイヤ](Animation Layers)ツールバーの[アニメーション レイヤ無効](Disable Anim Layer)をクリックします。[使用不能にする](Disable)コマンドは、[基本レイヤ](Base Layer)のみが存在する場合に限り使用できます。オブジェクトに複数のアニメーション レイヤが含まれている場合は、あらかじめアニメーション レイヤを削除するか、集約しておく必要があります。
レイヤ コントローラは、コントローラ トラックのリーフ レベル(マテリアルの[拡散反射光カラー](Diffuse Color)トラックなど)、またはブランチ レベル([位置](Position)トラックなど)に割り当てることができます。
レイヤ コントローラは、3 番目のブランチ レベルのトラックに割り当てられます。 |
レイヤ コントローラはリーフ レベルのトラックに割り当てられます。 |
レイヤを有効にする際に、選択したオブジェクトに既にリスト コントローラ トラックが含まれている場合、そのコントローラは新しいレイヤ コントローラの[基本レイヤ](Base Layer)内に保持されます。
元のリスト コントローラ |
新しいレイヤ コントローラにリスト コントローラがネストされます。 |
[アニメーションレイヤ]ツールバーのアニメーション レイヤ リストには次のように機能します。一般的なワークフローの例については、このトピックの後の「手順」のセクションを参照してください。
ドロップダウン リストに共通のレイヤ(つまり、同じ名前のレイヤ)がすべて表示されます。すべてのオブジェクトに共通でないレイヤは使用できません。
複数のオブジェクトを選択した場合、すべてのオブジェクトに共通でないレイヤはドロップダウン リストで選択できません。
レイヤのオン/オフを切り替えるには、電球アイコンをクリックします。
出力トラックにレイヤを含めたり除外したりするには、プラス記号またはマイナス記号のアイコンをクリックします。
ロックされているレイヤのアニメーションを編集できるようにするには、そのレイヤのロック アイコンをクリックします。
各アニメーション レイヤにはグローバル パラメータである重み値があります。この値を変更すると、アクティブ レイヤ内のすべてのコントローラに影響します。リスト コントローラと同様に、レイヤの重みをアニメートできます。また、[トラック バー](Track Bar)サブメニューの[フィルタ](Filter)を使用して、作成されたキーをトラック バーに表示したり非表示にしたりできます。
新しいアニメーション レイヤを追加する際に、既存のレイヤに既に使用されている名前を選択できます。既存の名前を選択すると、両方のレイヤの重みトラックがリンクされます(つまり、インスタンス化されます)。
レイヤを含むソース シーン(またはオブジェクト)を合成、または外部参照してマスター シーンに使用すると、ソースのレイヤがマスター シーンのレイヤ リストに追加されます。
合成または外部参照したシーンのレイヤ名がマスター シーンのレイヤ名と一致する場合、両方のレイヤは同期化されます。つまり、両方のレイヤに対して重みトラックがインスタンス化されます。
以下のいずれかの条件が満たされている場合、レイヤを集約すると、キーが合成されます。
ただし、さまざまな要因により、フレームごとに集約される(つまり、フレームごとにキーが設定される)可能性があります。
以下の一連の手順では、アニメーション レイヤをワークフローで使用し、異なるアニメーション トラックをすばやく作成して、同じオブジェクトに組み合わせて使用する方法を説明します。以下の手順を実行する前に、アニメーションとキー作成の基本について理解しておく必要があります。
例: レイヤを有効にするには:
既定値では、フレーム 1 にもキーが自動的に作成されます。開始キーはフレーム 0 ですが、この例では気にしなくてかまいません。
[アニメーション レイヤ](Animation Layers)ツールバーが開きます。
新しいレイヤ コントローラにティーポットのアニメーションがネストされます。
例: レイヤを追加し、コントローラの種類を変更するには:
この手順は、アニメートされたオブジェクトのレイヤを有効にした、前の手順の続きです。
これで、ティーポットのアニメーション レイヤは 2 つになりました。それぞれのレイヤに別々のアニメーションを格納して、個別にコントロールできます。
[位置](Position)の下位には、[Base Layer]、[Noise Layer]、2 つの[重み](Weight)トラック、[アウトプット](Output)が表示されます。
2 つの異なるコントローラによってティーポットの位置がコントロールされます。
例: レイヤのオンとオフを切り替えるには:
この手順では、既存のレイヤのオンとオフを切り替えます。前の手順の続きです。
この時点ではリストには元の Base Layer と、前の手順で追加した Noise Layer の両方が含まれています。
レイヤがオフに設定され、ノイズ コントローラのトラックが非表示になります。
例: レイヤをロックまたはロック解除するには:
レイヤをロックまたはロック解除する方法を説明します。前の手順の続きです。
この時点でアニメーションを 再生すると、新しく設定したキーもアニメーションに含められます。
レイヤがロックされているため、ティーポットを移動できません。このようにレイヤをロックしておけば、誤って変更してしまうのを防ぐことができます。
すると、Base Layer トラックのトラック名の後ろに表示されていた「(ロック済み)」という文字列が消えます。
ロック解除のアイコンに変わっているはずです。アニメーション レイヤ内のトラックのロックおよびロック解除は、そのレイヤでコントロールされるすべてのトラックに適用されます。
例: レイヤ コントローラの出力トラックを使用して、ワイヤ パラメータを持つ 2 つのオブジェクトをリンクするには:
この手順では、出力トラックを使用してワイヤ パラメータで立方体の位置を制御する簡単な方法を紹介します。前の手順の続きです。
これにより、レイヤが出力トラックから除外されます。
リストの両方のレイヤを含めたり除外して、結果を確認してみましょう。
例: レイヤをコピーして貼り付け、アクティブ レイヤを更新するには:
この手順は前の手順の続きで、ティーポットのみに注目します。
この新しいレイヤが、アクティブ レイヤになります。
このアニメーションの更新内容は、アクティブ レイヤの位置トラックにのみ影響します。
例: レイヤを集約するには:
この手順は、前の手順の続きです。
レイヤが次に使用可能なレイヤ(Base Layer)に合成されます。オフに設定した 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)ダイアログ ボックスが開き、新しいレイヤに関する設定を指定できます。新しいレイヤが、レイヤ コントローラが割り当てられているすべてのトラックに追加されます。
アクティブ レイヤとそのレイヤに含まれたデータを削除します。削除を実行する前に確認ダイアログ ボックスが表示されます。
アクティブ レイヤのデータをコピーします。[アクティブ アニメーション レイヤ貼り付け](Paste Active Anim Layer)と[新規レイヤ貼り付け](Paste New Layer)が使用可能になります。
アクティブ レイヤのコントローラの種類とアニメーション キーを、コピーしたレイヤのデータで上書きします。
コピーしたレイヤのコントローラの種類とアニメーション キーを使用して新しいレイヤを作成します。[アニメーション レイヤの名前を変更](Rename Anim Layer)ダイアログ ボックスが開き、既定値のレイヤ名を使用するか、任意のレイヤ名を入力できます。
オフに設定されていない限り、アクティブ レイヤをその下に集約します。オフに設定されている場合、集約されたレイヤは使用可能なレイヤが見つかるまでリストを繰り返し検索します。
選択したオブジェクトからレイヤ コントローラを削除します。Base Layer のアニメーション キーは、元のコントローラに戻ります。確認ダイアログ ボックスが表示されます。