群集パーティクル シミュレーションを作成する

 
 
 

アクターを読み込み、おそらく 1 つまたは複数のエミッタを追加した後、パーティクルを放出して、群集シミュレーションを作成できます。パーティクルが放出されると、群集モデルの各アクターのインスタンスが各パーティクルに「アタッチ」されます。

特定のエミッタ オブジェクトを使用しない場合は、群集シミュレーションを作成するときに、既定のエミッタ オブジェクトが自動的に作成されます。

作成できる基本群集シミュレーションには、歩行者スタジアムという 2 つのタイプがあります。それぞれの説明については、以下を参照してください。1 つのシーンに複数の群集シミュレーションを含めることもできます。

歩行者(移動)シミュレーションを作成する

歩行者の群集シミュレーションは、アクタが XZ プレーンに沿って移動できる移動タイプのシミュレーションです。ここでは、街を歩いたり、フィールドを走る人々やスポーツをするチームなどの一般的な群集シミュレーションを作成できます。もちろん、動物、ゾンビ、細胞をはじめ人間以外のものをアクタとして使用する場合など、シーンの必要に応じてその他のおもしろいエフェクトを作成できます。

パーティクルを放出し、歩行者シミュレーションを作成するには:

  1. 群集シミュレーション用のアクタを読み込む」の説明に従って、1 つまたは複数のアクタを読み込みます。

  2. アクタ用に読み込んだアクション ソースが移動に適していることを確認します。「アクターのアクション ソースをロードする」を参照してください。

  3. 特定のエミッタを使用する場合は、「群集パーティクル エミッタ」の説明に従って、エミッタを作成して群集モデルに追加します。

  4. ICE ツールバーから[CrowdFX] [シミュレーション](Simulation) [作成](Create) [歩行者](Pedestrian)コマンドを選択します。

    シミュレーションのエミッタをまだ選択していない場合は、ディレクショナル エミッタが自動的にシーンのグローバル オリジンに作成されます。

    シミュレーション ポイント クラウドが作成され、群集モデルに追加されます。このポイント クラウドには、群集シミュレーションを設定する複数の ICE ツリーが含まれます。詳細については以下のセクションを参照してください。

  5. パーティクルはエミッタのサーフェイスから均等に放出され、表示される[ジオメトリからの均等な放出](Emit Evenly from Geometry)プロパティ エディタでパーティクル放出プロパティを設定できます。「群集パーティクル放出を設定する」も参照してください。

スタジアム(静止)シミュレーションを作成する

スタジアム群集シミュレーションでは、アクタは一箇所に留まります(静止しています)。ここでは、ひいきチームを応援していたり、観客として座っていたり、何もせずにしゃべって立っている人々などの一般的な群集シミュレーションを作成できます。

パーティクルを放出し、スタジアム シミュレーションを作成するには:

  1. 群集シミュレーション用のアクタを読み込む」の説明に従って、1 つまたは複数のアクタを読み込みます。

  2. アクターのアクション ソースをロードする」の説明に従って、アクション ソースをロードします。

    既定では、スタジアム シミュレーションでは 1 つのアクション ソースを使用します。アニメーションがグローバル空間で移動せずに「静止」していると見なされるアクション ソースを選択する必要があります。

  3. 特定のエミッタを使用する場合は、「群集パーティクル エミッタ」の説明に従って、エミッタを作成して群集モデルに追加します。

  4. ICE ツールバーから[CrowdFX] [シミュレーション](Simulation) [作成](Create) [スタジアム](Stadium)コマンドを選択します。

    シミュレーションのエミッタをまだ選択していない場合は、水平ポリゴン メッシュの観客がエミッタとして自動的に作成されます。観客のサイズ、プレイスメント、人数は、エミッタの ICE ツリーで作成された[観客](Bleachers)コンパウンドで調整できます。

    シミュレーション ポイント クラウドが作成され、群集モデルに追加されます。このポイント クラウドには、群集シミュレーションを設定する複数の ICE ツリーが含まれます。詳細については以下を参照してください。

  5. パーティクルは、エミッタのサーフェイスから均等に放出され(ポリゴンごとに 1 つのパーティクル)、群集モデルのアクターのインスタンスが各パーティクルに「アタッチ」されます。表示される[水平ポリゴンからの放出](Emit From Horizontal Polygons)プロパティ エディタで、パーティクル放出プロパティを設定します。「群集パーティクル放出を設定する」も参照してください。

群集シミュレーションのポイント クラウド

群集モデルの Point_Cloud オブジェクトは、群集シミュレーションを操作するポイント クラウドです。次に説明するように、ここには複数の ICE ツリーが含まれています。

注:

ICE ツールバーから[CrowdFX] [シミュレーション](Simulation) [シミュレーション クラウドの選択](Select Simulation Cloud)コマンドを選択して、このポイント クラウドを選択します。

モデリング領域

シミュレーション領域

ポストシミュレーション領域

[シェイプ インスタンス スキニング](Shape Instance Skinning) ICE ツリーは、「アクタのエンベロープを表示する」で説明するように、OpenGL ディスプレイ モードでメッシュ プロキシを表示するときに、リアルタイムのスキニング シェーダで使用されるデータを格納します。通常、どのビューでも、アクター コピー メッシュが、各アクター インスタンスの変形エンベロープとして表示されます。

複数の群集シミュレーションをシーンに追加する

1 つのシーンで複数の群集シミュレーション(複数の群集モデル)を作成できます。たとえば、歩行者シミュレーションとスタジアムシミュレーションの両方を同じシーン内で使用して、フィールドを走り回るひいきの選手を応援する熱狂的なサッカー ファンで埋め尽くされたスタンドを作成することができます。

それぞれの群集シミュレーションのアクタは、同じ群集モデルに所属しているわけではないので、互いに影響せず、互いを検出する方法がありません(「アクタの衝突回避動作」を参照)。また、各群集シミュレーションのアクタは、それぞれの群集モデル内のゴール、障害物(壁)、地形だけに反応します。

ただし、同じオリジナル ソースを使用して、すべての群集シミュレーションのアクタを作成できます。同様に、それぞれの群集モデルで適切に特定する限り、複数の群集シミュレーションで同じゴール、壁、地形オブジェクトを使用することもできます。

別の群集シミュレーションを追加するには:

  1. ICE ツールバーから[CrowdFX] [群集](Crowd) [作成](Create) [新規群集](New Crowd)コマンドを選択します。

    これにより、次に使用可能な番号を名前に付け(Crowd1、Crowd2 など)、一般的なノードおよびグループを含んだ新しい群集モデルが作成されます。「群集シミュレーションの構造」を参照してください。

  2. 群集シミュレーション用のアクタを読み込む」の説明に従って、1 つまたは複数のアクタを読み込みます。

  3. 上記の説明に従って、1 つのタイプの群集シミュレーションを作成します。

この群集モデルが現行の群集になります。以下を参照してください。

現行の群集を設定し、選択する

1 つのシーンで複数の群集シミュレーション(群集モデル)を作成した場合、どれを現行の群集にするかを設定する必要があります。新しい群集を作成すると、その群集が自動的に現行の群集に設定されます。

現行の群集であれば、ICE ツールバーから CrowdFX コマンドを選択したときに、コマンドが適用される唯一の群集になります。通常、現行であるかどうかにかかわらず、すべての群集がシミュレーションされます。

現行の群集を設定するには:

Explorer で任意の群集モデルを選択し、次のどちらかを行います。

現行の群集を選択するには: