ICE リジッド ボディ パーティクルをパッシブにする

 
 
 

既定では、リジッド ボディ パーティクルはアクティブであり、フォースや同じポイント クラウド内の他のリジッド ボディ パーティクルとの衝突、障害物として定義したオブジェクトとの衝突による影響を受け、位置や方向が変化します(「障害物とICE パーティクルの衝突」を参照)。

ただし、[IsPassiveRigidBody]属性を使用することで、リジッド ボディ パーティクルをパッシブにすることができます。このパーティクルにアクティブなリジッド ボディ パーティクルが衝突すると、障害物のように動作します。

パッシブなリジッド ボディ パーティクルの位置は、衝突が発生しても変化しません。つまり、パーティクルの位置、方向、速度、および角速度が変化しません。アクティブなパーティクルがパッシブなパーティクルに衝突すると、直線的な運動量は、パッシブなパーティクルを速度がゼロの無限の質量とみなすことで保持されます。

衝突時は、リジッド ボディ間で正確な跳ね返りとスライドが生まれるように、アクティブおよびパッシブなリジッド ボディ パーティクルの両方の動摩擦と弾性が考慮されます。

リジッド ボディ パーティクルの立方体で構成されたこのキャラクタは、リジッド ボディ パーティクルの壁に向かって移動しています。これらの「オブジェクト」のどちらがパッシブに設定されているかによって、2 種類のまったく異なる結果が生み出されます。

この場合は、キャラクタのほうがパッシブに設定されているため、壁との衝突による影響を受けません。

上の図では、キャラクタが壁との衝突による影響を受けます。この場合は、壁がパッシブに設定されていますが、キャラクタは設定されていません。

リジッド ボディ パーティクルをパッシブにするには

  1. リジッドボディパーティクル放出を作成します。「ICE リジッドボディ パーティクル放出を作成する」を参照してください。

    相互に衝突できるのは、同じポイント クラウド内のパーティクルだけである点に注意してください。「複数のパーティクル エミッションとの衝突」を参照して、複数のポイント クラウドから発生したパーティクルが衝突するように見せかけます。

  2. [Set Particle RBD(パーティクルRBDの設定)プロパティ エディタで[IsPassiveRigidBody]オプションを選択して、パーティクルをパッシブに設定します。

    [IsPassiveRigidBody]オプションをアニメートすることで、リジッド ボディ パーティクルのパッシブ状態を切り替え、さまざまなエフェクトを作り出すことができます。

フォースがパッシブなリジッド ボディ パーティクルに影響するようにする

パッシブなリジッド ボディ パーティクルは、フォースによって移動しません。ただし、シミュレーションでこのような動作が必要になる場合もあります。このような状況に対応するために、パッシブなリジッド ボディをフィルタリングし、F = ma という式に基づいて新たな速度を計算する条件を設定できます。

この処理を行う方法の一例として、ツリーを示します。