CurlNoise Framework(カールノイズ フレームワーク)

 
 
 

このコンパウンドは、発散のない速度フィールドを生成するフレームワークを提供します。つまり、パーティクルはどの場所にも蓄積されることなく、乱れた動きをします(「溜まる場所」や「発生源」はありません)。カール ノイズを使用すると、岩の周りを流れる水や、燃える丸太や建物の周囲で揺らめく炎など、あらゆる種類の見栄えの良い乱流エフェクトを作成できます。

パーティクルの流れの主な方向は、[Directional Factor]および[Direction]の各パラメータを使用して設定できます。このメインとなる動きには、[Perlin Factor]パラメータを使用してある程度の乱流を加えることができます。これは、2D 合成アプリケーションの計算ノードと同様の動作です。このノイズ フィールドには、[Potential]ポートにノイズを接続することで、いくつでもノイズを追加することができます。

また、シミュレーションには複数の境界オブジェクト(障害物)を追加することもできます。この場合、ベクトル フィールドは、そのような領域に応じて反応するように設定されます。

ヒント:このコンパウンドは、パーティクルにいくらかの乱流エフェクトを与えるために、Basic Fire(基本ファイア)コンパウンドで使用されます。

このコンパウンドを使用すると、パーティクルの[Initial Direction]および[Speed](通常は放出ノードで設定されます)はオーバーライドされます。

また、このコンパウンドを他のフォース([風]など)と組み合わせて使用する場合、そのフォースの強さを大幅に増加させる必要があります。これは、カール ノイズが非常に強力なフォースであるためです。

このコンパウンドの[Execute]出力は、[Simulation Root]ノードの[Execute]出力に接続します。また、以下で説明する[Mode]の選択に応じて、[Force]または[Simulate]ポートに出力を接続することもできます。

ICEツリーでポイント クラウドを選択し、[ICE]ツールバーから[パーティクル](Particles) [エミッション後](After Emission) [カールノイズの追加](Add Curl Noise)を選択して、このコンパウンドを[Simulation Root]ノードの[Execute]出力に自動的に接続することもできます。

タスク: [Particles]/[Curl-Noise]

出力ポート: [Execute]

カール

オフセット(Offset)

パーティクル エミッタのスケールに応じてノイズを計算するために、ノイズ フィールドをサンプリングする空間での位置をオフセットします。この値は、Softimage 単位で指定します。

約 10 単位のサイズのバウンディング ボックスを持つオブジェクトからパーティクルが放出される場合、このオフセットを変更する必要はありません。ただし、エミッタが非常に小さい場合は、オフセットを低くする必要があります(0.001 など)。また、エミッタが非常に大きい場合(100 単位に近い場合)は、オフセットを増加させる必要があります(0.5 以上)。

モード(Mode)

カール ノイズを使用してパーティクル データを設定する方法を選択します。

  • [フォースを設定](Set Force): カールノイズを純粋にフォースとして使用できます。コンパウンドの出力は、[Simulation Root]ノードの[Execute]ポートに接続します。また、このノードの[Simulate]ポートには[Simulate Particles]ノードを接続します。この方法では、他のフォースと[CurlNoise]コンパウンドを組み合わせて使用できます。

また、[CurlNoise]コンパウンドの出力を[Simulation Root]ノードの[Force]ポートに接続することで、このコンパウンドのフォースだけを使用できます。

  • [位置を設定](Set Position): カールノイズを使用して、純粋にポイントの位置を設定できます。このコンパウンドの出力は、[Simulation Root]ノードの[Simulate]ポートに接続します([Simulate Particles]ノードではなく、このノードがポイントの位置を設定します)。ベクトル フィールドを非圧縮に維持するには、この方法が最適です。

  • [速度を設定](Set Velocity): カールノイズを使用して、純粋にポイントの速度を設定できます。このコンパウンドの出力は、[Simulation Root]ノードの[Execute]ポートに接続します。

Main Flow Direction(メインの流れの方向)

方向性係数(Directional Factor)

ノイズの速度を設定します。パーティクルの初期速度は、この値によってオーバーライドされます。

境界ドラッグ(Boundary Drag)

以下で説明する[Boundary]オブジェクトの[Cutoff]距離の範囲内にあるパーティクルに、ドラッグ フォースを追加します。何らかのエフェクトを得るためには、このドラッグに対して[Cutoff]値をゼロよりも大きな値に設定する必要があります。これは、パーティクルの方向と速度の両方に影響します。

このドラッグにより、パーティクルが境界に近づくと、パーティクルの速度が低下または停止するエフェクトが得られます。ただし、遠く離れたパーティクルは、速度が維持または増加されます。

方向(Direction)

XYZ グローバル座標で表したノイズの流れの方向です。パーティクルの初期方向は、この値によってオーバーライドされます。

オブジェクトを使用(Use Object)

コントローラ オブジェクトを使用して、パーティクルの流れのメイン方向に影響を与える場合は、このオプションを選択します。

コントローラの名前(Controller Name)

コントローラ オブジェクトの[Out Name]出力を接続して、障害物として使用します。パーティクルは、この障害物の周囲を流れます。

モード(Mode)

コントローラ オブジェクトを使用する場合は、そのオブジェクトに対して使用する空間を選択できます。

  • [ローカル空間](Local space): オブジェクトのローカル XYZ 座標です。

  • [グローバル空間](Global space): オブジェクトのグローバルXYZ座標です(コントローラオブジェクトが子になっている場合)。

Perlin Noise Base Layer(Perlin ノイズ ベース レイヤ)

これは、[Perlin Turbulences(Perlin 乱流)]コンパウンドによって内部で制御されます。

Perlin係数(Perlin Factor)

[Perlin]ノイズは空間的に一貫性があります。つまり、空間的にだいたい同じ位置にあるいくつかのポイントには、同じようなノイズが加えられます。ランダム値とランダム値の間は補間されます。これにより、ノイズ フィールド内にパーティクルの「ストリーム」が作成されます。

[Perlin]ノイズでは、自然界のエレメントがランダムにコントロールされているように模倣して、オブジェクトをより自然に作成できます。つまり、ほとんどランダムに見せながら実はノイズに構造があります。

境界ドラッグ(Boundary Drag)

上記の[Boundary Drag]パラメータと同様に、このパラメータは、[Boundary]オブジェクトの[Cutoff]距離の範囲内にあるパーティクルに、ドラッグ フォースを追加します。ただし、ノイズ フィールドの動きにだけ影響します。

シード(Seed)

使用される乱数のシーケンスを定義します。2 つのノードで同じパラメータを使用して異なる値のセットを生成する必要がある場合は、それぞれのノードに異なるシードを割り当てます。

時間による変化(Time Varying)

時間の経過に伴って、ノイズを連続的に進行させます。これにより、ノイズ パターンのバリエーションを増やすことができます。このオプションがオフの場合、シミュレーションを通して同じノイズ パターンが繰り返されます。

時間周波数(Time Frequency)

時間の経過に伴ってノイズが進行する速度(ノイズ パターンが繰り返される頻度)です。このパラメータを有効にするには、[Time Varying]オプションを選択する必要があります。

空間周波数(Space Frequency)

ノイズ パターンの粒状度です。この空間内で、ノイズ パターンが繰り返される頻度を表します。空間周波数の XYZ 値が大きいほど、ノイズが細かくなります。

複雑さ(Complexity)

ノイズに追加するオクターブ数を定義します。基本的にはノイズにフラクタル タイプの複雑さを追加し、ノイズ パターンの詳細レベルを上げることができます。このパラメータは、大きなノイズ フィールドに小さな複雑さを追加する場合に便利です。

乱流の値は、各オクターブについて、振幅の半分と周波数の 2 倍が追加されたものとして計算されます。[Complexity]を 1 に設定した場合は、フラクタル パターンのないシンプルなノイズが生成されます。

複雑さの設定は、パフォーマンスに影響を与えます。2 オクターブのノイズは、1 オクターブのノイズと比較して、2 倍の計算時間がかかります。

バウンダリ(境界)

オブジェクトを使用して、パーティクルの流れに対する境界(障害物)として機能させることができます。

境界(Boundary)

境界として機能させるサーフェイス オブジェクトの[Value]出力を接続します。

切捨て(Cutoff)

パーティクルが境界オブジェクトの影響を受ける距離(Softimage 単位)です。たとえば、このパラメータを 2 に設定すると、2 単位の「バッファ」がオブジェクトの周囲に設定されます。この境界にあるパーティクルは、上記で設定した[Boundary Drag]値の影響を受けます。

たとえば、パーティクルが境界に近づくにつれて速度を落としたり、くっついたりするように動作させる場合は、[Boundary Drag]値を設定できます。[Boundary Drag]を使用するには、[Cutoff]値をゼロよりも大きな値に設定する必要があります。

プロファイル カーブ(Profile Curve)

[Cutoff]値の減衰を制御します。

ポテンシャル(Potential)

より多くのノイズ フィールドを得るためのグラディエント ポテンシャルです。ここには[Perlin Turbulence]ノードを接続できます。このノードでは、既存のノイズ フィールドと組み合わせる追加のノイズ フィールドを定義できます。このノイズ フィールドには、いくつでもノイズを追加することができます。

たとえば、[Curl-Noise Framework]コンパウンドで大きなノイズ フィールドを作成した場合、小さな複数のノイズを[Perlin Turbulence]ノードで作成し、大きなノイズをさらに複雑な動作にすることができます。