SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
CEDEC 2015 Houdini for Game VFX
CEDEC 2015 Houdini for Game VFX
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_water
flow.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 だが、それを元にしたプラグインも公開されている。
CEDEC 2015 Houdini for Game VFX
こちらは 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のノードと組み合わせて必要なところにのみポリゴン削減を加えたり
することが可能。
CEDEC 2015 Houdini for Game VFX

Mais conteúdo relacionado

Mais procurados

ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - UnityステーションUnity Technologies Japan K.K.
 
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)Takahiko Wada
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようUnity Technologies Japan K.K.
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Masahiko Mizuta
 
Unity パーティクルシステム超入門
Unity パーティクルシステム超入門Unity パーティクルシステム超入門
Unity パーティクルシステム超入門minoru nakanou
 
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Yusuke HIDESHIMA
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DKatsushi Suzuki
 

Mais procurados (8)

ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
 
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)
Oculus Riftで一度乗ってみたかったアレを作ってみた (TMCN総会vol.12)
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
 
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
 
Unity パーティクルシステム超入門
Unity パーティクルシステム超入門Unity パーティクルシステム超入門
Unity パーティクルシステム超入門
 
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
 

Mais de Ken Taki

これから Houdini 始める
これから Houdini 始めるこれから Houdini 始める
これから Houdini 始めるKen Taki
 
Engine cedec2014 dist_jp
Engine cedec2014 dist_jpEngine cedec2014 dist_jp
Engine cedec2014 dist_jpKen Taki
 
Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)Ken Taki
 
Houdini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニングHoudini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニングKen Taki
 
Houdini .OBJ から .ABC へ
Houdini .OBJ から .ABC へHoudini .OBJ から .ABC へ
Houdini .OBJ から .ABC へKen Taki
 
Houdini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフローHoudini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフローKen Taki
 
Houdini 製品概要
Houdini 製品概要 Houdini 製品概要
Houdini 製品概要 Ken Taki
 
Houdini for games_jp
Houdini for games_jpHoudini for games_jp
Houdini for games_jpKen Taki
 
Houdini 12 5_overview_jp
Houdini 12 5_overview_jpHoudini 12 5_overview_jp
Houdini 12 5_overview_jpKen Taki
 

Mais de Ken Taki (9)

これから Houdini 始める
これから Houdini 始めるこれから Houdini 始める
これから Houdini 始める
 
Engine cedec2014 dist_jp
Engine cedec2014 dist_jpEngine cedec2014 dist_jp
Engine cedec2014 dist_jp
 
Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)
 
Houdini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニングHoudini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニング
 
Houdini .OBJ から .ABC へ
Houdini .OBJ から .ABC へHoudini .OBJ から .ABC へ
Houdini .OBJ から .ABC へ
 
Houdini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフローHoudini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフロー
 
Houdini 製品概要
Houdini 製品概要 Houdini 製品概要
Houdini 製品概要
 
Houdini for games_jp
Houdini for games_jpHoudini for games_jp
Houdini for games_jp
 
Houdini 12 5_overview_jp
Houdini 12 5_overview_jpHoudini 12 5_overview_jp
Houdini 12 5_overview_jp
 

CEDEC 2015 Houdini for Game VFX

Notas do Editor

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