Language:
Page Info
Engine Version:
The translation of this page is out of date. Please see the English version for the latest version of the page.

ベクター フィールド

効率性はさておき、GPU パーティクルの最も興味深い機能はベクター フィールドです。ベクター フィールドはベクトルの統一グリッドで、パーティクルの動作に影響を及ぼします。ベクターフィールドはアクタ (グローバル ベクター フィールド) としてワールドに配置され、その他のアクタ同様に移動、回転、そしてスケーリングされます。ベクター フィールドは、動的でいつでも移動させることができます。フィールドはカスケード (ローカル ベクター フィールド) 内に配置することも可能で、関連するエミッタに及ぼす影響を制限します。パーティクルがベクター フィールド範囲に突入すると、パーティクルの動作はフィールドに影響され、パーティクルがフィールド範囲を離れるにつれて影響度が薄れます。

ベクター フィールドは、デフォルト設定でフィールド内のパーティクルへ影響力を与えます。ベクター フィールドには、「タイトネス」パラメータもあります。このパラメータは、パーティクルがフィールドのベクターを直接追跡する方法を制御します。タイトネスが 1 に設定されると、パーティクルはベクターのベロシティを直接フィールドから読み出し、フィールドを正確に追跡します。

スタティック ベクター フィールドは、ベクターのグリッドが絶対に変化しません。フィールドは Maya からエクスポートして、ボリューム テクスチャとしてインポートします。スタティック フィールドは負荷がほとんどかからず、特にフィールド自体の動作をアニメートすることによって興味深い動作をパーティクルに追加します。

加えて、ベクター フィールドは 2D 画像から再構成することもできます。この場合、法線マップによく似た画像をボリューム付近で押し出しまたは回転させることによって、ボリューム テクスチャを再構成するためにインポートおよび使用されます。この再構成に加えて、スタティック ベクター フィールドがノイズやランダムな動きを発生させるために追加されます。2D 画像は、テクスチャアトラスで個別のフレームを格納することによってアニメートされます。これによって液体シミュレーションオフラインを実行し、わずかなコストで動作をリアルタイムで再構成することができます。

グローバル ベクター フィールド

上述のように、Global Vector Fields はアクタとしてレベルに配置することができます。ただし、 コンテンツ ブラウザ からドラッグすることはできません。レベル内にベクター フィールドを設定するには、Vector Field Volume アクタを追加する必要があります。また、適切なベクター フィールド アセットを関連付ける必要があります。

Vector Field Volume アクタ

Vector Field Volume Actor アクタは、従来型のボリュームとは異なります。作成するには、クラス ビューアのベクター フィールド ボリュームを見つけ、それをレベル内にドラッグ&ドロップします。その後、コンテンツ ブラウザ からアクタのプロパティ経由でベクター フィールドを割り当てます。一度追加されると、フィールドは位置決定、回転、スケーリングすることができます。

VFScaled.png

Vector Field モジュール を含む GPU スプライトパーティクルシステムは、このグローバル ベクター フィールドを使用する可能性があります。

GlobalVectorFieldsSystem.png

GameModeVFV.png

この画像では、エミッション ボリュームの全長を半分下った辺りのパーティクルのみが、ベクター フィールド ボリュームと交差しています。

ローカル ベクター フィールド

グローバルに対応するフィールドとは対照的に Local Vector Fields は、パーティクル システム内に存在しワールド空間に配置されないベクター フィールドです。つまり、Global Vector Fields モジュールで全てのパーティクル システムに作用するグローバル ベクター フィールドとは異なり、ローカル ベクター フィールドは割り当てられたパーティクル エミッタのみに変化をもたらします。

ローカル ベクター フィールドは Local Vector Field モジュール を用いて追加されます。

LocalVectorField.png