Skip to content
第13回 VFX Graph 実践

1 / 4 VFX Graph の作成 ​

このステップの目的

見本のエフェクトからVFX Graphの設定を読み解きます。

見本の再生 ​

UnityのProjectで13_VFXGraphFlowフォルダーを開き、Scenes/SparkleFlow.unityを開いてPlayしましょう。
Gameビューで、パーティクルエフェクトがどのような動きをするかを確認、観察してください。

見本ではエミッターが楕円に沿って移動し、パーティクルを生成し続けています。
生成されたパーティクルは周囲に広がり、ゆらぎながら消滅します。

見本エフェクトの構成を確認する ​

Playを停止し、Effects/SparkleFlow.vfxを開きましょう。

見本のVFX Graph全体図見本のVFX Graph全体図

パーティクルの生成や更新の処理を段階ごとにまとめた領域をContextと呼びます。
Contextを上からたどり、パーティクルの挙動がどう決まるかを確認していきましょう。

Context見本での設定
SpawnConstant Spawn Rateで発生数を指示する
Initialize Particle発生範囲と位置、寿命、大きさ、初速を決める
Update ParticleLinear DragとTurbulenceで速度を変化させ、Ageに応じて色を変える
Output Particle Quad粒子を描画し、年齢に応じて描画する大きさを変える

Initialize Particleの設定 パーティクルの発生位置、寿命、サイズ、初速を設定しているInitialize Particleの設定 パーティクルの発生位置、寿命、サイズ、初速を設定している

Context内に並ぶ個々の処理をBlockと呼びます。
Contextの外側で値を計算するノードがOperatorです。

この見本では、発生位置の計算を外部処理で行い、パーティクルの初期位置に干渉しています。
Rotate 2DやMultiplyからInitializeへ伸びる線をたどり、発生位置がAdd Positionに渡されていることを確認してください。
ここでの設定はやや特殊ですが、これらノードを組み合わせることで単純なパラメーターだけでは表現できない挙動を実現することも可能です。

出現位置を回転させるノード構成 時間から回転角を求め、Rotate 2DとMultiplyの結果を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を作成した。