群集シミュレーションのアクターのロード

 
 
 

群集シミュレーションでは、最も重要なものがアクターです。アクターは、群集シミュレーションの「キャラクタ」として選択されたオリジナル モデルのコピーです。多様性をもたせるため、1 回の群集シミュレーションで数種類のモデルをアクターとして使用できますが、アクターとしてロードするモデルが多くなるほど群集シミュレーションの速度が低下することに注意してください。

以下のイメージにおいて、馬とカウボーイは、両方とも同じ群集シミュレーションでのアクターです。

群集に対して簡単に多様性を与えるため、同じソース モデルを複数回コピーしてから、各コピーのエンベロープ ジオメトリまたはマテリアルを修正し、それから各コピーを CrowdFX に読み込むことができます。この方法の利点の 1 つは、アクターが同一のデフォーマ リグを持つようになることです。これによりすべてのアクターは、ただ 1 つのアクターのためにロードした同じアクション ソースを共有できます。

群集でアクターとして使用するモデルのロード

群集シミュレーションを開始するには、まず、アクターとして使用するモデルを特定する必要があります。このモデルは、シーン内に存在することも、Softimage データベースにモデル(.emdl ファイル)として保存されていることもあります。別の 3D ソフトウェアからキャラクタを読み込む場合は、モデル(.emdl ファイル)として保存できます。これらの詳細については、「CrowdFX のモデルを準備する」を参照してください。

群集シミュレーションでモデルをアクターとしてロードするには:

  1. CrowdFX のモデルを準備する」の説明に従って、CrowdFX の要件を満たしている 1 つまたは複数のモデルを設定します。
  2. ICE ツールバーで、[CrowdFX] [アクター](Actor) [アクターの取得](Get Actor)コマンドの 1 つを選択します。
    • [モデルの読み込み](Import Model)を選択すると、開かれるブラウザでモデル(.emdl ファイル)を選択できます。
    • [シーンから取得](Get From Scene)を選択すると、シーンにあるモデルまたはキャラクタのエンベロープ メッシュを選択するよう求めるプロンプトが表示されます。モデルを選択するとき、そのモデルに別のメッシュがある場合には、使用するボディ エンベロープ メッシュを選択するよう求めるプロンプトが表示されます。
    • [規定の歩行者](Default Pedestrian)を選択すると、以下に示すような基本の二足キャラクタが作成されます。通常はテスト目的で使用します。このキャラクタは、歩行者およびスタジアムタイプの群集シミュレーションのどちらでも使用できます。
  3. 開かれる[CrowdFX アクター プロキシ]プロパティ エディタで、シミュレーションにおいてアクターが使用するアクションを選択してロードします。アクションは、「アクターのアクション ソースをロードする」の説明に従い、特定の順序でロードする必要があります。

CrowdFX で使用するモデルを割り当てると、群集モデルが作成されます。モデルのメッシュおよびリグは、複製されてアクター プロキシ(または単にアクター)と呼ばれるようになります。群集モデルの Actor_Proxies ノードの下にアクター プロキシ モデル ノードが追加されます。このノードには、群集シミュレーションでこのアクターを使用するときに必要とされるすべてのデータが含まれています。詳細については、「群集シミュレーションの構造」を参照してください。

注:アクターをロードした後は、アクター プロキシを複製することによって別のアクターを作成しないでください。代わりに、もう一度ソース モデルをロードして、同じアクターを群集シミュレーションに加えてください。「アクターを追加および削除する」も参照してください。

アクター ID

モデルを群集に割り当てると、モデルのロード順序に従い、0 から始まり連続的に増分するアクター ID 値(CrowdFX_Actor_ID 属性)がアクター プロキシ モデルに付与されます。この属性は、シミュレーション ポイント クラウドのInitialize Move Locomotion Data(移動データの初期化)コンパウンド内のインスタンスに割り当てられます。

アクター ID は、実際には、アクション ソースが群集シミュレーションで使用されるアクターのインデックスです。アクターが、一緒にロードされた同じアクション ソースを使用する場合、そのアクター ID は、そのアクター メッシュの ID と同じになります。オリジナル アクターのメッシュの ID は、Get Actor ID(アクター ID の取得)コンパウンドで検索できます。

アクターのソース モデルの非表示または表示

ソース モデルの非表示状態を切り替えるには、[CrowdFX アクター プロキシ]プロパティ エディタ[アクター ソース モデル](Actor Source Model) [表示/非表示](Show/Hide)ボタンをクリックします。

エクスプローラでソース モデルをブランチ選択し、H キーを押すこともできます。

アクター読み込み後のソース エンベロープの修正

アクターの読み込み後、ソース モデルのエンベロープに調整を加えることができます。変更点をアクターのエンベロープに伝達する場合は、そのアクター用に作成されたメッシュ プロキシ オブジェクトで、ここで説明するオリジナルのソース エンベロープからの更新が確実に使用されるようにする必要があります。

このイメージは、ソース モデルのオリジナル エンベロープのジオメトリを示しています。

  1. オリジナル ソースのメッシュ エンベロープのジオメトリに変更を加えます。この場合、2、3 のポイントを動かすだけで「彼」が「彼女」になります。

  2. エクスプローラで、オリジナル ソース モデルの[メッシュ](Mesh) > [ポリゴン メッシュ](Polygon Mesh)ノードを展開し、コンストラクション領域を確認します。

  3. [メッシュ プロキシの設定](Set Mesh Proxy)オペレータを移動させ、モデリング スタックの一番上に位置するようにします。この方法でエンベロープは、メッシュに対するモデリング処理の完了後に評価されます。

    群集シミュレーションのアクターで、このモデルからメッシュ プロキシ オブジェクトが作成されているアクターすべてが、これらのエンベロープの変更を反映するよう直ちに更新されます。