夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

VFXGraphを学ぶ HoloLensにビルドする続き オーブエフェクト 後編

本日はUnityのVFXGraphの勉強です。 現在次のチュートリアルを参考にオーブエフェクトを作りながらVFXGraphの仕組みを学んでいます。

https://www.youtube.com/watch?v=7bMOhNUA1bI&t=889s

これまでの流れはかこの記事を見てください。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

〇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]を加えます。

f:id:Holomoto-Sumire:20210206195902j:plain

これによって[Spawn]~[Output Particle Quad]までの基本的なシステムが作成されます。

f:id:Holomoto-Sumire:20210206202640j:plain

②[Initialize Particle]に[Position(Sphere)]を追加します。

f:id:Holomoto-Sumire:20210206212118j:plain

これによって生成される粒子が球状になります。

f:id:Holomoto-Sumire:20210206211956j:plain

③[Background]の変数[Radius]と[Radius]をつなぎます。間に[Multiply]を挟むことで大きさを指定できます。

f:id:Holomoto-Sumire:20210206213707j:plain

④[Initialize Particle]の[Set Velocity Random(Per-component)]のA,Bをそれぞれ次のように指定します。

f:id:Holomoto-Sumire:20210206213756j:plain

A=-0.5

B=0.5

⑤[Initialize Particle]の[Capacity]を[1000000]に指定します。

f:id:Holomoto-Sumire:20210206214149j:plain

⑥[Background]にFloat型の[SpawnRate]を作成し値を50000に指定します。また、[Spawn]の[Rate]とつなぎます。

f:id:Holomoto-Sumire:20210206215124j:plain

これによってエフェクトが一気に派手になります。

f:id:Holomoto-Sumire:20210206215315j:plain

⑦[Output Particle Quad]に[Set Size]を加え[Set Size over life]をディアクティブにします。

f:id:Holomoto-Sumire:20210206215540j:plain

f:id:Holomoto-Sumire:20210206215704j:plain

⑧[Random Number]を作成し[Set Size]とつなぎます。値は0.01、0.02を入力します。

f:id:Holomoto-Sumire:20210206220031j:plain

⑨[Update Particle Quad]に[Set Color]を加え[Set Color over lifetime]をディアクティブにします。

f:id:Holomoto-Sumire:20210206220306j:plain

⑩[Background]から[Color]を配置し、[Set Color]とつなぎます。

f:id:Holomoto-Sumire:20210206220526j:plain

⑪[Update Particle]に[Turbulence]を加えます。

f:id:Holomoto-Sumire:20210206220741j:plain

[Turbulence]は粒子に乱れを生じさせます。

⑫[Update Particle]に[Conform to Sphere]を加えます。

f:id:Holomoto-Sumire:20210206221033j:plain

これによって粒子が球状に集まります。

f:id:Holomoto-Sumire:20210206221305j:plain

本日はここまでです。

次回最後の粒子、オーブのコアを作成します。