Houdiniでスーパーヘビーなシーンを作るためには
マシンスペックやメモリも大事だが、
それ以上に最適化(オプティマイズ)のテクニックが重要になってくる。
その時いつも思うのだが↓のようなタイトルの本が欲しくなる。
「Houdini 珠玉の最適化テクニック集50選!」
Houdiniを使ってる人の10人くらいには刺さると思う。
誰か書いてくれないかな。
Houdiniでスーパーヘビーなシーンを作るためには
マシンスペックやメモリも大事だが、
それ以上に最適化(オプティマイズ)のテクニックが重要になってくる。
その時いつも思うのだが↓のようなタイトルの本が欲しくなる。
「Houdini 珠玉の最適化テクニック集50選!」
Houdiniを使ってる人の10人くらいには刺さると思う。
誰か書いてくれないかな。
先日映画「ツイスターズ」を観に行った。
その影響を受けて今回Houdiniで竜巻シーンを作ってみた。
竜巻の作り方は数パターンあるのだが、
今回はPOPでらせん状にパーティクルを動かし、それをVDB化。
そして毎フレームPyroにdensityとvelボリュームをソースとして渡す手法でやってみた。
家屋は約1万個のRBDピースから構成。
家屋のアセットも作成した。
まず以下のようなシンプルなモデルを作成する。
そしてこのモデルをアセットに渡すと、アセットが家屋のすべてのディテール
(瓦屋根、窓、壁のレンガ、煙突など)を自動生成するようにしてみた。
ちなみに8年前にも竜巻シミュレーションを行っていたのだが、
当時と現在ではワークフローが全く異なっている。
https://www.sidefx.com/ja/houdini-hive/houdini-205/
6月18日にHoudini 20.5の発表イベントがあるが、
新機能の中に”copernicus”というものがあるらしい。
以下のSidefxのフォーラムでも話題になっているが、
COPernicusは、おそらくCOPが完全刷新されたものと予想されている。
https://www.sidefx.com/ja/forum/topic/94406/?page=2#post-423180
その場合「APEX上に実装されたCOP」というのが一番ありそう。
ついにポストエフェクトまでHoudini上で完結できるようになるのか。
Here is my latest demo reel.
All work in the reel is personal work created with #houdinihttps://t.co/88QuO3DosD[Vimeo]https://t.co/q2re63kwcY#sidefx #houdini #houdinifx #flipfluid
— Shuichi Sakuma (@selenelight3d) April 4, 2024
今まで作ってきたHoudiniの個人作品を3分のリールにまとめてみた。
今回新しくリールに追加した作品はクマ型のロボットが海中から出現するFLIPシミュレーション。
モデルはHoudiniで作成し、装甲や内部のパイプはプロシージャルにモデリングした。
テクスチャー作成にはサブスタンスペインターを使用。コンポジットはNuke。
モデルのサイズはそこそこ巨大なため、ホワイトウォーターのパーティクル数は億を超えた。
この規模だと作業PCのメモリは128GBでは厳しかったため、
ホワイトウォーターのシミュレーション精度は少し下げてシミュレーションを行った。
規模の大きなFLIPシミュレーションを行うためにはメモリは256GB必要だと毎回痛感する。
先日Houdiniで作成した熊を使って、川の流体シミュレーションを行ってみた。
今回からはHoudini20を使用。
それに伴い流体シミュレーションのワークフローをFLIP SOPに全面移行した。
レンダリングにはKarma XPUを使用し、要素分けなしの一発レンダリング。
背景はHoudiniで全てモデリングした。
Houdini19.5から実装されたFLIP SOPによりFLIPのワークフローは完全に新しくなった。
SOP内で全て完結できるため、結論から言うとセットアップがかなり分かりやすくなっている。
SOP版のFLIP Solverの実装はDOP版のものとは異なるためパラメーターには若干の違いがある。
ソルバーにはAPICとFLIPと二つのアルゴリズムが用意されており、今回はFLIPを選択。
以下は二つのアルゴリズムを使った今回のシミュレーションの比較。
ホワイトウォーターの表現には標準のものに加えて、スプラッシュ用に自分で実装したものを追加した。標準のホワイトウォーターはボリュームシェーダで、自分で実装したものはSSSを調整したサーフェイスシェーダでレンダリングしている。
熊のファーもウェット用にグルーミングを少し修正している。
さらにファーのウェット用のシェーダを作り、ファーからの第二の飛沫もパーティクルで表現してみた。
飛沫が岩石に衝突した際の岩石のウェット表現はSOP内のAttributeTransferで実装した。