アクタのエンベロープを表示する

 
 
 

ソース モデルをアクターとして割り当てると、そのエンベロープ メッシュが、群衆シミュレーションで各パーティクルにインスタンス化されるジオメトリとして識別されます。

これはどのようにして発生するのでしょうか。下に示すように、2 つのオブジェクトが関係します。

Mesh Proxy オブジェクト

CrowdFX はオリジナルのモデルのポリゴン メッシュのコピーを作成し、それをMesh Proxy ポリゴン メッシュと呼びます。このオブジェクトは、既定で非表示ですが、OpenGL 表示モードで群衆シミュレーションを表示すると、表示できます(下を参照)。

Mesh Proxy オブジェクトは、モデリング領域の Set Mesh Proxy ICE ツリーの[Set Mesh Proxy]コンパウンドのオリジナルのメッシュのベース ポーズ(T-ポーズなど)のコピー、エンベロープ ウェイト、シェイプ キー、マテリアル、テクスチャです。

[シェイプ インスタンスのスキニング](Shape Instance Skinning)コンパウンドに、OpenGL 表示モードでメッシュ プロキシの表示に使用されるエンベロープ スキニングが設定されます。この表示モードは、メッシュ プロキシのマテリアルにある GLSL_Actor_Envelope シェーダが有効な場合、それを使用します。

Actor Copies オブジェクト

CrowdFX は Actor Copies ポリゴン メッシュも作成します。これは、群衆シミュレーションにおいてアクター プロキシの全インスタンスのエンベロープ ジオメトリを格納する単一オブジェクトです。Actor Copies メッシュは、3D ビューにおいてアクターのエンベロープを表すものとして表示される通常のオブジェクトですが、次に説明するとおり、その表示をオーバーライドすることによって、シミュレートされるポイント クラウドのパーティクル シェイプとしてメッシュ プロキシ メッシュを使用することもできます。

Actor Copies メッシュには、次の 2 つの ICE ツリーが含まれます。

注:

現在の群衆の Actor Copies メッシュの表示は、ICE ツールバーの[CrowdFX] [群衆](Crowd) [編集](Edit) [ポリゴン メッシュ コピーの表示/非表示](Show/Hide PolyMesh Copies)コマンドで切り替えることができます。

リアルタイム シェーダを使用して OpenGL で群衆を表示する

最初のフレームでの Actor Copies メッシュの生成を待たずに群衆シミュレーションをプレビューする必要がある場合、OpenGL 表示モードでアクターを表示する方法があります。

これを実行するには、Mesh Proxy オブジェクトのマテリアルに定義されている GLSL Actor Envelope リアルタイム シェーダ コンパウンドを有効にします。このシェーダは、OpenGL 表示モードでのプレビュー時に Actor Copies メッシュではなく Mesh Proxy メッシュを、各アクター インスタンスのエンベロープとして使用します。このシェーダは、Mesh Proxy オブジェクトからのデータを使用して、シミュレーション時に各アクター インスタンスに使用するエンベロープのデフォーメーション、マテリアル、テクスチャを決定します。

注:

OpenGL 表示モードでは、メッシュ プロキシにシェイプ キーが表示されません。

このシェーダを使用して、OpenGL 表示モードでインスタンス化されたアクタのエンベロープを表示するには

  1. ビューポートまたは[オブジェクト](Object)ビューで、[リアルタイム シェーダ](Realtime Shaders) [OpenGL]表示モードに切り替えます。

  2. シミュレーション ポイント クラウドを選択し、[シミュレーション後](Post-Simulation)領域でその シェイプ インスタンスのスキニング ICE ツリーを開きます。

  3. [シェイプ インスタンス ボーンの設定](Set Shape Instance Bones) コンパウンドで、[有効](Enable)オプションを選択します。これにより、Actor Copies メッシュのビューポート表示を一時的にオーバーライドするため、GLSL Actor Envelope シェーダによるシェーディングとして、このビューに Mesh Proxy オブジェクトのみが表示されます。

    OpenGL 以外の表示では、Mesh Proxy はインスタンス化されますが、GLSL アクター エンベロープ シェーダがサポートされていないため、正しいデフォーメーション、マテリアル、テクスチャが適用されません。

  4. GLSL アクター エンベロープ シェーダで、表示オプションを選択します。

このシェーダはプレビューにのみ使用されます。これはレンダリングされるジオメトリ、マテリアル、テクスチャではありません。