モデルは、シーンおよびプロジェクト内のオブジェクトを構成する強力なツールです。モデルにはオブジェクトのコンテナ(通常はオブジェクト階層)としての機能があるほか、オブジェクトの多数のプロパティが含まれています。また、オブジェクトのジオメトリだけでなく、ファンクション カーブ、シェーダ、ミキサ情報、レイヤ、パーティションのメンバーシップ、およびその他のプロパティも含まれます。モデルには内部的なエクスプレッションおよびコンストレイント(モデルの階層内のエレメントだけを参照するエクスプレッションおよびコンストレイント)も保持できます。さらに、モデルにはグループを含むことができます。
「Club Bot」モデル構造には、キャラクタを定義する多数のものが含まれています。
モデルは、小型のシーンのようなもので、シーンやプロジェクトで簡単に再利用できます。実際に、モデルを書き出して読み込みをすることで、シーン間でのコピーができます。
どのシーンにも、Scene_Root と呼ばれるモデルが最低でも 1 つは存在します。Scene_Root は、他のすべてのモデルの親になります。モデルはいくつでも作成できるほか、作成したモデルを 1 つの階層内で互いにネストする(つまり、あるモデルを別のモデルの子にする)ことができます。モデルはヌルであって、階層のルートとして機能します。また、それ以外のプロパティも含みます。
Explorer では、モデルは特別なアイコンで表示されます。モデルを簡単に選択するには、Explorer にモデルのみを表示することができます。これにより、シーンが簡潔に表示されます。
モデルには、ローカル モデルとリファレンス モデルの 2 種類があります。ローカル モデルは各シーン固有のモデルですが、リファレンス モデルは複数のシーンで再利用できる外部ファイルです。
ローカル モデルは、任意の 1 つのシーンの固有であり、シーン ファイルに保存されます。また、ネームスペースを持つため、同じ名前のオブジェクトを複数のモデルに組み込むことができます。その結果、シーンを整理できます。
リファレンス モデルは、外部ファイルにリンクする書き出しモデルです。書き出しモデルを変更した内容はすべて、次回シーンを開いたとき、またはリファレンスを更新したときに反映されます。
リファレンス モデルを作成するには、モデルを .emdl ファイル形式で書き出した後、リファレンス モデルとして別のシーンに読み込みます。各リファレンス モデルは最大 3 つの .emdl ファイルとリンクさせることができます。これにより、低解像度、中解像度、および高解像度での作業が可能となります。
モデルの用途を限定するためにリファレンス モデルを利用する方法があります(たとえば、オブジェクトのアニメートは可能であるが削除は不可能なリファレンス モデルを作成するなど)。一方、ワークグループ内のリソースを共有してシーン ファイルのサイズを最小限に保つなど、非常に柔軟な使い方もあります。詳細については、「 リファレンス モデルを使用する」を参照してください。
各モデルには固有のネームスペースがあります。つまり、モデル階層の各オブジェクトは一意の名前を持つ必要があります。しかし、異なるモデルであれば、同一の名前を持つことができます。たとえば、同一シーン内に 2 つのキャラクタがあり、そのそれぞれが異なるモデル内に存在するならば、どちらのキャラクタにも left_arm および right_arm という名前のチェインを組み込むことができます。
シーンのネームスペースにはすべてのモデル名が含まれています。つまり、各モデルには一意な固有名を付ける必要があります。そのモデルが別のモデル構成の一部であったとしても例外ではありません。
ネームスペースを使用すると、アクションとして保存したアニメーションを再利用できます。アクションにあるモデルの left_arm チェインのアニメーションが含まれている場合、アクションを別のモデルに適用すると、自動的に 2 番目のモデルの left_arm チェインに接続します。LeftArm と L_ARM などのように、2 つのモデル間でエレメントの命名規則が異なる場合は、接続マッピング テンプレートを使用することで適切な接続を指定できます。アクションおよびテンプレートの詳細については、「アクション」を参照してください。
読み込んだモデルの属性は、リファレンス モデルを使用せずに保持できます。このためには、モデルに適用されているすべてのプロパティ セット(マテリアルやテクスチャなど)を収集し、プロパティ オーバーライドと呼ばれる単一のプリセットにまとめます。 古いモデルを削除して新しいモデルを読み込み、プロパティ オーバーライドを新しいモデルに適用すると、元のプロパティや特性を効率的に上書きすることができます。
また、プロパティ オーバーライドは構造が似ていれば別のモデルにも適用できるため、別の意味での柔軟性も得られます。また、その他の 3D アプリケーションで作成されたモデルに対しても、読み込むときにプロパティ セットを使用できます。
オーバライドの詳細については、「プロパティをオーバーライドする」を参照してください。
選択したオブジェクトを含むローカル モデルを作成します。「ローカル モデルの作成」を参照してください。
ここで、モデルは、そのモデル固有のネームスペースとミキサを持つため、同一シーン内の別のモデルとアクション ソースを共有できます。モデルは同じシーン内にインスタンス作成または複製することもできます。インスタンス作成や複製が目的の場合は、書き出して読み込む必要はありません。
モデルを .emdl ファイルとして書き出します。このステップは、モデルを他のシーンで再利用する場合に限り必要です。「モデルの書き出し」を参照してください。
異なるシーンにモデルを読み込みます。ローカル モデルとして読み込むか、またはリファレンス モデルとして読み込みます。
読み込んだ後のローカル モデルは、シーン内で作成したモデルと同様に動作します。別の場所から読み込まれたモデルであることは「記憶」されません。他の場合と同様に、このモデルには独自のネームスペースとミキサがあり、インスタンス作成、複製などができます。「ローカルモデルの読み込み」を参照してください。
リファレンス モデルは外部 .emdl ファイルへのリンクを維持します。.emdl ファイルは変更できます。そしてリファレンス モデルはモデルを含むすべてのシーンを自動的に更新します。リファレンス モデルを使用すると、詳細レベルが異なる複数の .emdl ファイルを指定できます。これにより、反応速度が上がり、シーンのビューを簡略化できます。「 リファレンス モデルを使用する」を参照してください。