SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
CEDEC 2015 Houdini for Game VFX
Report
Ken Taki
Follow
Senior Manager of Special Projects at Side Effects Software
Sep. 14, 2015
•
0 likes
•
2,477 views
CEDEC 2015 Houdini for Game VFX
Sep. 14, 2015
•
0 likes
•
2,477 views
Ken Taki
Follow
Senior Manager of Special Projects at Side Effects Software
Report
Software
CEDEC 2015 での Side Effects Software による Houdini の講演のうち Game VFX の部分。
CEDEC 2015 Houdini for Game VFX
1 of 53
Download Now
1
of
53
Recommended
Unity2015_No7_~Unity2D~
CHY72
1K views
•
31 slides
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
GMO GlobalSign Holdings K.K.
19.6K views
•
89 slides
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
Takashi Yoshinaga
1.9K views
•
82 slides
Unity勉強会ハンズオン
Kodai Yano
3.1K views
•
102 slides
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unity Technologies Japan K.K.
1.1K views
•
176 slides
Unityで通信してみよう!
koppepan
31.8K views
•
31 slides
More Related Content
What's hot
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
Unity Technologies Japan K.K.
1.9K views
•
49 slides
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)
Takahiko Wada
920 views
•
18 slides
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
Unity Technologies Japan K.K.
2.7K views
•
50 slides
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
43.2K views
•
62 slides
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
Dverse Inc.(ディヴァース・インク)
1.5K views
•
22 slides
Unity パーティクルシステム超入門
minoru nakanou
10.1K views
•
39 slides
What's hot
(8)
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
Unity Technologies Japan K.K.
•
1.9K views
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)
Takahiko Wada
•
920 views
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
Unity Technologies Japan K.K.
•
2.7K views
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
•
43.2K views
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
Dverse Inc.(ディヴァース・インク)
•
1.5K views
Unity パーティクルシステム超入門
minoru nakanou
•
10.1K views
Osakijs #01 「enchant.jsハンズオン資料」
Yusuke HIDESHIMA
•
2.5K views
Flashup13 Basic Training of Flare3D
Katsushi Suzuki
•
2.2K views
More from Ken Taki
これから Houdini 始める
Ken Taki
277 views
•
15 slides
Engine cedec2014 dist_jp
Ken Taki
1.6K views
•
38 slides
Houdini Mantra チューニング (ファイル作成)
Ken Taki
4K views
•
23 slides
Houdini Mantra レンダリングのチューニング
Ken Taki
9.5K views
•
28 slides
Houdini .OBJ から .ABC へ
Ken Taki
3.3K views
•
44 slides
Houdini Alembic を使ったライティングワークフロー
Ken Taki
5.9K views
•
50 slides
More from Ken Taki
(9)
これから Houdini 始める
Ken Taki
•
277 views
Engine cedec2014 dist_jp
Ken Taki
•
1.6K views
Houdini Mantra チューニング (ファイル作成)
Ken Taki
•
4K views
Houdini Mantra レンダリングのチューニング
Ken Taki
•
9.5K views
Houdini .OBJ から .ABC へ
Ken Taki
•
3.3K views
Houdini Alembic を使ったライティングワークフロー
Ken Taki
•
5.9K views
Houdini 製品概要
Ken Taki
•
4.3K views
Houdini for games_jp
Ken Taki
•
1.3K views
Houdini 12 5_overview_jp
Ken Taki
•
2.5K views
CEDEC 2015 Houdini for Game VFX
3.
Houdini はノードベースのプロシージャル3Dソフトウェアであり、基本的な ワークフローはノードを接続することによりシーンを構成する。 しかし、シェルフにはこういった接続を自動的に行うためのツール群が装備 されていて、すべてを一から接続する作業がから解放される。
4.
例えば Pyro により爆発のスプライトを作成したい場合、基本的な設定はVFX 用途にPyroのシーンを作るのと変わりない。例えば
Pyro FX シェルフから Flames ツールを実行、ノードのパラメータを調整して求める見た目に近づけ ていく。
5.
Render View を通じてレンダリングした結果。
6.
一度連番フレームとしてレンダリングした画像ファイルを Houdiniの合成モ ジュール (COPs)
に取り込み、 Mosaic ノードを使ってテクスチャシートにし て単一イメージファイルで出力。
7.
テクスチャシートを Unreal に持ち込み描画するとこのようになる。
8.
Houdini からレンダリングによる最終画像出力だけではなく、それを構成する ためのデータの出力も容易。今、ビューポートに矢印で表示されているのは 炎(ボリューム)の速度ベクトル。こういったデータの視覚化および出力も容易。
9.
Orbolt には、前のページの速度ベクトルを FGAという
Unreal が入力可能な ファイルフォーマットで出力するためのアセットがあり、無償でダウンロー ド可能。 Link: http://www.orbolt.com/asset/Benny::UE4_velocitygridexporter
10.
出力した データを Unreal
で読み込んだ状態。
11.
FGAを用いて パーティクルの動きを操作。
12.
同様のことで爆発や、
13.
煙などにも応用可能。
14.
Fluid (流体) も同様にゲーム用素材に応用可能。上の画像は血しぶきを表現す るためのデカールスプライト用の流体設定。
15.
左側はビューポートの様子(ヘッドライトのみによるアンビエント)。右側は、 diffuse をレンダリングした結果。
16.
法線マップの出力も可能。
17.
二つを組み合わせることで、ライトの方向に反応するデカールテクスチャを Unreal上に表現可能。
18.
同様に Flow Mapも作成可能。元になったのは
Valve による Siggraph 2010 での講演。 http://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_water flow.pdf
19.
水の流れを2次元で表現するため、 X方向への動きを 赤(R)チャネルに。Z
方 向のチャネルを緑(G) チャネルに 0 < x,z < 128 で-方向に、128< x,z < 255 で + 方向に動く。X=128, Z=128 で静止状態。
20.
Houdini での流体シミュレーションの速度情報をポイント単位のカラー出力。 左側が通常のサーフェス表示。右側が速度情報を追加した状態。
21.
速度情報を Unreal に持っていた様子。
22.
Houdini からのデータは最終的なイメージ出力だけに限らず、アセットとして 共有することも可能。
23.
左側のノードのネットワークが右側の形状を構成している。
24.
こうしたノードのネットワークは、一つのノードにまとめてしまうことが可 能。その際に必要なパラメータだけを露出することで、中に入って一つ一つ のノードをたどることなく、単一のビューで必要な操作を行えるようにした ノードをデジタルアセットと呼ぶ。
25.
デジタルアセットには、ノードネットワークだけでなく、メッシュデータ、 画像データ、スクリプト、マニピュレータ、ヘルプなども同梱可能。 これにより、スタジオ全体、プロジェクト単位、ショット単位など、あらゆ る規模でのアセットの共有が可能になる。
26.
従来こうしたデジタルアセットはHoudiniユーザ間でのみ共有が可能であった が、Houdini Engine を使うことにより他のアプリケーションとの共有も可能 になった。
27.
基本的に Houdini Engine
は Houdini Digital Asset (HDA) を操作するための API だが、それを元にしたプラグインも公開されている。
29.
こちらは Houdini Engine
for Unreal の様子。現在 Public Beta。
30.
そして Houdini Engine
for Unity。こちらは既に出荷済み。
31.
Unity 内でHDAを操作している様子。カーブを描いたところに壁のアセットが 自動生成されている。
32.
こうしたアセットを組み合わせることで、レベルの構築を手早く行い、プレ イの検証までの反復を高速化できる。
33.
こうしたアセットの一つに Indie Proツールから提供されている
Pro Track と いうアセットがある。これはUnity 専用で、Unity Asset ストアから購入可能。
34.
Houdini Engine のプラグインはゲームエンジンだけに限らず、DCCツールに も対応している。そのうちのひとつがMaya。
35.
こちらは Houdiniのボリュームデータを Mayaに持ってきた様子。 Houdini
が対応しているデータ形式で、プラグインのホスト(この場合Maya) が描画できるものはそのまま渡すことが可能。
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 実行部分をフロントエンドから切り離すことも可能。
38.
これらの機能向上により3DS Maxプラグインがリリース可能に。
39.
こちらは Houdini 15
と同タイミングでリリース予定。
40.
ここから Allegorithmic Substance
と Simplygon のプラグインについて紹介。
41.
この画像は GDC2013の時のHoudini からのアセットと
Substanceによるテク スチャをUnityに読み込み、実演している状態。 この時点では、Houdini でのビューポートで Substance テクスチャを表示す ることは不可能であった。
42.
今回、Allegorithmic により Houdini用のプラグインが開発されている。この プラグインを使うことで、Substance
シェーダを Houdiniのシェーダノード同 様に扱い、ビューポートに表示、またベイクなどに用いることが可能になっ た。このプラグインは Allegorithmicより入手可能。
43.
こちらの例では、形状全体に黒いプロシージャルシェーダがアサインされ、 突き出されたそれぞれの先に別のシェーダがアサインされている。 Houdiniのグループノードによりこれらが定義されている。
44.
Houdini 15ではビューポートの描画が強化されたことによりバンプやディス プレイスメントマップもそのまま表示可能に。 上の画像は ディスプレイスメント付
Substanceのシェーダをそのまま持って きた状態。
45.
こちらはSubstanceのシェーダをアサインしたジオメトリからテクスチャを ベイクする様子。 Houdiniは Substanceシェーダも Houdiniのシェーダも区別せず同じように扱 うことが可能。
46.
Houdini で作成した状態。Houdiniによるジオメトリのノードネットワークと 複数のSubstanceのノードで構成されている。
47.
Shatterノードで事前破砕した様子。
48.
Unityでの再生の結果。
49.
Unrealでの再生。こちらは スプライトによる煙を追加している。
50.
次に Simplygonの様子。Simplygonは、ポリゴン削減やマテリアルの統合をす るためのツール。 Simplygonのプラグインにより、それぞれの機能が個々のノードとして実装さ れる。 これはSimplygonから提供予定。
51.
Simplygonにより複数マテリアルを一つにまとめたり、
52.
Houdiniのノードと組み合わせて必要なところにのみポリゴン削減を加えたり することが可能。
Editor's Notes
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のノードと組み合わせて必要なところにのみポリゴン削減を加えたりすることが可能。