本日は一昨日、昨日に引き続きUnityのVFXGpahを学んでいきます。
〇VFXGraphとは?
VFXGraphはUnityのスクリプタブルレンダリングパイプライン(SRP)で使用可能なノードベースのエフェクトクリエイトツールです。
スクリプタブルレンダリングパイプラインとはUnity 2019以降で正式に導入されたUnityの機能で従来のビルドインレンダリングパイプラインに比べC#でスクリプト可能なレンダリングパイプラインを指します。
スクリプタブルレンダリングパイプラインは大きく2種類存在し、HDRPとURPに分けられます。
〇HDRPとは?
HDRPはHigh Definition Render Pipelineの略でUnityで従来以上に非常に高精細さレンダリングを行うことができます。
しかしながら高精細さを保つためにはデバイスのスペック依存が激しく、特にVRにおいてはPCVR以外のスタンドアローンデバイスでの動作は厳しいようです。
筆者が試したところOclusu QuestではgraphicAPIの影響でビルド自体ができませんでした。
HoloLensでは今度試してみようと思います。
〇URPとは?
URPはUniversal Render Pipelineの略で以前はLWRP(Low Weight Rendering Pipeline)と呼ばれていました。 旧称の通りHDRPに比べあらゆるデバイスに対応すべく提供された、ビルドインレンダリングパイプラインの次世代のレンダリングパイプラインです。
HDRPに比べるとデフォルトでの高精細さは落ちるもののHoloLensを含む様々なデバイスで使用でき今回のテーマであるVFXGraphの機能も使用できます。
〇エフェクト作成
前回の続きから行います。
①[Spawn]、[Initialize Particle]、[UpdateParticle]、[Output Particle Quad]を新たに作成します。
②[Periodic Burst]を[Spawn]に追加します。
Burstは爆発や発火を意味する言葉です。どうやら爆発物などのエフェクトの際現に使用できるようです。
[Count]、[Delay]にはそれぞれ1を入力します。
③[Initialize Particle]に[Set Lifetime]を加えます。値には2を指定します。
Spawnと初期の状態が指定されたことによって二つ目のエフェクトが発生します。
このようにVFXGraphは一つのアセットで複数のParticleSystemを管理でき、相互にやり取りできるようです。
④[Output Particle Quad]に[Set Size]を加えます。
⑤[Multiply]と前回作成した変数[Size]を加え[Set Size]の[Size]とつなぎます。この際[Multiply]の値は[10]に設定します。
⑥[Output Particle Quad]に[Set Color]を加えます。
⑦前回作成した変数[Color]と[SetColor]をつなぎます。
これで二つ目のエフェクトにも一つ目のエフェクトと同一の色が指定されました。
⑧新しく[divide]のノードを作成し[Color]に挟みます。
値には4を指定します。 これによってColorを4で割られた値が渡されます。
⑨[Output Particle Quad]の[BlendType]を[Additive]に変更します。
この変更によってエフェクトが透明度を持った粒子へと変わります。
⑩[add Color over life]を[Output Particle Quad]に追加します。
⑪[Color]プロパティを開き画像赤丸のプロパティを削除します。
[alpha]を0に指定します。
⑪50%に当たる場所にカラーを追加します。
これによって二つ目のエフェクトが完成しました
次回中央部の第三のエフェクトを作成して完成させていきます。