ICE パーティクルの向き

 
 
 

個々のパーティクルを回転させて、さまざまなエフェクトを作成できます。たとえば、うねるように膨らむ煙、吹き飛ぶ破片、くるくると舞う雪片などです。

パーティクルが放出されるときのパーティクルの回転(向き)を設定できます。この値は、特定のタイプのフォースによって変更されるまで、パーティクルの続期間を通して保たれます。パーティクルの各方向に変化を加えるには、乱流コンパウンドを使用します。

パーティクルが放出されるときに、サーフェイスに整列したり、速度やカーブに合わせたり、渦巻くエフェクトを作成するためにポイントに合わせるなど、さまざまな方向にパーティクルを回転できます。パーティクルをさまざまなエフェクトでスピンまたは回転することができます。

ICE Tree の Preset Manager の[ツール]タブにある[Rotation]グループには、多くの回転コンバータが用意されています。

パーティクルがオブジェクトと衝突する場合、衝突後に回転が変化しないことに気が付くかもしれません。つまり、回転したパーティクルがオブジェクトに衝突した場合でも、現実の世界で発生するようなパーティクルの回転が変化(高速回転で、または衝突時に回転方向が変わるなど)することはありません。

パーティクルの向きの属性

パーティクルの向きを定義するためのパーティクルの属性には、[Init_Orientation]と[Orientation]の2つがあります。これらの属性はいくつかのコンパウンドで使用されますが、ICE パーティクル属性を使用するに説明されているように、[Get Data]および[Set Data]ノードで指定してICEツリーで単独に使用することもできます。

属性の一般情報と使用可能なICE属性のリストについては、ICE 属性を参照してください。

パーティクルの初期方向の設定

エミッタオブジェクトからパーティクルが放出される向きを指定できます。これらの向きは、存続期間を通じて同じに保たれます。

   

(左)パーティクルは放出時に回転するので、Y 軸はエミッタオブジェクトのサーフェイス法線に沿ってポイントします。

(右)パーティクルは、放出時に Z 軸を中心に 45 度回転します。

パーティクルの初期の向きを設定するには

  1. パーティクル放出を作成します。「さまざまなICE パーティクル放出の設定」を参照してください。

  2. [Emit]コンパウンドのプロパティエディタで、次のいずれかを設定します。

    • パーティクルの Y 軸がエミッタオブジェクトの法線に沿って整列する場合は、[Align to Surface Normal]オプションを選択します。

      または

    • パーティクルの[向き](Orientation)をローカルの X、Y、Z 軸に設定します。どの軸を中心に回転させるかを選択できます(任意の軸の組み合わせを選択できます)。ここではクラシック飛行機を例に挙げて説明します。

      A

      Y 軸を中心にパーティクルが回転します(ヨー)。

      B

      X 軸を中心にパーティクルが回転します(ピッチ)。

      C

      Z 軸を中心にパーティクルが回転します(ロール)。

    • 次に、軸の周囲を回転させる角度である特定の[角度](Angle)値を指定します。

      たとえば、軸が X=0、Y=0、Z=1 で、角度が 45 の場合、パーティクルはZ軸の周囲を45 度回転します。角度は回転の量を指定し、ベクトルは回転されるパーティクルの軸を指定します。

パーティクルの向きの表示

各パーティクルの向きを表示するには、パーティクルの表示シェイプを[Particle Display]プロパティエディタで円錐に変更します。円錐を使用すると、特にコンパウンドを使用して向きを変更しているときに、パーティクルが指している方向を確認できるようになります。

パーティクルの向きを使用して属性を作成し、表示形式を軸、角度数、角度、数値のいずれかにすることができます。この機能は、インスタンス化されたジオメトリなどで、パーティクルのワイヤフレームまたはバウンディングボックスを操作しているときに特に便利です。

詳細については、「パーティクル表示属性を作成する」を参照してください。

軸として向きが表示されたパーティクル。

向きのランダマイズ

[Randomize Rotation by Cone]コンパウンドを使用して、パーティクルが放出される初期の向きをランダマイズすることができます。このコンパウンドを使用して、パーティクルにランダムに適用される角度の範囲を指定して、さまざまな回転値でパーティクルが放出されるようにすることができます。パーティクルの方向は、パーティクルが存続する期間にわたり、同一に保持されます。

パーティクルは、0~45 度の間の値とツイストを使用して、放出時に Y 軸を中心にランダムに回転されます。

パーティクルの向きをランダマイズするには

  1. パーティクル放出を作成します。「さまざまなICE パーティクル放出の設定」を参照してください。

  2. ICE Tree の Preset Manager で、[タスク]タブをクリックし、[Particles]を選択します。

  3. [Modifiers]グループの[Randomize Rotation by Cone]コンパウンドをICEツリーにドラッグします。

  4. このコンパウンドの[Result]出力を[Emit]コンパウンドの[Direction]ポートなどの任意の方向ポートに接続します。

  5. [Randomize Rotation by Cone]プロパティエディタで、回転のランダマイズが発生したときのパーティクルのローカルの軸を[Cone Axis]に設定します。

    次に、パーティクルの回転が変化する角度の範囲(完全な回転範囲は0~360)を作成する[Start Angle(開始角度)]と[End Angle(終端角度)]を設定します。

    Y 軸の周囲をどのくらいパーティクルが回転するかを指定するツイスト値の範囲を設定することもできます。

パーティクルの回転

[Roll Particles]コンパウンドは、サイズに応じたレートでパーティクルを回転させます。パーティクルの上方ベクトル値を設定して、回転の基点となる軸を定義できます。この設定は、ビー玉が転がる様子や落石を表現するエフェクトを作成する場合に便利です。

パーティクルが回転するサーフェイスを定義する場合、[Slide on Surface]コンパウンドを使用できます。このコンパウンドの中には、さらに[Roll Particles]コンパウンドが含まれています(「障害物を滑るICE パーティクル」を参照)。

XZ 平面で回転するパーティクル。

パーティクルを回転するには

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

  2. [ICE]ツールバーから[パーティクル](Particles) [エミッション後](After Emission) [パーティクルのロール](Roll Particles)コマンドを選択します。

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

  3. [Roll Particle(パーティクルの回転)]プロパティエディタで値を設定します。

パーティクルのスピン

[Spin Particle]コンパウンドは、指定した 1 秒あたりの回転数で軸を中心にパーティクルをスピンさせます。このコンパウンドは、煙が立ち込めたり、爆発するエフェクトを作成する場合に便利です。

このコンパウンドは、他の方向コンパウンドと併用することができます。たとえば、[Align on Velocity]コンパウンドを使用して、前方方向をX=1に設定し、その軸を中心にパーティクルをスピンさせて、弾丸がスピンしながら飛んでいくエフェクトを作成することができます。

放出時に 1 秒あたり 1 軸回転レートで Y 軸を中心にスピンするパーティクル。

パーティクルを一方向にスピンさせるには

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

  2. [ICE]ツールバーから[パーティクル](Particles) [エミッション後](After Emission) [パーティクルのスピン](Spin Particles)コマンドを選択します。

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

  3. [Spin Particle(パーティクルのスピン)]プロパティエディタで、パーティクルのスピン軸([Select Spin Axis(スピン軸の選択)])と、パーティクルの 1 秒あたりの回転数([Spin Rate(スピンレート)])を設定します。

速度ベクトルに沿ったパーティクルの整列

[Align on Velocity]コンパウンドは、移動の方向(ベクトル)に合わせてパーティクルを整列します。この機能は、鳥の群れ、矢印、人ごみ、軌道、銃弾、および動きに合わせて向きを合わせる必要があるエフェクトを作成する場合に便利です。

[Flow Along Curve]コンパウンドを使用している場合は、このコンパウンドはオプションとして組み込まれています。詳細については、「カーブに沿って流れるICE パーティクル」を参照してください。

速度ベクトルに沿ってパーティクルを整列するには

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

  2. [ICE]ツールバーから[パーティクル](Particles) [エミッション後](After Emission) [速度で整列](Align on Velocity)コマンドを選択します。

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

  3. [Align on Velocity(速度で整列)]プロパティエディタで、パーティクルの割り当てに使用される軸となる[Local Vector(ローカルベクトル)]と、フレームごとにパーティクルをどの程度回転させるかを定義する[Weight(ウェイト)]を設定します。また、回転量を制限する最大値を設定することもできます。

パーティクルのカメラまたは位置への整列(ビルボード化)

ビルボード エフェクトを作成できるコンパウンドは、[Align Particle to Camera]、[Billboard Orientation(ビルボードの向き)]および[Align Particle to Position]の 3 つです。

カメラを向くようにパーティクルを整列させる

[Align Particle to Camera]コンパウンドは、パーティクルの Y 軸がカメラを向くように、カメラルートのグローバル位置にパーティクルを整列させ、「ビルボード」エフェクトを作成できるようにします。

左: パーティクルビルボードは、Y 軸が常にカメラルートを向くように向きを変えます。

右: カメラを向いているテクスチャパーティクルビルボードのカメラの視点。

パーティクルをカメラルートの位置に整列するには

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

  2. [ICE]ツールバーから[パーティクル](Particles) [エミッション後](After Emission) [カメラに整列](Align to Camera)コマンドを選択します。

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

  3. [Align Particle to Camera(パーティクルのカメラへの整列)]プロパティエディタで、カメラルートの名前を指定します。[ピック](Pick)ボタンをクリックしてシーン内のカメラルートを選択するか、[Explorer]ボタンをクリックしてリストからカメラルート名を選択するか、テキストボックスにカメラルートの名前を入力します。

  4. 同じプロパティエディタで、パーティクルの整列方法を選択します。

任意のグローバル位置またはオブジェクトを向くように整列する

[Align Particle to Position(パーティクルの位置への整列)]コンパウンドは、オブジェクトのグローバル位置など、グローバル空間での任意の位置にパーティクルを整列します。

パーティクルは、Y 軸が常にグローバル空間の位置を指すように向きを変えます。オブジェクトのグローバル位置を使用して、パーティクルが常にそのオブジェクトを向くようにすることができます。

パーティクルのベクトルへの整列

[Align Particles to Vector]は、パーティクルのベクトルを別のベクトルに沿ったポイントに割り当てます。たとえば、パーティクルの Y 軸を、X 軸、オブジェクトの特定のベクトル、または定義したベクトルに沿ったポイントに割り当てることができます。

パーティクルの Y 軸は、X 軸に沿ったポイントに並ぶように割り当てられています。

特定のベクトルを別のベクトルに整列するには

  1. パーティクル放出を作成します。「さまざまなICE パーティクル放出の設定」を参照してください。

  2. ICE Tree の Preset Manager で、[タスク]タブをクリックし、[Particles]を選択します。

  3. [Orientation]グループの[Align Particle to Vector]コンパウンドをICEツリーにドラッグします。

  4. このコンパウンドの[Execute]出力は、[ICETree]ノードの[Port]に接続します。

  5. [Align Particles to Vector]プロパティエディタを開き、パーティクルの整列に使用される[Local Vector]を選択します。Y 軸は通常、パーティクルの長さに沿って向くベクトルです。パーティクルのシェイプを円錐に変更すると、Y 軸が円錐のポイントの方向であることが確認できます。X 軸と Y 軸は、横向きの軸です。

  6. オブジェクトまたは特定のベクトルを使用する場合は、[Vector]出力を[Align Particles to Vector]コンパウンドの[To Vector]ポートに接続します。

    入力オブジェクトを使用していない場合は、[Local Vector]をポイントする際の基準となるベクトルを[To Vector]に選択します。

  7. [Weight(ウェイト)]に、パーティクルがフレームごとに回転される量を指定します。この値は比率です、1.0 に設定した場合は、パーティクルはすぐに整列されます。この値を 0.1 に設定した場合は、パーティクルは各フレームで 10% ずつ回転します。

サーフェイスへのパーティクルの整列

[Align Particles to Surface]コンパウンドは、サーフェイスオブジェクトの法線の方向にパーティクルを向けさせます。この機能は、岩の上を這っている虫や表面を滑り落ちる物体など、パーティクルをオブジェクトに沿って特定の方向に揃えたい場合に便利です。

[Flow Around Surface]コンパウンドを使用している場合は、このコンパウンドはオプションとして組み込まれています。詳細については、「オブジェクトの周囲を移動するICE パーティクル」を参照してください。

パーティクルは、特定の距離内に入ると、Y 軸が入力オブジェクト(球)のサーフェイス法線の方向になるように向きを変えます。

パーティクルをオブジェクトの法線に整列するには

  1. パーティクルを整列させる1つまたは複数のポリゴンメッシュオブジェクトを作成します。たとえば、オブジェクト間でパーティクルを移動させ、特定の距離に近づいたら互いに整列するようにすることができます。

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

  3. [ICE]ツールバーから[パーティクル](Particles) [衝突](Collision) [サーフェイスに整列](Align to Surface)コマンドを選択します。

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

  4. パーティクルの整列に使用する1つまたは複数のオブジェクトを選択します。続けて、各オブジェクトの[Get Data]ノードを[Align Particle to Surface]コンパウンドの[Surface]ポートに接続します。

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

  5. [Align Particle to Surface(パーティクルのサーフェイスへの整列)]プロパティエディタで、整列のパラメータを必要に応じて設定します。これによって、パーティクルと、このコンパウンドに接続されたすべてのオブジェクトの関係が変わります。