作成者別アーカイブ: admin

Mayaグッズ

本日職場でもらったグッズ。

・Mayaバッグ
・Aliasパスケースホルダー
・ファイナルファンタジームービー Tシャツ

全部未使用。
HoudiniじゃなくてMayaかい!と心の中で突っ込んだが、
ある意味すごく貴重かもしれん。
おそらく20年前くらいのもの。

Mayaが一番輝いていた、あの時代を思い出した。

Houdini Husk Procedural

先日作成したクマのぬいぐるみアセットに
Houdini 19.5から導入されたHusk Proceduralsを組み込んでみた。
今回は9体のファーキャラクターをレンダリングできるかのテストを行った。
(アニメーションはVellumコンストレイントを使用して作成)

Houdini Fur Vellum sim from Shuichi Sakuma on Vimeo.

Husk Proceduralはレンダリング時にファーデータをメモリ上に展開し、ファーを生成するプロシージャ(関数)。
これによって作業時の表示は常にガイドカーブのみになり、Hydraレンダラーが走ったときのみファーが生成されるようになる。(昔のmentalrayのジオメトリシェーダのようなもの)

このプロシージャにはGenerateモードとDeformモードがあり、
簡単に言えばガイドカーブのみにグルーミングがある場合はGenerateモードを使用し
ファーカーブに対してもグルーミングを行っている場合にはDeformモードを使用する。
今回はファーカーブに対してクランプを行っているためDeformモードで使用した。

Husk Proceduralによって1台のマシンでも複数のファーキャラクターを無理なく扱えるようになった。ちなみに、Husk Proceduralを組み込んだcurve primはアイコン画像が変わる。

Houdini 19.5のHusk Proceduralはファーだけの対応のようだが、
以下のSideFXのプレゼン動画を見ると今後その種類は増えていくようだ。

Houdini Vellumシミュレーション

先日作ったクマのぬいぐるみにアニメーションをつけてみた。

ジョイント等は使用せず、基本はVellumコンストレイントの切り替えのみで作った。
Houdiniはキャラクターアニメーションにも柔軟にダイナミクスを組み込むことができる。

Houdini Fur:Karma XPU レンダリング

今回はHoudiniのFur機能を使ってクマのぬいぐるみを作成してみた。
Solaris内で複数のインスタンスを作成し、インスタンスごとにファーのバリエーションを作ってからKarma XPUでレンダリング。モデリングから全てHoudiniで作成。
今回はそのワークフローの備忘録。

 

① Solaris内でTabキーを押して”Component Builder”を選択し、以下のテンプレートを作成。


② SOP Importを作成し以下の場所に接続。クマを構成するファー・スキン・眼球ジオメトリをSOPからそれぞれ読み込む。

③ MaterialLibrary内にKarma Hairマテリアルを作成。ここでMtlX Geometry Property Valueノードを作成してUSDアセットのインターフェースを作成しておく。ここで作成したインターフェースはInstancerノードの内部からVEXなどを使用して同名のアトリビュート経由で制御可能となる。作成したインターフェースはテクスチャーから取得したテクセルカラーを変調するための[色相、彩度、明度]の3つのパラメーター。(名前はそれぞれhueShift、satShift、valShiftとした)

④ Component Outputノードを使用してUSDファイルへ書き出し。これによってクマのジオメトリ(geo)とマテリアル(mtl)が一つにパッケージ化される。

⑤ AssetRreferenceノード(アイコンはクマ!)を作成し手順4で保存したUSDファイルを読み込む。さらにInstancerノードをつなげておく。

⑥ Instancerノードの内部でポイントを作成する。ポイントに対して手順3で作成した[色相、彩度、明度]の3つのアトリビュートを作成。名前はUSDアセットのインターフェースと同じ名前(hueShift、satShift、valShift)にしておく。それぞれにVEXのrand関数などで値を設定。

 

⑦ ライト・カメラ・レンダリングの設定を行い、ビュー上でKarma XPUでインタラクティブレンダリングを行うと、インスタンスごとにファーの色調の変化が確認できる。

<補足:Karma Hairのメラニン設定とその結果>

エルの寝相

冬は床暖房のみで過ごしているが
エルはこの寝相で床に寝ていることが多い。
この姿勢が一番暖かくて気持ちいいんだろうな。

漁港近くの食堂

たまに行く漁港の近くにある食堂へお昼を食べに行った。
今日はお刺身と天ぷら定食。
全て近海でとれた新鮮な魚なので最高に美味しかった。


そのあとは海を見ながら1年の疲れを癒す。食後のコーヒーを飲みたかったが
近くに喫茶店は一軒もないため缶コーヒーを購入した。

波を見ながら、これをCGで作ったら大変だよな~と思った。

Avatar the way of water

映画「Avatar 2」を観てきた。

個人的には今年観た映画の中でベスト1かも。
映像の美しさはさることながら、
ある種の普遍性がテーマ自体にあるので
作品に入り込みやすかった。

視覚効果を担当しているのはニュージーランドのWētā FX(旧Weta Digital)。
Wētāの技術力は凄まじいものがあり、
今回の水の表現のために流体計算を行うためのソルバを新規で開発したらしい。
ハリウッド映画の中には大規模な水の表現をCGで再現したものはいままでもあったが、
アバター2はそれらとは一線を画す完成度だった。
また、キャラクターの顔の表情も素晴らしかった。

以下、ニューヨークタイムズの記事から抜粋。
How ‘Avatar: The Way of Water’ Solved the Problem of Computer-Generated H2O
https://www.nytimes.com/2022/12/16/movies/avatar-2-fx-cgi.html

・全編で視覚効果が使われていないショットは2つだけ
・Wetaが手がけた3,240の視覚効果ショットのうち2,225が水に関わるもの
・アバター1が1ペタバイトを必要としたのに対し本作では18.5ペタバイトのデータを保存

劇場で販売しているパンフレットを購入したが
ほぼ設定資料集になっており内容が濃い。

Avatar3は公開が決まっているらしいが
今度はKiriが主人公になるのかな?

ビル破壊シーン バージョン2

先日Houdiniで作成した破壊シーンのバージョン2の動画をアップ。
カメラワークを一部修正。

レンダリング中はマシンの発熱がすごい。
デロンギのオイルヒーターくらいの温度になるので、
レンダリング中はPCが暖房器具になる。

作業PCは天板から放熱するエアフローのため
寒い日にはエルがよくPCに乗って暖を取っている。

Houdini Skyscraper Destruction(高層ビル破壊)

今回、映画「トランスフォーマー3」のあるシーンを参考にして
ヘビ型のロボットを高層ビルに巻き付かせてビルをなぎ倒すシーンを作ってみた。

モデリング、アニメーション、シミュレーション、レンダリングはすべてHoudiniで行った。
コンポジットはNuke。

ヘビ型ロボット(劇中では”Driller”という名前)の基本的な動きはVEXでプログラム制御し、
さらにロボットの微震のためにVellumも使用した。

高層ビルのアセットは自分が書いたHoudini本(SOP&VEX編)を見ながら作成した。

今回のシーンはデータサイズが巨大だったため、キャッシュサイズだけでも3T以上となった。
データの規模的には以前作成した水のキャラクターを超えたと思う。

レンダリングはKarma XPUを今回始めて使用。
ベータ版ということで一部未実装な部分はあるが、今回のシーンでは問題なく使用できた。
使用感としては「とにかく速い!」の一言。
Karma XPUは数秒で最終的な絵に近い状態で確認できるため、作業効率の向上につながった。

ただ、レンダリングフレームによってはGPU側のメモリ割り当てのエラーが出て
自動的にCPUのみのレンダリングとなった。
これは使用しているグラボのメモリが8GBしかないため、GPU側のメモリに必要なデータが
全て転送できなかったためだと思われる。

今回はHoudiniのRBD、Vellum、POP、Pyroをフル活用して作ったが、
一昔前に比べてダイナミクス周りは格段に使いやすくなっている印象を受けた。
また今回の制作では「いかに壊すか」よりも「いかに壊さないか」に時間を費やした。
(そもそもHoudiniを使えば「壊す」ことは簡単にできるので…)

▼制作環境
CPU : Ryzen Threadripper 3970X(32コア)
GPU : GeForce RTX 3070
メモリ : 128GB
ストレージ : 12TB

ちなみに以下の動画は同じテーマで5年前にチャレンジしたもの。
5年間でそれなりに進歩はしたと思う。