もくじ
スモーク・エフェクト
Making Fire and Smoke Effect With Unity VFX Graph | Work Scape #5
以下、設定プロセスは上記ビデオの「 0:57 ~ 3:31」で見られる。
VFX Graphウィンドウにおける共通的な操作となるが、新しいノードやブロックを追加したい場合は、右クリックもしくはSpaceキーを押下し専用のコンテキストメニューを表示させ、表示されるメニューのサーチフォームに目的のノード名を入力して検索するか、メニューツリーから辿り目的のノードを選択して、VFX Graphウィンドウに追加する。
まず最初にSpawnコンテキストを追加し、Constant Spawn Rateブロックを追加する。Rateプロパティを10に変更する。( 2.1)
次にInitialize Particleコンテキストを追加する。Capacityを64に変更する。Set Velocity RandomブロックとSet Lifetime Randomブロックを追加する。
Set Velocity RandomブロックのxはMinを-0.35、Maxを0.35、YはMin0.8、Maxを1、zはMinを-0.35、Maxを0.35に変更する。Set Lifetime RandomブロックのMinを5、Maxを9に変更する。
Set Angleブロックを追加する。ChannelsをZに変更。AngleをRandomにするため、ブロックを選択しInspectorのRandomプロパティをPer Compornentに変更する。A(Min)を0、B(Max)を360とする。これでParticleの初期角度が0度から360度でランダムに設定される。( 2.2)
続いてUpdate Particleコンテキストを追加する。( 2.3)
Output Particle Lit Quadコンテキストを追加する。Use Soft Particleをオンにする。Smoothnessは0にする。Uv ModeをFlipbook Blendに変更する。Flip Book SizeのXを8、yを8とする。Base Color MapにはインポートしたFlipbookのイメージファイルを設定する。Multiply Sizeブロックを追加し、Sizeを2に変更する。( 2.4)
Update ParticleコンテキストにFlipbook Playerを追加し、イメージファイルのシーケンスに従ってアニメーションさせる。Frame Rateを8に変更する。( 2.5)
常にイメージをカメラの正面に向かせるため、Output Particle Lit QuadコンテキストにOrient: Face Camera Positionブロックを追加する。Set Size over Lifeブロックを追加。Multiply Sizeの上に持ってくる。SizeのCurveパラメーターをクリックして0.5 → 1.0と大きくなるようにグラフを変更する。( 2.6)
Update ParticleコンテキストにForceブロックを追加。ModeをRelativeとし、Velocityを(x, y, z) = (-0.2, 0.5, 0)とする。また、Linear Dragブロックを追加する。Use Particle Sizeをオンにする。また、Drag Coefficientを0.1にする。( 2.7)
Output Particle Lit Quadコンテキストを選択した状態でInspectorを表示させる。Lighting -> Material TypeをTranslucentに変更する。また、Use Base Color MapをAlphaに変更する。Diffusion Profile AssetにFoilageを選択する。HDRPプロジェクトに含まれているプロファイルのようだが、これを設定しないと、煙の色がグリーンがかってしまう。原因は不明。( 2.8)
Output Particle Lit QuadコンテキストにSet Color over Lifeブロックを追加する。さらにMultiply Colorブロックを追加する。このブロックで最終的な煙の色の調整を行う。Inspectorから調整できるようにColorノードを追加する。Blackboardをクリックし、表示されたパネルの+ボタンからColor値の変数ノードを作成する。Exposedをオンにする。Colorは適当に明るい色にしておく。( 2.9)
ここでスモークの立体感を出すために作成したNormal Map画像を設定する。Output Particle Lit Quadコンテキストを選択し、InspectorからUse Normal Mapをオンにする。Output Particle Lit QuadコンテキストのNormal Mapプロパティにスモーク画像のNormal Mapイメージを設定する。( 2.10)
これでスモーク・エフェクトの作成は完了である。( 2.11)