本日はUnityのVFXGraphの勉強です。 現在次のチュートリアルを参考にオーブエフェクトを作りながらVFXGraphの仕組みを学んでいます。
https://www.youtube.com/watch?v=7bMOhNUA1bI&t=889s
これまでの流れはかこの記事を見てください。
〇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の機能も使用できます。
〇エフェクト作成
①[SimpleParticle System]を加えます。
これによって[Spawn]~[Output Particle Quad]までの基本的なシステムが作成されます。
②[Initialize Particle]に[Position(Sphere)]を追加します。
これによって生成される粒子が球状になります。
③[Background]の変数[Radius]と[Radius]をつなぎます。間に[Multiply]を挟むことで大きさを指定できます。
④[Initialize Particle]の[Set Velocity Random(Per-component)]のA,Bをそれぞれ次のように指定します。
A=-0.5
B=0.5
⑤[Initialize Particle]の[Capacity]を[1000000]に指定します。
⑥[Background]にFloat型の[SpawnRate]を作成し値を50000に指定します。また、[Spawn]の[Rate]とつなぎます。
これによってエフェクトが一気に派手になります。
⑦[Output Particle Quad]に[Set Size]を加え[Set Size over life]をディアクティブにします。
⑧[Random Number]を作成し[Set Size]とつなぎます。値は0.01、0.02を入力します。
⑨[Update Particle Quad]に[Set Color]を加え[Set Color over lifetime]をディアクティブにします。
⑩[Background]から[Color]を配置し、[Set Color]とつなぎます。
⑪[Update Particle]に[Turbulence]を加えます。
[Turbulence]は粒子に乱れを生じさせます。
⑫[Update Particle]に[Conform to Sphere]を加えます。
これによって粒子が球状に集まります。
本日はここまでです。
次回最後の粒子、オーブのコアを作成します。