PFlow コリジョン シェイプ(WSM)モディファイヤ

PFlow コリジョン シェイプは、標準のメッシュ オブジェクトを MassFX シミュレーションにパーティクル ディフレクタとして参加させるためのワールド空間モディファイヤ(WSM)です。これは簡単に使用できます。パーティクルをディフレクトする必要のあるすべてのオブジェクトにモディファイヤを適用してから、修正したオブジェクトをディフレクタとして mParticles コリジョン テストに追加します。

また、mParticles グルーを使用してパーティクルをディフレクタにバインドできますが、この場合も mParticles グルー テストと同じイベントの mParticles コリジョン テストでディフレクタを指定する必要があります。

注: PFlow コリジョン シェイプは、プリミティブ オブジェクトと、編集可能ポリゴンおよび編集可能メッシュ形式のオブジェクトで使用できます。ただし、編集可能メッシュ形式は内部で使用するため、PFlow コリジョン シェイプの機能を十分に活用するためには、編集可能メッシュ オブジェクトで使用します。特に、編集可能メッシュ機能を使用してエッジを非表示にし、[アニメートされたサーフェス](Animated Surface)オプションでポリゴン プリミティブを作成する方法をコントロールできます。
注: このモディファイヤが適用されたオブジェクトはシミュレーションでパーティクルとやりとりできますが、オブジェクト同士でやりとりすることはできません。メッシュ オブジェクトを離散してシミュレーションでオブジェクト同士がやりとりできるようにする場合は、[発生グループ](Birth Group)オペレータを使用してそれらのメッシュ オブジェクトがパーティクルとして機能するよう設定します。

インタフェース

アクティベーション
ディフレクタ メッシュのパラメータを修正し、シミュレーションで使用できるようにする場合にクリックします。[アクティブ化](Activate)は、もう一度クリックしてオフにするまでオンのまま変わりません。衝突シェイプ テストおよび衝突メッシュ オブジェクトおよびそのオブジェクトに適用されるすべての他のモディファイヤのパラメータを変更する場合はオフにします。オフにすると、オブジェクトは MassFX シミュレーションで使用できなくなります。
注: [シェイプ](Shape) (次を参照)を[アニメートされたサーフェス](Animated Surface)オプションに設定すると、[アクティブ化](Activate)は、[衝突プリミティブ位置](Collision Primitive Location)の 3 つのプライマリ オプション([頂点](Vertices)、[エッジ](Edges)、および[面](Faces))の 1 つ以上がオンになっている場合にのみ使用できます。詳細については、後述の「[衝突プリミティブ位置](Collision Primitive Location)領域」を参照してください。
シェイプ
mParticles で衝突目的のために使用するシェイプを選択します。このシェイプはオブジェクトに自動的に適用され、[衝突シェイプを視覚化](Visualize Collision Shape)がオンの場合に表示されます。選択肢は、[アニメートされたサーフェス](Animated Surface)、[ボックス](Box)、[カプセル](Capsule)、[凸型ハル](Convex Hull)、[ジオメトリ](Geometry)、[平面](Plane)、および[球](Sphere)です。

アニメーション中にシェイプが変更されたオブジェクト(ノイズ モディファイヤを使用してアニメートされた平面など)の[アニメートされたサーフェス](Animated Surface)オプションを使用します。既定では、このオプションを選択すると、ビューポートとレンダリング出力に、衝突がアクティブ化されているサブオブジェクトのみが表示されます。詳細については、後述の「[衝突プリミティブ位置](Collision Primitive Location)領域」を参照してください。

注: 凸型ハル シェイプには、255 を超える面を含めることはできません。凸型ハルに 255 を超える面が含まれるオブジェクト(既定の球プリミティブなど)でこのシェイプを使用しようとすると、凸型メッシュ ジオメトリを作成できないことを通知するメッセージが表示されます。この場合は、メッシュ シェイプを単純化するか、別の[シェイプ](Shape)設定を使用します。
[スムーズ サーフェス]
シミュレーションで衝突シェイプをどのように考慮するか定義します。オフにすると、シミュレーション エンジンでは、「鋭い」エッジを持つシェイプとみなされます。オンにすると、スムーズ シェイプに近いシェイプとみなされます。したがって、そのシェイプに当たったパーティクルは、球に似たプロパティのサーフェス上を転がることができます。
注: [サーフェスのスムージング](Smooth Surface)は、ダイナミックな球が三角形で構成されているディフレクタ上を転がる場合にのみ適用できます。したがって、通常[サーフェスのスムージング](Smooth Surface)オプションは、[mParticle シェイプ](mParticle Shape) [衝突](Collide As)が[球](Sphere)に設定され、[PFlow コリジョン シェイプ](PFlow Collision Shape) [シェイプ](Shape)が[凸型ハル](Convex Hull)または[ジオメトリ](Geometry)に設定されている場合にのみ使用します。このような状況の場合に、[サーフェスのスムージング](Smooth Surface)を使用すると、シミュレーションの安定性が高まります。それ以外の場合は、オフにします。

[サーフェスのスムージング](Smooth Surface)オプションの効果を示したビデオについては、「PFlow コリジョン シェイプ(WSM)モディファイヤ ビデオ」を参照してください。

[バウンスおよび摩擦](Bounce and Friction)領域

注: これらの設定では、シミュレーションでのディフレクタとパーティクルのやりとりについて指定するため、分離する場合は意味がありません。相互作用の実際の値を決定するため、相互作用する要素のプロパティの平均値が取得されます。
反発(Restitution)
衝突の後で各パーティクルが保持するエネルギーの大きさ。通常、これはバウンス効果を生成します。これを最大値の 1.0 に設定すると、ニュートンの第 3 法則を満たす状態になる可能性があります。すべてのアクションに対して、同じ大きさで反対方向のリアクションがあります。

[反発](Restitution)が 1.0 に近いときは、バウンス効果が発生しますが、結果として、衝突の間に十分なエネルギーが消費されないので、ダイナミクス ソリューションは安定しない場合があります。衝突するオブジェクトが少なく、相互にバンドルされていない場合、1.0 に近い値はユーザの責任において使用してください。

静止摩擦(Static Friction)
移動しない 2 つのサーフェス(パーティクルと衝突シェイプ)の間のモーションに抵抗するフォース。
[動的摩擦]
移動する 2 つのサーフェス(パーティクルと衝突シェイプ)の間のモーションに抵抗するフォース。

[アニメートされたサーフェス](Animated Surface)領域

これらの設定は、[シェイプ](Shape)が[アニメートされたサーフェス](Animated Surface)に設定されている場合にのみ使用できます。

[厚さ]
ジオメトリ サーフェイスに対する垂直方向での衝突プリミティブ([衝突プリミティブ位置](Collision Primitive Location)で設定したサブオブジェクト、後述を参照)の範囲。球衝突プリミティブの場合は、その直径になります。カプセルの場合も直径です。ボックス/凸型ハル プレートの場合は、その厚さになります。
法線オフセット(Normal Offset)
ジオメトリ サーフェスに対して垂直方向に衝突プリミティブを移動します。衝突プリミティブが衝突シェイプとして正しく機能するためには、ある程度の厚さが必要です。衝突プリミティブの厚さでビジュアルな衝突サーフェスをオフセットできるため、プリミティブを内側に移動し、負のオフセット値を使用してそれを無効にできます。
側面のオーバーラップ(Side Overlap)
[衝突プリミティブ位置](Collision Primitive Location) [面](Faces)がオンの場合にのみ使用できます。このパラメータでは、「外装プレート」プリミティブを横方向に拡張するときの距離を定義します。このパラメータを使って「外装プレート」間のオーバーラップを作成し、パーティクルがアニメートされた衝突サーフェスを通過できないようにすることができます。
注: Mass FX 衝突プリミティブがサーフェス ポリゴンから作成されるときの方法により、[側面のオーバーラップ](Side Overlap)パラメータと[厚さ](Thickness)パラメータの間には制限/相関関係があります。[厚さ](Thickness)は、[側面のオーバーラップ](Side Overlap)値の 2 倍以上の値にする必要があります。この処理は自動的に実行されます。[側面のオーバーラップ](Side Overlap)値を大きくすると、[厚さ](Thickness)値が十分であるかどうか確認され、十分でない場合は、値が大きくなります。

[衝突プリミティブ位置](Collision Primitive Location)領域

シミュレーションでは任意のアニメートされたサーフェス(ベンド モディファイヤでアニメートされた、サブディバイドされたボックスなど)をディフレクタとして使用できないため、[シェイプ](Shape)を[アニメートされたサーフェス](Animated Surface)に設定すると、基本の衝突シェイプ(球、カプセル、凸型ハル)のセットをアニメートしてアニメートされたサーフェスに近づけることができます。モディファイヤによって、アニメートされたオブジェクトのサブオブジェクトの位置に基づき、これらのシェイプが自動的に適切な位置に配置されます。

ヒント: 衝突プリミティブを使用すると、アニメートされたサーフェスの外観が変わりますが、ロールアウトの下部にある[衝突シェイプを視覚化](Visualize Collision Shape)をオフにすると、それらを非表示にする(通常はレンダリング目的)ことができます。

これらの切り替えを使用して、アニメートされた衝突サーフェスのベースとして使用する基本の衝突シェイプを指定します。サイズと相対位置を調整するには、[厚さ](Thickness)、[法線オフセット](Normal Offset)、および[側面のオーバーラップ](Side Overlap)設定(前述を参照)を使用します。次のいずれかの組み合わせを使用できます。

[頂点]
アニメートされたオブジェクトの各頂点の位置に球プリミティブを配置します。パーティクルがこれらのいずれかの球に当たると、衝突が検出されます。
[エッジ]
アニメートされたオブジェクトの各エッジの位置にカプセル プリミティブを配置します。パーティクルがこれらのいずれかのカプセルに当たると、衝突が検出されます。
ポリゴン(Polygons)
アニメートされたオブジェクトの各ポリゴンの位置に凸型ハル プリミティブを配置します。パーティクルがこれらのいずれかのハルに当たると、衝突が検出されます。

サーフェス エッジの表示/非表示を切り替えて、ポリゴン設定を調整できます。付属のファイル PFlowCollisionShapeMod02.max の例を取り上げます。 衝突のジオメトリは、横方向にベンドする円柱です。スタックの PFlow コリジョン シェイプおよびベンド モディファイヤをオフにすると、円柱ジオメトリのビジュアルを確認できます。サイド エッジの数は非表示になっています(注: これは編集可能メッシュ オブジェクトでのみ実行でき、編集可能ポリゴンでは実行できません)。

結果として、PFlow コリジョン シェイプ モディファイヤを適用すると、ポリゴンがカーブしている場合でもジオメトリのポリゴンごとに 1 つずつ、18 の衝突プリミティブのみ作成されます。したがって、ジオメトリ サーフェス上の可視エッジを調整すると、[アニメートされたサーフェス](Animated Surface)タイプで作成された衝突プリミティブのシェイプと数をコントロールできるようになります。

[選択のみ]
オンにすると、衝突プリミティブは選択したサブオジェクトの位置にのみ配置されます。

たとえば、オブジェクトの一方の側面にのみ衝突ポリゴンを配置するには、基本オブジェクトを編集可能メッシュまたは編集可能ポリゴンに変換して(または対応するモディファイヤを適用して)、[ポリゴン](Polygon)サブオブジェクト レベルに移動し、パーティクルと衝突する面を選択します。次に、[PFlow コリジョン シェイプ](PFlow Collision Shape)モディファイヤ レベルで、[シェイプ](Shape)を[アニメートされたサーフェス](Animated Surface)に設定し、[衝突プリミティブ位置](Collision Primitive Location)領域で、[ポリゴン](Polygons)および[選択のみ](Selected Only)をオンにします。

注: 編集可能メッシュ オブジェクトで[面](Face)サブオブジェクトを選択することができますが、PFlow コリジョン シェイプは[Polygon](ポリゴン)レベルで機能するため、円柱の終わりなど、ポリゴンの一部である面を選択すると、モディファイヤでポリゴン全体のプリミティブが 1 つ作成されます。
衝突プリミティブ サイズ(Collision Primitive Size)
アニメートされたサーフェスのジオメトリとアニメーションのプロパティでカプセルおよび面(凸型ハル)プリミティブのサイズを定義する方法を指定します。このオプションは、[衝突プリミティブ位置](Collision Primitive Location)領域で[エッジ](Edge)または[面](Faces)がオンになっている場合にのみ使用できます。
現在のフレームによるフィット(Fit By Current Frame)
カプセルおよびポリゴン(凸型ハル)プリミティブのサイズは、[アクティブ化](Active)ボタンをクリックしたときに、現在のフレームのエッジの長さおよびポリゴンのサイズで定義されます。
最小化によるフィット(Fit By Minimization)
オンにすると、モディファイヤが非アクティブ([アクティブ化](Active)ボタンがオフ)の場合、メッシュでアニメーションを修正および再生できます。プリミティブはメッシュ シェイプに依存するため、現在の修正とアニメーションを考慮して、プリミティブはできる限り大きく、ただしエッジと面の内側にもフィットするように調整されます。

その結果、アニメーションを再生するときに、モディファイヤではすべてのエッジと面の最小値が収集されます。次に、これらの最小値を使用してプリミティブが作成されます。このように、アニメーションの任意のフレームで、プリミティブはそのベース(エッジまたは面)にフィットします。

衝突プリミティブ(Collision Primitives)
衝突プリミティブの数を表示します。この値が大きくなれば、シミュレーションが複雑になります(低速になる場合もあります)。
衝突シェイプを視覚化(Visualize Collision Shape)
オンにすると、結果の衝突プリミティブをジオメトリとして表示します。オフにすると、元のジオメトリ メッシュが表示されます。

オンの状態にすると、モディファイヤで作成する衝突シェイプのタイプを検証する場合は便利ですが、レンダリングする場合は、通常はオフにします。