ICE パーティクル放出を調整する

 
 
 

基本のパーティクル放出を設定したら、以下のようにさまざまな方法で変更を加えることができます。

開始放出フレームの変更

パーティクル放出の開始フレームを変更するには、[Simulation Time Control]プロパティエディタで設定されている[オフセット](Offset)値を設定します。

  1. [開始フレーム使用](Use start frame)オプションの選択を解除して、[オフセット]テキスト ボックスを有効にします。選択を解除しない場合は、シーンのタイムラインの開始フレームが自動的に使用されます。

  2. [オフセット](Offset)値を設定します。これは、シミュレーションがシーンの最初のフレームからオフセットされるフレーム数です。

    ICE パーティクルが実際に放出されるのは、シミュレーションのフレーム範囲の 2 番目のフレームからのみです。たとえば、シミュレーションの開始フレームが 100 に設定されている場合、シミュレーションはそのフレームから開始しますが、パーティクルが実際に放出されるのはフレーム 101 以降です。つまり、パーティクルを実際にフレーム 100 で放出させるには、[オフセット]値として 99 を入力する必要があります。

パーティクル エミッションの時間範囲を制限する

[Limit by Time Range]コンパウンドを使用して、特定の範囲のフレーム内でのみパーティクル放出が発生するように制限できます。これらの値は、[[Simulation Time Control]プロパティエディタ]に現在設定されている[オフセット]値および[デュレーション]値の間の値にする必要があります。

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

  2. [ICE]ツールバーから[パーティクル](Particles) [エミッション時](On Emission) [時間範囲による制限](Limit Time Range)コマンドを選択します。

    このコマンドでは[Limit by Time Range]コンパウンドを ICE ツリーに追加し、[Emit]コンパウンドの[Enable]ポートに接続します。

  3. [Limit by Time Range(時間範囲による制限)]プロパティ エディタで、パーティクル放出を制限するフレームの範囲を設定します。

  4. シミュレーションを再生して、指定した範囲内でのみパーティクルが放出されることを確認します。

エミッタを変更する

パーティクル放出を変更するには、[Emit]コンパウンドに接続されているエミッタを交換します。それ以外の操作は必要ありません。ただし、エミッタ オブジェクトは、[Emit]コンパウンドのジオメトリ タイプ(サーフェイス、カーブ、ヌルなど)と一致している必要があります。これにより、エミッタを別のエミッタに簡単に切り替えることができるので、コンパウンドの共有も簡単に行えます。また、コンパウンド内に含まれる同じエフェクトが、別のエミッタによって簡単に作成されます。

これには次の 2 つの方法があります。

  1. ICE ツリーで、既存のエミッタの[Get Data]ノードを開きます。

  2. テキスト ボックスに新しいエミッタの名前を入力するか、[Explorer]ボタンをクリックして Explorer からエミッタを選択します。

または

  1. Explorer から ICE ビューに新しいエミッタ オブジェクトの名前をドラッグして、[Get Data]ノードを作成します。

    ヒント:この作業を簡単に行うには、オブジェクトを選択してから[F3]を押してフローティングした Explorer を開き、そこからエミッタの名前を ICE ツリーにドラッグします。
  2. 既存のエミッタ オブジェクトの接続の最上部にあるこの[Get Data]ノードを、[Emit]コンパウンドの[Emitter]ポートにドラッグします。これにより、古いエミッタ オブジェクトが自動的に新しいものに置き換えられます。

    これで、パーティクルが新しいオブジェクトから放出されるようになりました。

エミッタにパーティクルを保持する

エミッタをアニメート(移動)または変形している場合、放出後にパーティクルがエミッタに保持されたままにならないことがあります。この現象は、髪束を作成する場合などによくあるように、パーティクルの速度を 0 に設定している場合や、シミュレートされていない ICE ツリーでパーティクルを放出する場合に特に顕著です。

パーティクルとその髪束を一緒に移動させるために必要なのは、パーティクルの位置を放出位置に設定するという、単純な操作です。

このためには、[Get Particle Emit Location]コンパウンドを取得して、その[Position]出力を[Set Data]ノードに接続します。パーティクルの出力後、[Set Data]ノードを[ICETree]ノードに直接接続することができます。

エミッタからパーティクルをオフセットする

パーティクルが発生したときに、パーティクルをエミッタからオフセットできます。この場所は、パーティクルの[EmitLocation]属性によって定義されます。

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

  2. [ICE]ツールバーから[パーティクル](Particles) [エミッション時](On Emission) [エミッタのオフセット](Offset Emitter)コマンドを選択します。

    このコマンドは[Offset Particle from Emitter]コンパウンドをICEツリーに追加し、放出コンパウンドの[Execute on Emit]ポートに接続します。

    [Create Strands]などの他のノードが[Emit]ポートの[Execute]に接続されている場合は、必ずその上に[Emitter]コンパウンドの[Offset Particles]を接続し、髪束が作成される前にパーティクルがオフセットされるようにします。

  3. [Offset Particle from Emitter(エミッタからのパーティクルのオフセット)]プロパティエディタで、パーティクルが発生する放出位置からの距離(Softimage 単位)を設定します。どの放出方向を設定した場合も、パーティクルはこの量だけオフセットされます。

       

    エミッタからのオフセットが設定されていないパーティクル クラウド。

    エミッタから 3 Softimage 単位のオフセットが設定されたパーティクル クラウド。

フレーム上でパーティクル放出を拡散する

パーティクル放出の移動が非常に速い場合など、エミッタが空間を移動するときに、パーティクルのクランプやノイズが発生することがあります。この場合は、パーティクルが各フレームでのみ放出され、エミッタの速度が速すぎて放出に追いつかないため、パーティクル放出の間に空白の空間が挿入されてしまいます。

高速で移動するエミッタで連続したパーティクル ストリームを作成するには、[Emit]コンパウンドのプロパティ エディタのいずれかで[Fast Moving Emitter]オプションを選択します。このオプションを使用すると、放出されたパーティクルのストリームがスムーズになり、ノイズがなくなります。このオプションでは、リニア ブレンドを使用してパーティクルの前のフレームの放出位置を現在の放出位置と補間することで、2 つのフレームの「間」にパーティクルを生成します。

特に、線状に移動しないエミッタにおいてノイズ エフェクトを細かくコントロールするために、サブフレーム サンプリングを設定することができます(「ICE シミュレーションのサブフレーム サンプリング」を参照)。

パーティクル放出をミュートする

ミュートすると、一時的にパーティクル放出が無効になります。これにより、シーン内の他のパーティクル放出のエフェクトを分離して微調整したり、この放出をシーンの一部として計算せずにシーンのアニメーションを再生することができます。

また、ミュートをアニメートして、パーティクルの噴出を断続的に放出させることができます。

パーティクル放出をミュートするには、[Emit]コンパウンドのプロパティ エディタのいずれかで[有効](Enable)オプションを選択してそのパーティクル放出だけをミュートします。

注:[Simulate Particles]コンパウンドのプロパティ エディタで[ミュート](Mute)オプションを選択した場合は、パーティクルは放出できますが、各フレームで更新されることはありません。

パーティクル放出を接続解除する

パーティクル放出を接続解除するには、[Simulation Root]ノードまたは[ICETree]ノードのポートから[Emit]コンパウンドの[Execute]出力を切断します。これにより、パーティクル放出と、[Emit]コンパウンドに接続されているすべてのコンパウンドおよびノードが無効になります。