状態のトリガーを選択したら、発生させるエフェクトのタイプを定義する必要があります。エフェクトは、トリガーの定義済み値に達したときに発生するもの(パーティクルの動作の変化)です。
この例では、トリガー値(パーティクルの寿命)に達したときに定義されているエフェクトは 1 つだけ(パーティクルのシェイプの変化)です。パーティクルのカラーが変わると、新しい状態への移行が発生したことがわかります。
エフェクト コンパウンドは、[Simulation Root]ノードの[Primary State]または[State]コンパウンドのさまざまなタイプの[Execute]ポートに接続できます。
エフェクト コンパウンドの評価は、状態シミュレーションの開始時に一度だけ行うことも、シミュレーションの各フレームで行うこともできます(大部分のエフェクトでは後者が必要)。
作成できるエフェクトのタイプは数多く、障害物に当たって跳ね返る従来のパーティクルから、特定の条件に合致したときのパーティクルのカラーやシェイプの単純な変更まで、さまざまです。基本的に、パーティクル属性を設定するコンパウンドや動作を変化させるコンパウンドはすべて、エフェクト コンパウンドとして使用できます。詳細については、「エフェクト コンパウンドのタイプ」を参照してください。
パーティクル放出を作成します。詳細については、「基本的なパーティクル放出の作成」を参照してください。
「状態の設定」の説明に従って、使用する状態を設定します。
「トリガーの選択」の説明に従って、トリガーとその値を設定します。
ICE Tree の Preset Manager で、[タスク]タブをクリックし、[Particles]を選択します。
[Particles]タブのグループから、エフェクトとして使用するコンパウンドをドラッグします。エフェクトとして使用されるコンパウンドは、[Particles]タブのさまざまなグループに分散しています。使用可能なエフェクト コンパウンドのリストについては、「エフェクト コンパウンドのタイプ」を参照してください。
「[Execute]ポート」で説明されているいずれかの方法に従って、エフェクト コンパウンドを適切な状態の[Execute]ポートに接続します。
最初の[State]コンパウンドで定義されているトリガーと、2 番目の[State]コンパウンドに接続されているエフェクト。トリガー コンパウンドの値に達すると、パーティクルが 2 番目のコンパウンドに切り替わります。
エフェクト コンパウンドのプロパティ エディタで、パーティクルの動作を定義するパラメータを設定します。たとえば、エフェクトとして重力フォースを使用している場合は、その強さを定義する必要があります。
[State]または[Simulation Root]ノードには、さまざまなタイプの[Execute]ポートがあります。このポートには、目的に応じてエフェクト コンパウンドを接続できます。
[Execute on Trigger]: このポートは、[Simulation Root]ノードの[Primary State]と[State]コンパウンドの両方にあります。
このポートは、トリガー値に達したときに一度だけ、接続されているコンパウンドを実行します。パーティクルはこの状態にとどまりません。これは、すべてのフレームではなく 1 つのフレームだけでアクションを実行する、[Delete Particles]コンパウンドや[Unstick from Surface]コンパウンドなどで便利です。
一度に実行する複数のエフェクトを定義することもできます。このためには、それぞれの[Execute]出力を[New Execute]ポートに接続します。
[Execute Once on Enter State]: このポートは、[Simulation Root]ノードの[Primary State]と[State]コンパウンドの両方にあります。
このポートは、状態に入った最初のフレームで、接続されたエフェクト コンパウンドを実行します。[Execute on Trigger]ポートと同様、「サーフェイス上でバウンス」イベントで新しいパーティクルを連続発生させる場合など、すべてのフレームにおいてではなく一度だけアクションを実行する場合に便利です。
[Execute Every Frame]:[State]コンパウンドの場合のみ、このポートは接続されているエフェクトコンパウンドをすべてのフレームで実行し、パーティクルがシミュレーション全体で評価され続けるようにします。ゴール オブジェクトに到達したときに新しい色を保持する場合など、パーティクルに新しい状態を維持させる場合に便利です。
エフェクト コンパウンドの大部分は、Preset Manager の[Particles]タブの[Motion Control]、[Surface Interaction]、[Goals]、[Spawning]、[Strands]、[Deleting Particles]の各グループにあります。
ただし、[Forces]グループや[Setters]グループのコンパウンドなど、パーティクルの動作や属性に変化を引き起こすコンパウンドであれば、任意のコンパウンドを使用できます。たとえば、エフェクトとして、特定の条件に合致したときにパーティクルを引き下げたりパーティクルの速度を変化させる(パーティクルの速度を設定する)重力(フォース)が挙げられます。
ここで、状態のエフェクトによく使用されるコンパウンドの一部について説明します。
サーフェイスからの跳ね返り(Bounce Off Surface) |
障害物と衝突したときに、パーティクルを跳ね返らせます。 詳細については、「障害物に当たって跳ね返るICE パーティクル」を参照してください。 |
カーブに沿った流れ(Flow Along Curve) |
パーティクルがカーブのタンジェントに揃うように、速度ベクトルを変更します。 詳細については、「カーブに沿って流れるICE パーティクル」を参照してください。 |
サーフェイスを中心とした流れ(Flow Around Surface) |
パーティクルが障害物の周囲を移動する(障害物を避ける)ように、速度ベクトルを変更します。流体フローに便利です。 詳細については、「オブジェクトの周囲を移動するICE パーティクル」を参照してください。 |
ゴールに向かった移動(Move Towards Goal) |
1 つまたは複数のオブジェクト(ゴール)にパーティクルを引き付けます。 詳細については、「ICE パーティクルのゴール」を参照してください。 |
コントローラを中心としたオービット(Orbit Around Controller) |
パーティクルがオブジェクトの周囲を継続的に回るようにします。 詳細については、「オブジェクトの周囲を旋回(オービット)するICE パーティクル」を参照してください。 |
サーフェイス上でスライド(Slide on Surface) |
パーティクルがサーフェイス上を滑って、場合によっては流れ落ちるようにします。 詳細については、「障害物を滑るICE パーティクル」を参照してください。 |
発生(Spawning) |
元のパーティクルから新しいパーティクルを作成します。 詳細については、「ICE パーティクルの連続発生」を参照してください。 |
開始タイマー(Start Timer) |
パーティクルが特定の状態にとどまる時間を決定するために定義したタイマーを開始します。 「パーティクルタイマの設定」を参照してください。 |
位置への貼り付け]および[サーフェイスへの貼り付け(Stick to Location and Stick to Surface) |
パーティクルが障害物に衝突したときに、障害物のサーフェイスか特定の場所にくっつくようにします。 詳細については、「障害物にくっつくICE パーティクル」を参照してください。 |
ストランド(Strands) |
パーティクルの後を追う束(軌跡)を作成します。 詳細については、「ICE パーティクルストランド」を参照してください。 |
サーフェイスからの貼り付け解除(Unstick from Surface) |
くっついたパーティクルが障害物から離れるようにします。 詳細については、「障害物からパーティクルを離す(はがす)」を参照してください。 |
Deleting Particles]グループのコンパウンド(Compounds in the Deleting Particles Group) |
パーティクルが特定の経過時間に達したとき、特定の場所に到達したとき、またはオブジェクトと衝突したときに、パーティクルを消滅させるなどして、パーティクルを削除します。 「ICE パーティクルの寿命」を参照してください。 |
Forces]グループのコンパウンド(Compounds in the Forces group) |
パーティクルにさまざまなタイプのフォースを適用して、パーティクルを動かします。 |
Setters]グループのコンパウンド(Compounds in the Setters group) |
パーティクルのカラーやサイズの設定など、パーティクルの属性を変更します。 これらのタイプのコンパウンドの使用については、「ICE パーティクル属性を取得および設定する」を参照してください。 |