1 / 4 VFX Graph の作成
見本のエフェクトからVFX Graphの設定を読み解きます。
見本の再生
UnityのProjectで13_VFXGraphFlowフォルダーを開き、Scenes/SparkleFlow.unityを開いてPlayしましょう。
Gameビューで、パーティクルエフェクトがどのような動きをするかを確認、観察してください。
見本ではエミッターが楕円に沿って移動し、パーティクルを生成し続けています。
生成されたパーティクルは周囲に広がり、ゆらぎながら消滅します。
見本エフェクトの構成を確認する
Playを停止し、Effects/SparkleFlow.vfxを開きましょう。
見本のVFX Graph全体図
パーティクルの生成や更新の処理を段階ごとにまとめた領域をContextと呼びます。Contextを上からたどり、パーティクルの挙動がどう決まるかを確認していきましょう。
| Context | 見本での設定 |
|---|---|
| Spawn | Constant Spawn Rateで発生数を指示する |
| Initialize Particle | 発生範囲と位置、寿命、大きさ、初速を決める |
| Update Particle | Linear DragとTurbulenceで速度を変化させ、Ageに応じて色を変える |
| Output Particle Quad | 粒子を描画し、年齢に応じて描画する大きさを変える |
Initialize Particleの設定 パーティクルの発生位置、寿命、サイズ、初速を設定している
Context内に並ぶ個々の処理をBlockと呼びます。
Contextの外側で値を計算するノードがOperatorです。
この見本では、発生位置の計算を外部処理で行い、パーティクルの初期位置に干渉しています。
Rotate 2DやMultiplyからInitializeへ伸びる線をたどり、発生位置がAdd Positionに渡されていることを確認してください。
ここでの設定はやや特殊ですが、これらノードを組み合わせることで単純なパラメーターだけでは表現できない挙動を実現することも可能です。
出現位置を回転させるノード構成 時間から回転角を求め、Rotate 2DとMultiplyの結果をAdd Positionに渡している
カスタマイズの開始
SceneとGraphを複製して、自身の作業用の環境を作ります。File > Save AsでSceneを同じScenesフォルダー内の13_FlowPractice.unityとして保存してください。
シーンが複製できたら、続いてProjectでEffects/SparkleFlow.vfxを選び、CtrlとDで複製してください。
同じEffectsフォルダー内で、コピーしたVFX Graphファイルの名前をFlowPractice.vfxに変えてください。
コピーしたSceneのSparkle Flowを選び、Visual EffectコンポーネントのAsset欄にFlowPractice.vfxを割り当ててSceneを保存すれば準備完了です。
TIP
面倒であれば、見本のシーンとVFX Graphをそのまま使っても構いません。
カメラとVolume Profileは好みに応じて変更しても構いませんが、一度に複数の設定をいじると何が支配的パラメーターかが分かりにくくなります。
特にBloom設定はVFX Graphの明るさや見た目に大きく影響するため、設定がある程度固まってから操作することをお勧めします。
- VFX Graphのファイルを開き、見本のパーティクルの設定を確認した。
- VFX GraphのContextごとの役割を確認した。
- 見本のVFX Graphを複製し、作業用のGraphを作成した。