本日は昨日に続きUnity スクリプタブルレンダリングパイプラインで使用可能なVFXGraphを学びます。
〇VFXGraphとは?
VFXGraphはUnityのSRP(スクリプタブルレンダリングパイプライン)を導入したプロジェクトで使用可能なノードをつなぐことで作成するエフェクト作成ツールです。
前回は基礎的なものを触り、HoloLens実機で動かして動くことを確認しました。
前回は球状に展開する粒子を作成しました。今回はこちらのチュートリアルを参考にさらにかっこよいエフェクトを目指します。
〇エフェクトを作成する。
①VFXGraph上にあるノードをすべて削除します。
②右クリックから[Create Node]→[Simple Heads & Trails]を選択しテンプレートから新規で作成します。
この時点でかなりクォリティの高いエフェクトが作成されています。
③[Spawn]の[Rate]を50にします。
④[Initialize Particle]から粒子の容量である[Capacity]を[1000]に設定します。
⑤[Initialize Particle Split]の[Capacity]を[1000]にします。
⑥ウィンドウ上部タブから[Background]を選択しバックグラウンドパネルを表示させます。
⑦開いたパネルの[+]アイコンを選択しFloat型の変数を作成します。
[New Float]をダブルクリックすることで名前を変更できます。[TransSpawnRate]と名付けます。
これは外部から扱えるPublicな変数でしょうか、ほかにもColorなど様々な型の変数を作成できます。
⑧作成した[TransSpawnRate]をドラッグ&ドロップし、Spawnの[Rate]と接続します。
これでTransSpawnRate=Rateになるようです。
現在は定数ですが、別の処理を行ったノードなどを接続することで複雑な表現も行えるようです。
⑨[Set Velocity Random]と[Set Color Random from Gradient]を[Initialize Particle]を削除します。
⑩[Initialize Particle]に[Set Color]を加え[Background]に[Color]を加えます。
[SetColor]はその名の通り色情報を扱うノードのようです
ColorをSetColorにつなぎます。
⑪[Initialize Particle]に[Position(Sphere)]を加えます。
これによって初期の粒子の生成が球状のポイントから行われます。
⑫[Background]にFloat型の[Radius]という名の変数を作成し、[Position(Sphere)]の[Radius]とつなぎます。
Radiusは名前の通り生成する球座標の大きさを指定します。
⑬[Initialize Particle]に[Set Lifetime Random]を追加します。
[Set Lifetime Random]は粒子の生存時間を指定します。 二つの変数の中でランダムに決まります。
⑭[Background]に[Translifetime]という名のfloatの変数を作成します。
⑮[Multiply]を二つ作成し画像のように[Set Lifetime Random]のA,Bに接続します。
[Multiply]は掛け算です。つまりTranslifetime1=Set Lifetime RandomのA、Translifetime3=Set Lifetime RandomのBという処理になります。
ここまでで次のような紐のような粒子が球状に漂うエフェクトが完成しました。
前編はここまでです。
少しずつ学びながら進めていきたいです。