効率性はさておき、GPU パーティクルの最も興味深い機能はベクター フィールドです。ベクター フィールドはベクトルの統一グリッドで、パーティクルの動作に影響を及ぼします。ベクターフィールドはアクタ (グローバル ベクター フィールド) としてワールドに配置され、その他のアクタ同様に移動、回転、そしてスケーリングされます。ベクター フィールドは、動的でいつでも移動させることができます。フィールドはカスケード (ローカル ベクター フィールド) 内に配置することも可能で、関連するエミッタに及ぼす影響を制限します。パーティクルがベクター フィールド範囲に突入すると、パーティクルの動作はフィールドに影響され、パーティクルがフィールド範囲を離れるにつれて影響度が薄れます。
ベクター フィールドは、デフォルト設定でフィールド内のパーティクルへ影響力を与えます。ベクター フィールドには、正確さを制御するパラメータもあります。このパラメータは、パーティクルがフィールドのベクターを追跡する正確さを制御します。Tightness を 1 に設定すると、パーティクルはベクターのベロシティを直接フィールドから読み出し、フィールドを正確に追跡します。
スタティック ベクター フィールドは、ベクターのグリッドが絶対に変化しません。フィールドは Maya からエクスポートして、ボリューム テクスチャとしてインポートします。スタティック フィールドは負荷がほとんどかからず、特にフィールド自体の動作をアニメートすることによって興味深い動作をパーティクルに追加します。
加えて、ベクター フィールドは 2D 画像から再構成することもできます。この場合、法線マップによく似た画像をボリューム付近で押し出しまたは回転させることによって、ボリューム テクスチャを再構成するためにインポートおよび使用されます。この再構成に加えて、スタティック ベクター フィールドがノイズやランダムな動きを発生させるために追加されます。2D 画像は、テクスチャアトラスで個別のフレームを格納することによってアニメートされます。これによって液体シミュレーションオフラインを実行し、わずかなコストで動作をリアルタイムで再構成することができます。
Global Vector Fields

このシーンで細かくハイライトされている線は、レベルに配置されているグローバル ベクターフィールド ボリュームが可視化されたものです。
Global Vector Fields モジュールは、パーティクル システムでグローバルベクターフィールドの使用を可能にします。パーティクル システムの継承した部分というよりは、レベル内のボリュームを通じて配置されたベクターフィールドです。
最大限に活用するには、ベクターフィールドと関連付けした Vector Field Volume アクタがレベル内に存在しなくてはいけません。
プロパティ | 説明 |
---|---|
Vector Field | |
Global Vector Field Scale | この浮動小数値はグローバルベクターフィールドがパーティクルの動きに及ぼす影響の大きさをスケーリングします。1 よりも小さい値はエフェクトを抑制し、1 よりも大きな値はエフェクトが過度にかかります。 |
Local Vector Field

Local Vector Field モジュールは、パーティクル システム内のエミッタとベクターフィールドを直接関連付けします。ベクターフィールドとパーティクル システムが単一ユニットと捉える場面で便利です。
プロパティ | 説明 |
---|---|
Vector Field | |
Vector Field | コンテンツ ブラウザ から割り当てられたベクターフィールドをを格納するプロパティです。ベクターフィールドを選択して、矢印ボタンをクリックして割り当てるのみです。 |
Relative Translation | エミッタ内のベクターフィールドの位置をオフセットします。 ローカル ベクターフィールドを数値で変換することもできますが、[Preview] ペインで移動ウィジットを使用して変換するほうがより直観的です。エミッタリストで Local Vector Field モジュールが選択されると、常にこのウィジェットが有効になります。 |
Relative Rotation | ローカル ベクターフィールドの回転をオフセットします。 |
Relative Scale 3D | ローカル ベクターフィールドのスケーリングを編集します。ベクターフィールドが作成されたスケール次第では実用的な機能です。 |
Intensity | ローカル ベクターフィールドの全体強度に作用します。ベクターフィールドの力の強さの乗数と考えてください。0 の値はベクターフィールドを効果的に無効にします。1 よりも大きな値はエフェクトが過度にかかります。 |
Tightness | ベクターフィールドがパーティクルの動きを制御する値です。0 の値はベクターフィールドの力が機能していることを意味し、パーティクルのベロシティに加算的に作用します。1 の値はパーティクル ベロシティがベクターフィールドグリッドで定義されたベロシティによって完全に置き換えられたことを意味します。0 と 1 の間の値は、上述の両極端な 2 つの結果をブレンドした結果になります。 |
VF Init Rotation

Vector Field Initial Rotation モジュールは、初期回転量をベクターフィールドへ適用します。ベクターフィールドの全体的な方向性の細かいチューニングやパーティクル システムの動きをランダムに割り付けたい時に便利です。このモジュールはベクターフィールドの回転をランダムに割り付ける際に、自動的に最大/最少範囲を使用します。
このモジュールの使用時は、[Preview] パネルへベクターフィールドを表示すると便利です。[Preview] パネルで、[View] > [Vector Fields] をクリックすると表示されます。
プロパティ | 説明 |
---|---|
Vector Field | |
Min Initial Rotation | X、Y、Z 軸を回転する初期および最少回転度です。この値は [0..1] に算出されます。0.25 = 90 度、0.5 は 180 度といった具合になります。 |
Max Initial Rotation | X、Y、Z 軸を回転する初期および最大回転度です。この値は [0..1] に算出されます。0.25 = 90 度、0.5 は 180 度といった具合になります。 |
VF Rotation Rate
ローカル ベクターフィールドへ一定の回転率を適用したい場合、VF Rotation Rate モジュールの使用が大変便利です。このモジュールを使用すると指定したベクターフィールドへ回転率を分散して適用することができます。結果として大変興味深いエフェクトがかかります。
このモジュールの使用時は、[Preview] パネルへベクターフィールドを表示すると便利です。[Preview] パネルで、[View] > [Vector Fields] をクリックすると表示されます。
プロパティ | 説明 |
---|---|
Vector Field | |
Rotation Rate | X、Y、Z 軸の回転率を設定します。値は毎秒フル回転で計算されます。つまり 0.1 の値は、フル回転に 10 秒間必要です。 |
Vector Field Scale
Vector Field Scale モジュールはベクターフィールドの影響作用をスケーリングします。パーティクルの発生時のみ計算されます。
このモジュールの使用時は、[Preview] パネルへベクターフィールドを表示すると便利です。[Preview] パネルで、[View] > [Vector Fields] をクリックすると表示されます。
プロパティ | 説明 |
---|---|
Vector Field | |
Vector Field Scale | ベクターフィールドの影響作用の乗算値として機能する浮動小数値です。 |
VF Scale/Life
Vector Field Scale Over Life モジュールは、エミッタのライフ期間にとって代わるローカル ベクターフィールドのスケーリングをします。パーティクルの存続期間にわたって計算されます。
このモジュールの使用時は、[Preview] パネルへベクターフィールドを表示すると便利です。[Preview] パネルで、[View] > [Vector Fields] をクリックすると表示されます。
プロパティ | 説明 |
---|---|
Vector Field | |
Vector Field Scale Over Life | ベクターフィールドの影響作用の乗算値として機能する浮動小数値です。カーブを適用することにより、パーティクルの存続期間にわたってスケーリングを制御することができます。 |