障害物に当たって跳ね返るICE パーティクル

 
 
 

[Bounce Off Surface]コンパウンドを使用すると、衝突時にパーティクルが任意の数の障害物に当たって跳ね返るようにすることができます。このコンパウンドは、サーフェイスに当たって跳ね返る弾道、破片、雨、その他の破片などを作成する場合に便利です。使用される衝突ジオメトリは、パーティクルの実際の形状および障害物ですが、インスタンス化された形状を持つパーティクルでは、衝突ジオメトリはバウンディング球になります。

[Bounce Off Surface]コンパウンドは、単独で使用することも、状態システムを介したより大きなエフェクトの一部として使用することもできます。

ヒント:

[サーフェイスからの跳ね返り](Bounce Off Surface)コンパウンドなどのサーフェイス インタラクション コンパウンドを使用してパーティクルに衝突を作成する場合、同じ ICE ツリーでこれらのパーティクルをリジッド ボディにすることはできません。これは、サーフェイス インタラクション コンパウンドでは[パーティクルのシミュレート](Simulate Particle)ノードを使用しますが、パーティクル リジッド ボディでは[バレット リジッド ボディのシミュレート](Simulate Bullet Rigid Bodies)ノードまたは[リジッド ボディのシミュレート](Simulate Rigid Bodies)ノードを使用するためです。

パーティクル リジッド ボディの詳細については、「ICE リジッドボディ」を参照してください。

パーティクルはグリッドに向けて放出され、跳ね返されます。下の大きなサーフェイスも障害物として設定されているため、ここでもパーティクルが跳ね返されます。

パーティクルが障害物に当たって跳ね返るようにするには

  1. パーティクルの障害物として使用する1つまたは複数のオブジェクトを作成します。これらのオブジェクトには、ポリゴン メッシュや NURBS サーフェイス オブジェクトなどのジオメトリック サーフェイスが必要です。パーティクルがシミュレーションのいずれかの時点でこれらの障害物に到達するようにします。

  2. パーティクル放出を作成します。「基本的なパーティクル放出を作成する」を参照してください。

  3. [ICE]ツールバーから[パーティクル](Particles) [衝突](Collision) [サーフェイスからの跳ね返り](Bounce Off Surface)を選択します。

    このコマンドは[Bounce Off Surface]コンパウンドをICEツリーに追加し、[Simulation Root]コンパウンドの[Execute]ポートに接続します。

  4. 衝突の障害物として使用する1つまたは複数のオブジェクトを選択します。続けて、各オブジェクトの[Get Data]ノードを[Bounce Off Surface]コンパウンドの[Surface]ポートに接続します。

    障害物オブジェクトを後からICEツリーに追加することもできます。その場合、各障害物の名前をICE Treeビューにドラッグし、その[Get Data]ノードを作成してから、追加の障害物として接続します。

  5. [Bounce Off Surface]プロパティ エディタで、衝突のパラメータを必要に応じて設定します。これによって、パーティクルと、このコンパウンドに接続されたすべての障害物の関係が変わります。

    エンベロープ障害物またはアニメートされたデフォーメーションを持つ障害物の場合は、必ず[Collision Method]を[Continuous Animated Collisions]にしてください。これによって、衝突中のシェイプの変化が考慮されるようになります。

このコンパウンドを状態システムで使用するには

  1. 上で説明したように、パーティクル放出を作成します。

  2. ICE ツリーでは、必要に応じて[状態](State)コンパウンドを設定します。「パーティクル状態設定の作成の概要」を参照してください。

  3. [Bounce Off Surface]コンパウンドの[Execute]出力を[State]コンパウンドの[Execute Every Frame]ポートに接続します。

  4. 引き続き、[State]コンパウンドで必要なエフェクトを作成します。

衝突時におけるパーティクルの削除

パーティクル衝突セットアップを作成し、パーティクルが障害物から跳ね返ったときに削除されるようにすることができます。

  1. パーティクルの障害物として使用する1つまたは複数のオブジェクトを作成します。これらのオブジェクトには、ポリゴン メッシュや NURBS サーフェイス オブジェクトなどのジオメトリック サーフェイスが必要です。パーティクルがシミュレーションのいずれかの時点でこれらの障害物に到達するようにします。

  2. パーティクル放出を作成します。「基本的なパーティクル放出を作成する」を参照してください。

  3. [ICE]ツールバーから[パーティクル](Particles) [衝突](Collision) [衝突時に削除](Delete on Collision)を選択します。

    このコマンドによって2つの処理が行われます。

    • [Bounce Off Surface]コンパウンドをICEツリーに追加し、[Simulation Root]コンパウンドの[Execute]ポートに接続します。

    • [Delete Particle]コンパウンドをICEツリーに追加し、[Bounce Off Surface]コンパウンドの[Execute on Collide]ポートに接続します。

  4. 衝突の障害物として使用する1つまたは複数のオブジェクトを選択します。続けて、各オブジェクトの[Get Data]ノードを[Bounce Off Surface]コンパウンドの[Surface]ポートに接続します。

    障害物オブジェクトを後からICEツリーに追加することもできます。その場合、各障害物の名前をICE Treeビューにドラッグし、その[Get Data]ノードを作成してから、追加の障害物として接続します。

  5. [Bounce Off Surface]プロパティ エディタで、衝突のパラメータを必要に応じて設定します。これによって、パーティクルと、このコンパウンドに接続されたすべての障害物の関係が変わります。