パーティクルの動作はさまざまな方法でコントロールできますが、最も一般的な方法では、パーティクルのモーションと、パーティクルとオブジェクト サーフェイスの相互作用状態をコントロールします。
パーティクルの動作をコントロールするためのパーティクル コンパウンドには、いくつかの種類があります。これらのコンパウンドは非常に複雑で、それぞれの内部で完結していますが、より大きなエフェクトの一部として状態システムと関連付けて使用することもできます。状態システム内では、いずれかのコンパウンドを選択して、トリガー コンパウンドの値に到達したときに発生するエフェクトを作成できます。たとえば、障害物に衝突したときに新しいパーティクルが連続発生するようにできます。
これらの動作コンパウンドの大部分についてはこのセクションで説明しますが、一部については他の場所で説明しています。
衝突(サーフェイス インタラクション)コンパウンド: 一覧については下の「ICE パーティクル衝突について」を参照してください。
パーティクルを衝突のリジッドボディとして使用する。詳細については、ICE リジッドボディを参照。
ゴールや他のオブジェクトにパーティクルを引きつける: 「ICE パーティクルのゴール」および「[サーフェイス フォース](Surface Force)」を参照してください。
カーブに沿ってパーティクルを移動する: 「カーブに沿って流れる ICE パーティクル」を参照してください。
障害物の周囲でパーティクルを移動する(群衆のシミュレーションの場合に特に有効):「オブジェクトの周囲を移動する ICE パーティクル」を参照してください。
オブジェクトを中心にパーティクルを回転する: 「オブジェクトの周囲を旋回(オービット)する ICE パーティクル」を参照してください。
複数のパーティクルを凝固し、まとめて、液体または群衆の動きのエフェクトを作成する: 「[凝固フォース](Coagulate Force)」および「[隣接するパーティクル フォース](Neighboring Particles Force)」を参照してください。
衝撃を受けたときに発生させる動作のタイプに応じて、さまざまなタイプのパーティクル衝突を作成できます。衝突は、状態システムでパーティクルの動作を変更するためによく使用されますが、[State]コンパウンドを使用しなくても衝突は作成できます。
パーティクルが障害物のジオメトリと衝突するとき、その障害物に使用されている衝突ジオメトリのタイプが実際のシェイプになります。同様に、衝突時にはパーティクルのサイズも考慮されます。ただし、パーティクル ジオメトリとしてインスタンス化されたシェイプを使用している場合は、その周囲に大まかなバウンディング球が作成されます。つまり、その実際のシェイプは使用されません。
パーティクルがオブジェクトと衝突する場合、衝突後に回転が変化しないことに気が付くかもしれません。つまり、回転したパーティクルがオブジェクトに衝突した場合でも、現実の世界で発生するようなパーティクルの回転が変化(高速回転で、または衝突時に回転方向が変わるなど)することはありません。
次に、パーティクルが障害物と衝突したときに発生させることができる動作のタイプを示します。
さまざまな衝突コンパウンドは、[基本衝突](Basic Collide)ノードに基づきます。固有の衝突コンパウンドを作成する場合、ベースとして動作するこの汎用ノードを使用できます。
障害物やゴールに向けて移動するパーティクルについてパーティクル サーフェイスのインタラクションを定義するパーティクルの属性は、複数用意されています。これらの属性は、このセクションで説明されているように複数のコンパウンドで使用されますが、「ICE パーティクル属性を使用する」で説明されているように、[データを取得](Get Data)および[データのセット](Set Data)ノードで指定して ICE ツリーで単独で使用することもできます。
属性全般の詳細については、「ICE 属性」を参照してください。