季節ごとの場所

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

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分程度になった。
それ以上は我慢できないらしい。
膝の上にいる間にいつもブラッシングを行う。

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

Houdini Fur

以前Houdiniで作成したFurのグルーミングを修正した。
さらに今回はテクスチャーからファーの色をコントロールしてみた。
動物系のファーはどのくらいの太さパラメーターが適切なのか今回も試行錯誤。
レンダリングはMantra。

 

作業途中ではPaintノードを多用したが、Houdini18.5では隠しノードになっており
[TAB]キーからは作れないため、その対処法を書いておく。

1 メニューから[Windows] -> [HScript Textport]を選択しターミナルを表示

2「cd 現在作業しているパス」と書いて[Enter]を押す

3「opadd -e paint」と書いて[Enter]を押す

4  座標(0,0)にPaintノードが作られる

[参照元]
https://forums.odforce.net/topic/30008-accessing-old-polyextrude-sop-in-h16/

Houdini FLIP その2

HoudiniのFLIPを使って海を作成してみた。

FLIP パーティクル:約2200万
Whitewater パーティクル:約2000万
計4200万個のパーティクルを使用

岩のテクスチャーはサブスタンスで作成。
RBD(亀)とFLIPは相互作用するよう調整した。
レンダリングはmantra。
ホワイトウォーターの泡っぽい質感は出せたと思う。

 

 

Houdini FLIP その1

Houdini FLIPのテスト。
岩に凹みをつけて、岩が浮き上がった際に水が凹みに溜まるようにしてみた。

レンダリングはRenderMan。
最新のRenderMan23.5では途中でレンダリングが止まってしまうため
Houdini 18.0.532上でRenderMan23.4を使用した。

Houdini FLIP test from Shuichi Sakuma on Vimeo.

Houdini KineFX Spider リグ

Houdini 18.5のKineFXを使って蜘蛛のアニメーションを作ってみた。

今回、蜘蛛の脚の動きにはサイクロイド曲線を使用し
Rig Attribute Wrangleノード内のVEXで制御した。
(サイクロイドとは円が回転するときの円上の点が描く軌跡のこと)
蜘蛛のジョイント階層のルートジョイントの毎フレームの移動量から
サイクロイド曲線上の各脚先の動きを割り出している。

【テスト1】
蜘蛛を動かしながら衝突判定を行った。
蜘蛛の脚先からintersect関数を使って特定方向にレイを打ち、衝突検知を行っている。
衝突した際の姿勢の制御もVEXで行った。

【テスト2】
壁を上るテスト。
平地からのスムーズなトランジションを実現。

以下、サイクロイド曲線を可視化したもの

今回感じたKineFXの強み
・ローカル座標系<–>ワールド座標系の使い分けが簡単にできる
・フルボディIKをプロシージャルに使用できる
・モーションのブレンドをプロシージャルに行える
・どこでどのようなモーション編集を行っているかが一目でわかる
・必要なタイミングでFK・IKを組み込める
・CHOPを簡単に組み込める(蜘蛛の頭の振動を抑えるためにFilter CHOPを使用)