【Unity VFX Graph入門】ベーシック・ガイド(2/2)

Turbulenceを使ってParticleの乱流を作る

Posted by 51n1 on 24 Jan, 2021

もくじ

VFX Graph Editor Overview

基本のGraph Elements

  • Context
  • Block
  • Node

VFX Graph Editor上で各Element(エレメント)であるContext(コンテキスト)、Block(ブロック)、Node(ノード)を追加するには、右クリックでコンテキストメニューを表示させてCreate NodeとかCreate Blockで目的のエレメントを検索したり、手動でメニューを探して追加すればよい。

基本のContextフロー

  • Spawn:発生イベントの管理
  • Initialize Particle:パーティクルの初期化設定
  • Update Particle:パーティクルの更新処理の設定
  • Output Particle Quad:パーティクルの出力設定

2.1 デフォルトのVFX Graph基本システム

各メインContextの設定

「Spawn」の設定

多めに粒子を出力したいのでRateを10000ぐらいにする。( 2.2)

2.2 Spawn

「Initialize Particle」の設定

デフォルトではParticleが上方向に動いているので、デフォルトで設定されている「Set Velocity Random (Per-component)」ブロックの数値を調整する。また、Context上で右クリックし、メニューを表示させ、Create Block から「Set Size (Attribute Set)」ブロックを追加する。同様に「Set Position」ブロックを追加する。各パラメータの数値は画像を参照してほしい。( 2.3)

画像だとよくわからないが、下から上方向への動きが、中心から放射状に広がる動きに変わる。( 2.4)

2.3 Initialize Particle

2.4 Game Window

「Update Particle」の設定

「Force」ブロックを追加する。Yを-1にして少し下方向へ力を加える。次に「Turbulence」ブロックを追加する。「Turbulence」ブロックはうねりの表現を手軽に追加できる。また、「Total Time」ノードを追加し「Turbulence」ブロックのPosition Yにつないでうねりに変化を出す。「Turbulence」ブロックのIntensityを調整すれば、うねりの強弱を変化させることができる。( 2.5)

2.5 Update Particle

「Output Particle Quad」の設定

デフォルトで追加されている「Set Size over Life」ブロックと「Set Alpha over Life」ブロックのCurve Editorを使ってそれぞれのパラメータをグラフでうまい具合に調整する。先にMain TextureとしてParticleのイメージを自作したのだが、最終的に出力されるParticleの形がイメージと異なったので、結局、Default-ParticleSystemというデフォルトで付属しているTextureを使った。( 2.6)

2.6 Output Particle Quad

Textureのイメージサイズが違うから何とも言えないが、ParticleのTextureが変わると表現されるイメージの印象もだいぶ違うものになる。時にはパラメータを弄るよりParticleのTextureを変える方がドラスティックに変化を与えることができるかもしれない。( 2.7, 2.8)

2.7 Default-ParticleSystem

2.8 自作Texture

InspectorからSpawn Rateを操作する

VFX GraphではInspectorに任意のパラメータを表示させて操作することができる。Blackboardを表示させて型を指定していわゆる外部から利用できる変数を追加する。ここでは「Spawn Rate」と名前を変更し、Rangeにチェックを付けてMaxを10000まで指定する。Exposedにチェックを入れるとInspectorに表示されるようになる。( 2.9)

作成したプロパティをVFX Graph Editorにドラッグ&ドロップして、「Spawn」コンテキストのRateパラメータとつなげると、VFX GraphオブジェクトのInspectorにプロパティとして表示され、Rateの値を自由に変えることができる。( 2.10)

2.9 Blackboard、Spawn Rate

2.10 VFX GraphオブジェクトのInspector

エフェクト完成

2.11 Unity Editor画面、最終形