どうも篠島です。今回はVector fieldを作成してUnreal上で読めるようにfgaファイルとして書き出してくれる GameDev ROP Vector Field について見てみます。
使い方
使い方は簡単で、Velocityのアトリビュートを持っているボリュームかポイントを繋ぐだけ!あとはfgaファイル出力先を選び、Sampling Divsで出力されるtgaファイルの解像度を指定。もしポイントを繋いだ場合はInput TypeからParticlesを選びます。準備ができたらRenderを押します。
適当にPyroシミュレーションした物にGameDev ROP Vector Fieldを繋げてみる。VisualizeがONだと下図の右の様にVelocityが確認できます。
Unrealでの設定
ゲーム関係の人は既に知っていると思うのですが・・・、自分の様に知らない人のために一応メモ。
fgaファイルが出来上がったら、Unreal上で読み込みます。そしてパーティクルを作成。パーティクルを右クリックし、TypeData > New GPU Spritesにし、同じく右クリックから Vector Field > Global Vector Fieldsを追加します(Local Vector Fieldでも可)。DetailsタブでGlobal Vector Field Scale と Global Vector Field Tightness を1にする。
シーン上にパーティクルとfgaファイルをドラッグして作成。そしてVector Fieldのオブジェクト選択して、Detailsタブの中でVector Field Componentというのがあるので、IntensityとTightnessを調整する。Intensityは名前の通り強さ、TightnessはVector Fieldにどのくらい影響を受けて動くか。
結果
GIF画像を載せてみました。ちゃんと作ったVector Fieldにそってパーティクルが動いているのが確認できます。