UnityとHoudiniで作るRealtimeVFX実践解説 前編

Flowmap概要

Flowmap は、端的に言うと水など流体の流れを2次元で表現するための手法です。
Y-up で X方向への動きを赤(R)チャネルに、Z 方向のチャネルを緑 (G) チャネルに渡し、 0 < x,z < 128 で-方向に、128< x,z < 255 で+ 方向に動きます。X=128, Z=128 で静止状態です。

一般的なエフェクトで煙やショックウェーブのような要素に使用したり、環境エフェクトで川や滝・溶岩のようなものに使用したり、サイネージのようなイメージ流体的な表現に使用したりと色々と使い所の多い手法です。

今回はUnity道場Houdini編ということで、画像のシーンをベースに、Houdiniで川のような流れのFlowmapを生成し、それをUnityに持ち込んで利用する環境エフェクト作成手法を主にご紹介したいと思います。

Flowmap:Environment

Unityに持ち込む素材は基本的にHoudiniで作成しています。

背景素材はHeightFieldで作成しています。

背景素材の調整が済んだら、それに沿ってFlowmapのテクスチャとメッシュ作成を行います。

川や溶岩のようなPBR要素を活かしてクオリティを調整するようなものは、ShaderでNormalmapもFlowmapの影響を受けるように構築すると品質向上に繋がります。

Flowmap:Shockwave

ポピュラーなFlowmapの利用法として、煙やショックウェーブのようなエネルギー物に使う放射型のFlowmapのHoudiniでの作り方を紹介いたします。

Flowmap作成に使う正方形のグリッドを用意します。このグリッドの頂点カラーに焼き付いたFlowmapの情報をテクスチャにベイクするので、分割数はそこそこ増やしておきます。

作成したグリッドをベースに、放射型のNormalやランダム用のNormalを追加してFlowmapを作成します。

基本的なNormalの設定が終わったら「FlowmapVisualize」ノードで視覚化し、最終的なディテールを詰めて完成です。

Conclusion / Results

Flowmapは煙やショックウェーブのような一般エフェクト的な要素や、川や滝・溶岩といった環境エフェクト、サイネージのようなイメージ流体的なビジュアルといった様々な表現で重宝します。
テクスチャ変更によるバリエーション生成や、パラメータ調整で細かいビジュアルの調整といった小回りの利く仕様も良い点であり、使いこなせばご自身のRealtime表現の可能性を押し広げることでしょう。
この資料や動画が皆様のクリエイティブやR&Dの一助になれば幸いです。

スライド