GWに鴨川シーワールドへ出かけた。
鴨川シーワールドといえばシャチのショー。
GWだったので凄い人だったが、ベストショットが撮れた。
シロイルカのベルーガのショー。
とにかく可愛いかったが、その知能の高さに驚いた。
一日いたが、それなりに楽しかった。
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で実装した。
数年前にHoudiniで作った熊のファーを今回作り直してみた。
以前はMantraでレンダリングしていたが今回はKarma XPUを使用。
ファーのシミュレーションにはVellumを使用した。
ファーのグルーミングは再構築し、今回ほぼ作り直した。
最初はプロシージャルにグルーミングを行い、その後局所的にブラシで
グルーミングしていった。
ファーの根元から毛先にかけての色の変化を作るために
Karma用のカスタムシェーダも作った。
ファーに関してはKarma CPUもKarma XPUもレンダリング結果はほぼ同一の結果になった。
おそらくピクセルレベルでは数パーセント程度の差だと思われる。
レンダリング時間はThreadripper(32コア)+RTX 3090の組み合わせで
フルHDサイズで1フレーム90秒程度。
1フレームを数時間かけてレンダリングしていたMantra時代とは隔世の感がある。
しかしKarma XPUは異次元のスピードだな…
スピードを追い求めて以前みたいにRedshfitやV-Rayを購入する必要ないもんな~。
Karma XPUがクォリティ的に厳しい場合にはRenderman XPUを使えばいいわけだし。
今回ふと思ったが、数年前に自分で作ったシーンファイルを開いて
中身を振り返りながら作り直していく作業は
Houdiniのスキルを上げていく上で一番いい方法かもしれない。