カテゴリー別アーカイブ: houdini

Houdini カメラバイブレーション

HoudiniのCHOPを使ってカメラの振動を実装してみた。

スライムの着地に合わせてカメラの振動はプロシージャルに発生するようにしてある。
つまり目で見て合わせるのではなく、全て自動でカメラが振動する。
さらに破片や煙も同様にプロシージャルに自動で生成するにようにしてみた。

CHOPはHoudiniではあまりスポットライトが当たらないが
マスターすると様々な場面で活躍してくれる。

キングスライムはHoudiniでフルスクラッチで作成。
モデラーではない自分にとってはこんなシンプルなモデルでも半日かかる。

Houdini 20.5

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上で完結できるようになるのか。

Houdini FLIP その12

自分のPCのメモリを256GBに増やして、ホワイトウォーターの計算精度を上げて
Houdiniでシミュレーションを行ってみた。

ある程度のシーンの規模でホワイトウォーターの計算精度を上げていくと
メモリを200GB近くすぐに消費する。

メモリの価格は比較的安定しているため、メモリは積めるだけ積みたいが
Ryzen Threadripper用のマザーボードは最大256GBになっている。
ちなみに最新のThreadripper Proのマザボだと2TBまでいけるらしい。

Houdini 個人作品リール

今まで作ってきたHoudiniの個人作品を3分のリールにまとめてみた。

今回新しくリールに追加した作品はクマ型のロボットが海中から出現するFLIPシミュレーション。
モデルはHoudiniで作成し、装甲や内部のパイプはプロシージャルにモデリングした。
テクスチャー作成にはサブスタンスペインターを使用。コンポジットはNuke。

モデルのサイズはそこそこ巨大なため、ホワイトウォーターのパーティクル数は億を超えた。

この規模だと作業PCのメモリは128GBでは厳しかったため、
ホワイトウォーターのシミュレーション精度は少し下げてシミュレーションを行った。
規模の大きなFLIPシミュレーションを行うためにはメモリは256GB必要だと毎回痛感する。

Houdini 水滴表現

先日作成した動画の中で、熊が川を遡上している際の
熊に付着した水滴表現についての補足。

基本はファーにポイントを付着させておき、
そこからPOP Networkの中でパーティクルを発生させている。
発生させたパーティクルにはパーティクルの年齢に比例して
タービュランスが大きくなるような力を加えている。

<通常状態>

<水滴表現あり>

Houdini FLIP その11

先日Houdiniで作成した熊を使って、川の流体シミュレーションを行ってみた。

今回からはHoudini20を使用。
それに伴い流体シミュレーションのワークフローをFLIP SOPに全面移行した。

レンダリングにはKarma XPUを使用し、要素分けなしの一発レンダリング。
背景はHoudiniで全てモデリングした。

Houdini19.5から実装されたFLIP SOPによりFLIPのワークフローは完全に新しくなった。
SOP内で全て完結できるため、結論から言うとセットアップがかなり分かりやすくなっている。
SOP版のFLIP Solverの実装はDOP版のものとは異なるためパラメーターには若干の違いがある。

ソルバーにはAPICとFLIPと二つのアルゴリズムが用意されており、今回はFLIPを選択。
以下は二つのアルゴリズムを使った今回のシミュレーションの比較。

ホワイトウォーターの表現には標準のものに加えて、スプラッシュ用に自分で実装したものを追加した。標準のホワイトウォーターはボリュームシェーダで、自分で実装したものはSSSを調整したサーフェイスシェーダでレンダリングしている。

熊のファーもウェット用にグルーミングを少し修正している。
さらにファーのウェット用のシェーダを作り、ファーからの第二の飛沫もパーティクルで表現してみた。

飛沫が岩石に衝突した際の岩石のウェット表現はSOP内のAttributeTransferで実装した。

 

Houdini Fur

数年前に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のスキルを上げていく上で一番いい方法かもしれない。

Houdini Tree

現在のHoudiniではLabs Tree系ノードを使用すれば簡単にリアルな木が作れる。
基本的な木の形状を作成するためのノードネットワークは以下の通り。

  1. Labs Tree Controller : 木の形状をコントロール
  2. Labs Tree Trunk Genrator : 幹を作成
  3. Labs Tree Branch Generator : 枝を作成(複数接続すると枝の世代が増える)
  4. Labs Tree Leaf Generator : 葉のテクスチャーを貼るためのカードを作成
  5. Labs Tree Simle Leaf : カードを葉のジオメトリに置き換え

パラメーターを変えながらWedgeを使って数種類のパターン形状を作成。

今回、木を使った様々なシーンを作ってみた。

①「カールじいさんの空飛ぶ家」をイメージ

② 紅葉

今後、木を作るためにL-Systemを使用することはもうないだろうな。

Houdini 猫その6

家猫エルのキャラクター作成プロジェクトその6

先日作成したクロスシミュレーションにファーを追加。

クロスもファーも猫のひげも、全てVellumによるダイナミクス計算によって駆動。

今回は以下のようにクロスとファーの干渉を避けるためにクロス内部に入るファーを
動的に削除するVEXを書いた。

レンダリング時間はフルHDサイズで、32コアのCPUで1フレーム40秒程度。

今回は以下のキャラクター作成の作業を
全てHoudini内でやってみた。

  1. モデリング
  2. リギング
  3. キーフレームアニメーション(歩行サイクル)
  4. 顔アニメーション(ブレンドシェイプ)
  5. 二次的アニメーション(耳、尻尾)
  6. FX(ファー、クロス、ひげ)
  7. レンダリング

今回、実際に自分で手を動かしてキャラクターを作ってみて
キャラクターを作る大変さがよくわかった。
特にかわいい(と、自分が思う)キャラクターを作るのは大変すぎる…