Houdini 粒子化

Houdiniで粒子化エフェクトを作成。

全てSOP内で実装し、VEXでカスタムフォースを作った。
最初に指向性を決めるベクトルを作り、それに対してカールノイズとタービューランス(乱流)を
混ぜ合わせたベクトルを加算してポイントを移流させた。
このブレンド率を決めるのに時間がかかった。

Houdini Pyro その2

HoudiniのSparse Pryoを使って衝撃波(Shock Wave)を作ってみた。
今回も大規模なシミュレーションだが、ボクセルサイズを5cmにしても
Sparse Pryoでは実用的なスピードで計算が回った。

Sparse Pryoのおかげで、個人レベルで一台のマシンでの作業でも
大規模な流体計算が可能になったと実感した。

Houdini Pyro その1

HoudiniのSparse Pyroを使って爆発を作ってみた。
基本はシェルフから作成したが、
そのままではリアルな爆発にはならないので
色々とカスタマイズした。

爆破の規模は100立方メートル以上の非常に巨大なものだが、
Sparse Pyroのおかげで作業は比較的軽かった。

巣穴

巣穴へ入るまでの一連の流れ。



あらためて見るとノルウェージャンは尻尾が長いな。

Houdini FLIP その5

引き続きHoudini FLIPの研究。
今回はHoudiniを使って、海外の映画で何度か見たことがある
水の精霊のようなキャラクターを作成してみた。

 

キャラクターは4層構造になっており、1層目はベースの海面、2層目はFLIPシミュレーション、
3層目はホワイトウォーター、4層目は細かな飛沫シミュレーションとなっている。

標準のホワイトウォーターでは今回のような空間を自由に動く波の形状に対応できる
白い泡立ちを作るのが難しかったため、VEXで実装した自前のものを使用した。
キャラクターの動きはKineFXを使用してキーフレームで作成。
キャラクターの全長は6m。

FLIPシミュレーション中もキャラクターの顔の凹凸が認識できるように、
VEXで顔部分のFLIPパーティクルの初速度を緩やかにしたりするような細かな処理も入れている。
今回はコンポジットまで全てHoudiniを使用。



FLIPパーティクル数は1000万程度だが、今まで作ったシーンの中では最大の計算量だった。

季節ごとの場所

エルは季節によってお気に入りの場所が変わる。
猫ってそういうもの?
最近は部屋に置いてある椅子(爪とぎでボロボロ)の上にいることが多い。

Houdini FLIP その4

引き続きHoudini FLIPのR&D。

今回は液体の動きをVEXで制御してみた。
VEX内ではカールノイズで渦状の動きを作り、
液体をサーフェイスに吸着させるための力を発生させた。
この吸着力をsin関数で増減させ、サーフェイス上に波の高低差を発生させるようにしてみた。

これにより液体はサーフェイスに吸着しながら渦を巻くようになる。
さらに部分的に液体を落下させるようにするため
全体に対して一律に重力はかけないようにし、
VEX内の条件式の中で重力を発生させるようにしてみた。

結果、標準のFLIPでは作れない面白い動きになった。

Houdini FLIP Curl Noise test from Shuichi Sakuma on Vimeo.

Houdini FLIP その3

HoudiniのFLIPを使って水の飛沫シミュレーションを行ってみた。
先日Houdiniで作成した熊の動きに合わせて自然な飛沫になるよう調整。

水の飛沫はWhiteWater Solverで作成し、
水本体のSDFから適度に離れて飛散していくよう調整してみた。
また、水に触れる部分のファーに対してはwetアトリビュートを設定し、クランプ量(束)を
変化させ、濡れた質感を出すためにwetアトリビュートを組み込んだファーシェーダを作成した。

Vellum Solverを使った熊のFurダイナミクステスト。
Self Collision(ファーの自己衝突)をオフにしたためSubstepsは3程度で十分だった。

 

Houdini FLIP その2

 

Houdini FLIP その1

膝の上の時間

小さい頃はずっと膝の上で抱っこしていても平気だったが、
大人になったエルは膝の上にいる時間は最大で10分程度になった。
それ以上は我慢できないらしい。
膝の上にいる間にいつもブラッシングを行う。

ノルウェージャンは毛がモフモフなので冬場は暖かそう。