夜風のMixedReality

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

VFXGraphを学ぶ  オーブエフェクト 終編

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

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

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

redhologerbera.hatenablog.com

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の機能も使用できます。

〇エフェクト作成

前回オーブエフェクトの形が完成しました。今回はさらに手を加えて完全な形にしていきます。

①右クリック[CreateNode]から[Parlin Noise Texture2D]を加えます。

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

パーリンノイズとはCGにおいて使用される技法で、炎や煙の表現に向いているようです。

ja.wikipedia.org

また、違った用途としてマインクラフトのような地形の生成も行えるようです。

kan-kikuchi.hatenablog.com

②[Parlin Noise Texture2D]の[Derivatives]の[X,Y]をそれぞれ[Conform to Sphere]の[Center]の[X,Y]につなぎます。

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

③[Get Attribute:Position],[Total Time]を加え[Add]につなぎます。

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

④画像のように[Add]のアウトプットと[Perlin Noise 2D]の[Coordinate]の[X,Y]を接続します。

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

これによって粒子の流れにノイズが与えられます。

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

⑤[Remap]を作成し歯車マークを選択しinputを[Vetctor2]に変更します。

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

[Perlin Noise 2D]の[Noise]を接続します。Outputから[Conform to Sphere]の[Center]の[X,Y]につなぎ直します。

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

⑥[Remap]と[Turbulence]の[Position]の[X,Y]とつなぎます。

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

以上でオーブエフェクトが完成しました。

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

今回初めてのVFXGraphを触りました。

ノンプログラミングとはいえ、どのノードがどの働きを持つかの知識と、頭の中でイメージを持たないと作成することはできませんでした。

今後もエフェクトを作成しながら学んでいきます。