Houdini 竜巻シミュレーション

Houdiniを使って竜巻を作ってみた。
冬休みの自由になる時間をほぼ全部つぎこんだ。
結果、時間はかかったが今回色々と勉強になった。

 

Houdini tornade test ver01 from shuichi sakuma on Vimeo.

 

シミュレーションの規模が大きくなると
8コアでもCPUパワーが全然足りなくなる。
作業中のメモリ使用量は30GB近く。
これはネットワークのポイントポイントで
メモリキャッシュをとっているため。

2015-12-28_174627

 

ただ、8コアのPCの場合はレンダリングを回しながら
wordで教科書の原稿も書けるので色々助かる。

調べると個人ではXeonを2個積んだ36コアのマシンまでは購入できるみたいだが
価格帯が昔のシリコングラフィックスのレベルなので購入はとても無理(笑)

宝くじが当たればな~

巣の箱

久しぶりにキャットタワーの巣の中へ入ったエル。
小さい頃はよくここに入っていた。

2016-01-04_202053

 

「何よ。カメラ近いよ」

2016-01-04_202015

年末のエル

 

猫はこたつで丸くなる。
家にはコタツがないので、エルはカーペットの上で丸くなる。

2015-12-29_203532

 

最近のお気に入りは、ピンポン玉。

2015-12-29_203622

 

外を見ながら思いに耽る。

2015-12-29_204508

今年もあとわずか

2015年も残り3日。

今日で大掃除も終わり、年賀状も出し終わったので気が楽。
姪と甥にあげるお年玉袋も買った。

 

【今日のエル】

バッチリカメラ目線。
床暖房をつけてるのに、なぜか定位置はここ。

2015-12-28_220018

 

毛皮を着てるから暑いのかな?
元々ノルウェージャン・フォレストキャットは暑さと寒さには強いらしい。

2015-12-28_215916

 

思慮深い表情。
こういう表情の時って何考えてるんだろ?

2015-12-28_215940

Houdini RBDをフィールドで動かす

リジッドボディをSOPで作成した竜巻フィールドで動かすテストを行った。

POP系のオペレータはDOP内のGeometry全般を制御するためのマイクロソルバ。
よってパックしたRBDもPOP Advect By Volumesで移流させることができる。
(Gas Advectでも可)

 

2015-12-25_212418

 

今回フィールドによってRBDの加速度、速度、位置を更新し
その動きの違いを確認してみた。

 

1.加速度の更新

update_force from shuichi sakuma on Vimeo.

 

2.速度の更新

update_velocity from shuichi sakuma on Vimeo.

 

3.位置の更新

update_position from shuichi sakuma on Vimeo.

 

POP Advect By Volumesは、SOPから直接フィールドを持ってくるとうまくいかない。
(理由は不明)
代わりにDOPオブジェクトのデータとしてフィールドセットし、それを使用した。

2015-12-25_212944

 

SOP Vector Fieldは以下の設定

1.SOPのボリュームにDOPのフィールドサイズを合わせる
2.ボリュームのパス
3.velociyの効果をフィールド内に留めたい時はConstantに設定
4.読み込むボリュームがvector型の場合は0,1,2に設定(1ボリューム=1プリミティブ)
5.フィールドを毎フレームリフレッシュするためSet Alwaysに設定
6.データ名(わかりやすい名前にしておく)

2015-12-25_220523

クリード

映画「クリード」を観に行った。
ロッキーの続編ということで、見に来ている人の年齢層は高めだった。

2015-12-23_183911

脚本もしっかりしていたし、何よりアポロの息子役の人選がよかったと思う。

やはりこのタイプの映画はラストが熱い。
ロッキーも満身創痍でセコンドに付き、二人で戦う姿に
いい歳して泣いてしまった。

個人的には日曜日に観たスターウォーズよりも
見終わった後の満足度が高かった。
オススメの映画です。

Houdini 渦(vorticle)テスト

 

Houdiniの流体シミュレーションで重要になる
渦生成(vorticle)のテストを行ってみた。

 

Houdini vorticle test from shuichi sakuma on Vimeo.

 

最初にSOP内で渦の元となるポイントを作成する。
その際、渦の大きさ(@mag)、渦の影響範囲(@pscale)、渦の回転軸(@up)
アトリビュートをポイントに追加しておけば
DOP内でGas Vorticle Forces DOPがそれらのアトリビュートに従って、
渦を発生させるための力を作成しvelフィールドに足し合わせてくれる。

渦の巻き方は、各種パラメータによってかなり様相を変えるため
それなりのトライ&エラーが必要そうだ。

Houdini スピンドル形状の煙

 

HoudiniのVDBを使ってスピンドル形状の煙を作ってみた。

 

Houdini spindle smoke test from shuichi sakuma on Vimeo.

 

以下流れ。

先導パーティクル(3個)から追従パーティクルをエミット

2015-12-01_043829

 

パーティクル位置に球体をコピー。
この時パーティクルのageアトリビュートを球体のポイントにトランスファーしておく。
ageはパーティクルの年齢(秒)

2015-12-01_043843

 

VDBボリューム化

2015-12-01_043917

 

ボリュームにVolume VOP SOPでノイズを加える

2015-12-01_043943

 

最後に元の球体のageアトリビュートをボリュームからポイントクラウドとして読み込み、
ageに応じてボリュームのdensityを徐々に薄くさせて完成

spindlesmoke

 

VDBボクセルは0.01間隔で作成した。
個人製作においても普通にボリュームデータが使える時代だと
改めて感じた。

映画「エベレスト」

映画「エベレスト」を観に行った。
観たのは2D版だったので、普通のドキュメント映像を見てるみたいでイマイチだった。
(かと言って3Dは目が疲れるので観に行かないんですが)

2015-11-23_203420

映画の吹雪のシーンを見ながら
中学の時に陸上部ということだけで強制参加させられた
冬山登山を思い出した。
部員は全員強制参加だったが、今の時代に同じことをやったら
後で色々と問題になると思う(笑)

映画の帰りにスターウォーズの座席指定チケットを購入。
いい席が取れた。
今から楽しみだ~