本日はUnityのVFXGraphの勉強です。 現在次のチュートリアルを参考にオーブエフェクトを作りながらVFXGraphの仕組みを学んでいます。
https://www.youtube.com/watch?v=7bMOhNUA1bI&t=889swww.youtube.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の機能も使用できます。
〇エフェクト作成
前回オーブエフェクトの形が完成しました。今回はさらに手を加えて完全な形にしていきます。
①右クリック[CreateNode]から[Parlin Noise Texture2D]を加えます。
パーリンノイズとはCGにおいて使用される技法で、炎や煙の表現に向いているようです。
また、違った用途としてマインクラフトのような地形の生成も行えるようです。
②[Parlin Noise Texture2D]の[Derivatives]の[X,Y]をそれぞれ[Conform to Sphere]の[Center]の[X,Y]につなぎます。
③[Get Attribute:Position],[Total Time]を加え[Add]につなぎます。
④画像のように[Add]のアウトプットと[Perlin Noise 2D]の[Coordinate]の[X,Y]を接続します。
これによって粒子の流れにノイズが与えられます。
⑤[Remap]を作成し歯車マークを選択しinputを[Vetctor2]に変更します。
[Perlin Noise 2D]の[Noise]を接続します。Outputから[Conform to Sphere]の[Center]の[X,Y]につなぎ直します。
⑥[Remap]と[Turbulence]の[Position]の[X,Y]とつなぎます。
以上でオーブエフェクトが完成しました。
今回初めてのVFXGraphを触りました。
ノンプログラミングとはいえ、どのノードがどの働きを持つかの知識と、頭の中でイメージを持たないと作成することはできませんでした。
今後もエフェクトを作成しながら学んでいきます。