COOK BOOK

houdini delicious recipes

September 2011

VEX Wave

CGWorld vol.156に掲載された記事です。

VEX(VOP)を使用して、波のシェーダー、及びデフォーマーを作りました。

これは、画があまり自分で評価出来ないので、
少しブラッシュアップしてから掲載したいと思います。
 
内容自体は、非常に有意義な物なので、きちんと画を作ってから更新します。

申し訳ないです。

CG WORLD (シージー ワールド) 2011年 08月号 [雑誌]

CG WORLD (シージー ワールド) 2011年 08月号 [雑誌]
クチコミを見る

CGW155 Cover Art


CGW155_fix



CGWorld vol.155の表紙を作成しました。

大分遅い更新で、もう忘れ去られているかと思いますが、
一応順番で更新しないといけないかと思いまして。。。

これは、R.G.B.tokyoと言うチームと、弊社Transistor Studioで作成しました。
アートディレクターのデザインを元に、
モデリング、レイアウト、レンダリング、コンポジットで仕上げています。




CG WORLD (シージー ワールド) 2011年 07月号 [雑誌]
CG WORLD (シージー ワールド) 2011年 07月号 [雑誌]
クチコミを見る

RBD Chain



CGWorld vol.155に掲載された記事です。

題材は、RBDを用いたチェーンのシミュレーションです。

チェーンなど、複雑に絡み合うものをシミュレーションする場合、
その多くは、Wire Solverなどでシミュレーションした、カーブなどに対して、
SOPを使った、ポスト処理で、チェーン化する工程などがあります。

しかし今回は、正直にRBDで処理してみました。

問題点として、初期設定のシミュレーションを処理しても、いい結果が出ないことにあります。
というのも、HoudiniのRBD Solverは、初期設定では、軽くするために、Substepをフレームごと、
つまり、1フレームにつき、一回の演算処理としています。

ところが、それだと、リング同士の干渉がうまく再現出来ません。
要は、1フレーム内で予測できない 動きをしてしまった場合、
リングが外れてしまう現象が起きてきます。

これは、剛体シミュレーションにはあってはいけない事で、絶対的に避ける必要があります。
その場合、Substepを増やし、演算の精度を上げていく方法と、Collisionの精度を上げる方法、
この2つを取る必要があります。

Solverのパラメータには、演算の精度にまつわるものが羅列されています。

的確な数値を入れるには、実験的に色々試していくしかないでしょう。

実際、自分も、把握していないことだらけです。

今後、何らかの形で、検証していきたいと思っています。
アイディアがあれば教えてください。

また、これは脇役になってしまいますが、チェーンの両端を止めておく必要があったので、
それには、RBD Pin Constraintを使用しています。

 Houdiniのダイナミクスには、様々なConstraintがあって、
これもまた色々と試せそうなものばかりです。
 
いずれガッツリとやってみたいですね。





CG WORLD (シージー ワールド) 2011年 07月号 [雑誌]
CG WORLD (シージー ワールド) 2011年 07月号 [雑誌]
クチコミを見る

Liquid Ball



CGWorld vol.154に掲載された記事です。


SPHを用いたフルイドシミュレーションの例です。


このプロジェクトは、困難を極めるものでした。

自分自身が、あまりSPH Fluidを用いたことが無いのと、

基本的なアプローチで、ミスを連発したりと、なかなか画に出来ずにいました。


なので、更新が大幅に遅れてしまいました。

(実際、ちょっと萎えていた部分も有りますが…)

鉄はアツイうちに打つべきですね。


今回は、SPHを用いたわけですが、

Flip Solverを使わなかった理由は、

Flip Solverの性質上、質量を保ちにくいという事にあります。

今回のシチュエーションでは、ボールの中に、

一定量の液体が保たれなくてはいけないので、

結果、Flip Solverを使用できないのです。


反面、SPHは、Substepなどの兼ね合いで、暴発しやすくもあります。

ただ、それに関しては、時間をかければ解決することなので、

アプローチの仕方には関係の無いことですね。


Flip Solverは、非常に軽いです。

ただ、シチュエーションとしては、もっと広範囲なものや、

範囲に縛られないものに向いていると言えます。


反面、SPHは重く、レスポンスは悪いですが、

非常にリアリスティックにシミュレーション出来ます。



続いて起きた問題は、

SPHのパーティクルにメッシュを張る際に起こる、

コリジョンとの整合性の問題です。


ある程度、高密度なシミュレーションをしても、

メッシュを張った際に出来てしまう隙間の問題です。

特に今回は、コリジョンとなる球体がガラスですので、

その隙間は如実に出てきてしまいます。


そこで、無理やり、ガラス付近に接しているメッシュを、

Ray SOPでぴったりとくっつけてあげます。

実際にはこれでも隙間はあるのですが、幾らかはましになります。




最後の問題は、モーションブラーです。

今回は、Velocity Blurを使っているのですが、それがそもそもの間違いで、

本当は、mantraのGeo Time Samplesを上げて、Deform Blurを有効にするべきでした。

ちなみに、以前はDeformとTransformのMotion Blurが分かれていたのですが、

バージョンを重ねるごとに仕様が変わってしまいました。


恥ずかしながら、Geo Time Samplesをついこの間まで知らず、

Velocity Blurばかりを使って、なんでいちいちVelocity付けなくちゃいけねぇんだよと、

Houdini様のせいにしていました。

無知とは罪です。


そのため、Velocityを利用していたのですが、そうすることで、

球体が静止状態の時に、中の液体が激しく動けば、

ガラス球から液体だけのブラーが飛び出すという、

なんとも間抜けなエラーを重ね、さらには、

球体付近の液体のVelocityを球体自体のVelocityを使ってねじ曲げるといった、

なんともお粗末なアプローチをとってしまっています。


そのせいで、表面に、変なモヤモヤが出てしまっています。


教訓もかねて、あえて恥を晒そうと思います。


非常に反省点の多い作品になってしまいました。

次回に活かしていきたいですね。






CG WORLD (シージー ワールド) 2011年 06月号 [雑誌]
CG WORLD (シージー ワールド) 2011年 06月号 [雑誌]
クチコミを見る

 
Profile
  • ライブドアブログ