CEDEC 2015 Houdini for Game VFX
- 9. Orbolt には、前のページの速度ベクトルを FGAという Unreal が入力可能な
ファイルフォーマットで出力するためのアセットがあり、無償でダウンロー
ド可能。
Link: http://www.orbolt.com/asset/Benny::UE4_velocitygridexporter
- 18. 同様に Flow Mapも作成可能。元になったのは Valve による Siggraph 2010
での講演。
http://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_water
flow.pdf
- 36. Houdini Engine は 非常に簡単かつ堅牢な100強の関数によって構成される C
言語 API。
Houdini Digital Asset ファイルにアクセスし、アセット情報を取得したり設定
したりしてホストに渡すことが可能。
ドキュメントはsidefx.com (Support -> Documentation). にあり。
- 37. Houdini 15 より、Houdini Engine API は 2.0に。ホスト単位で複数のセッ
ションの実行(それぞれ1スレッド)が可能。
Houdini Engine のプロセスをホストプロセスから切り離して実行可能。これ
でライブラリの衝突が回避可能に。
Houdini Engine 2.0 Thin Client
実行部分をフロントエンドから切り離すことも可能。
Hinweis der Redaktion
- Houdini はノードベースのプロシージャル3Dソフトウェアであり、基本的なワークフローはノードを接続することによりシーンを構成する。
しかし、シェルフにはこういった接続を自動的に行うためのツール群が装備されていて、すべてを一から接続する作業がから解放される。
- 例えば Pyro により爆発のスプライトを作成したい場合、基本的な設定はVFX用途にPyroのシーンを作るのと変わりない。例えば Pyro FX シェルフからFlames ツールを実行、ノードのパラメータを調整して求める見た目に近づけていく。
- Render View を通じてレンダリングした結果。
- 一度連番フレームとしてレンダリングした画像ファイルを Houdiniの合成モジュール (COPs) に取り込み、 Mosaic ノードを使ってテクスチャシートにして単一イメージファイルで出力。
- テクスチャシートを Unreal に持ち込み描画するとこのようになる。
- Houdini からレンダリングによる最終画像出力だけではなく、それを構成するためのデータの出力も容易。今、ビューポートに矢印で表示されているのは炎(ボリューム)の速度ベクトル。こういったデータの視覚化および出力も容易。
- Orbolt には、前のページの速度ベクトルを FGAという Unreal が入力可能なファイルフォーマットで出力するためのアセットがあり、無償でダウンロード可能。Link: http://www.orbolt.com/asset/Benny::UE4_velocitygridexporter
- 出力した データを Unreal で読み込んだ状態。
- FGAを用いて パーティクルの動きを操作。
- 同様のことで爆発や、
- 煙などにも応用可能。
- Fluid (流体) も同様にゲーム用素材に応用可能。上の画像は血しぶきを表現するためのデカールスプライト用の流体設定。
- 左側はビューポートの様子(ヘッドライトのみによるアンビエント)。右側は、diffuse をレンダリングした結果。
- 法線マップの出力も可能。
- 二つを組み合わせることで、ライトの方向に反応するデカールテクスチャをUnreal上に表現可能。
- 同様に Flow Mapも作成可能。元になったのは Valve による Siggraph 2010 での講演。
http://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf
- 水の流れを2次元で表現するため、 X方向への動きを 赤(R)チャネルに。Z 方向のチャネルを緑(G) チャネルに 0 < x,z < 128 で-方向に、128< x,z < 255 で+ 方向に動く。X=128, Z=128 で静止状態。
- Houdini での流体シミュレーションの速度情報をポイント単位のカラー出力。左側が通常のサーフェス表示。右側が速度情報を追加した状態。
- 速度情報を Unreal に持っていた様子。
- Houdini からのデータは最終的なイメージ出力だけに限らず、アセットとして共有することも可能。
- 左側のノードのネットワークが右側の形状を構成している。
- こうしたノードのネットワークは、一つのノードにまとめてしまうことが可能。その際に必要なパラメータだけを露出することで、中に入って一つ一つのノードをたどることなく、単一のビューで必要な操作を行えるようにしたノードをデジタルアセットと呼ぶ。
- デジタルアセットには、ノードネットワークだけでなく、メッシュデータ、画像データ、スクリプト、マニピュレータ、ヘルプなども同梱可能。
これにより、スタジオ全体、プロジェクト単位、ショット単位など、あらゆる規模でのアセットの共有が可能になる。
- 従来こうしたデジタルアセットはHoudiniユーザ間でのみ共有が可能であったが、Houdini Engine を使うことにより他のアプリケーションとの共有も可能になった。
- 基本的に Houdini Engine は Houdini Digital Asset (HDA) を操作するための API だが、それを元にしたプラグインも公開されている。
- こちらは Houdini Engine for Unreal の様子。現在 Public Beta。
- そして Houdini Engine for Unity。こちらは既に出荷済み。
- Unity 内でHDAを操作している様子。カーブを描いたところに壁のアセットが自動生成されている。
- こうしたアセットを組み合わせることで、レベルの構築を手早く行い、プレイの検証までの反復を高速化できる。
- こうしたアセットの一つに Indie Proツールから提供されている Pro Track というアセットがある。これはUnity 専用で、Unity Asset ストアから購入可能。
- Houdini Engine のプラグインはゲームエンジンだけに限らず、DCCツールにも対応している。そのうちのひとつがMaya。
- こちらは Houdiniのボリュームデータを Mayaに持ってきた様子。
Houdini が対応しているデータ形式で、プラグインのホスト(この場合Maya)が描画できるものはそのまま渡すことが可能。
- Houdini Engine は 非常に簡単かつ堅牢な100強の関数によって構成される C言語 API。
Houdini Digital Asset ファイルにアクセスし、アセット情報を取得したり設定したりしてホストに渡すことが可能。
ドキュメントはsidefx.com (Support -> Documentation). にあり。
- Houdini 15 より、Houdini Engine API は 2.0に。ホスト単位で複数のセッションの実行(それぞれ1スレッド)が可能。
Houdini Engine のプロセスをホストプロセスから切り離して実行可能。これでライブラリの衝突が回避可能に。
Houdini Engine 2.0 Thin Client
実行部分をフロントエンドから切り離すことも可能。
- これらの機能向上により3DS Maxプラグインがリリース可能に。
- こちらは Houdini 15 と同タイミングでリリース予定。
- ここから Allegorithmic Substance と Simplygon のプラグインについて紹介。
- この画像は GDC2013の時のHoudini からのアセットと SubstanceによるテクスチャをUnityに読み込み、実演している状態。
この時点では、Houdini でのビューポートで Substance テクスチャを表示することは不可能であった。
- 今回、Allegorithmic により Houdini用のプラグインが開発されている。このプラグインを使うことで、Substance シェーダを Houdiniのシェーダノード同様に扱い、ビューポートに表示、またベイクなどに用いることが可能になった。このプラグインは Allegorithmicより入手可能。
- こちらの例では、形状全体に黒いプロシージャルシェーダがアサインされ、突き出されたそれぞれの先に別のシェーダがアサインされている。
Houdiniのグループノードによりこれらが定義されている。
- Houdini 15ではビューポートの描画が強化されたことによりバンプやディスプレイスメントマップもそのまま表示可能に。
上の画像は ディスプレイスメント付 Substanceのシェーダをそのまま持ってきた状態。
- こちらはSubstanceのシェーダをアサインしたジオメトリからテクスチャをベイクする様子。
Houdiniは Substanceシェーダも Houdiniのシェーダも区別せず同じように扱うことが可能。
- Houdini で作成した状態。Houdiniによるジオメトリのノードネットワークと複数のSubstanceのノードで構成されている。
- Shatterノードで事前破砕した様子。
- Unityでの再生の結果。
- Unrealでの再生。こちらは スプライトによる煙を追加している。
- 次に Simplygonの様子。Simplygonは、ポリゴン削減やマテリアルの統合をするためのツール。
Simplygonのプラグインにより、それぞれの機能が個々のノードとして実装される。
これはSimplygonから提供予定。
- Simplygonにより複数マテリアルを一つにまとめたり、
- Houdiniのノードと組み合わせて必要なところにのみポリゴン削減を加えたりすることが可能。