【Unity VFX Graph入門】Fire and Smoke Effect(2/3)

スモーク・エフェクト

Posted by 51n1 on 19 Mar, 2021

もくじ

  1. 炎と煙のエフェクト・導入編
  2. スモーク・エフェクト
  3. ファイア・エフェクト

スモーク・エフェクト

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)

2.1 Spawn Context

2.2 Initialize Particle Context

続いて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)

2.3 Update Particle Context

2.4 Output Particle Lit Quad Context

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)

2.5 Update Particle Context

2.6 Output Particle Lit Quad Context

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)

2.7 Update Particle Context

2.8 Inspector - Output Particle Lit Quad Context

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.9 Output Particle Lit Quad Context

2.10 Inspector - Output Particle Lit Quad Context

これでスモーク・エフェクトの作成は完了である。( 2.11)

2.11 Completed - Smoke Effect