引続きHoudini VellumのR&D。
今回はVellumシミュレーションにコンストレイントによる回転アニメーションを加えてみた。
コンストレイントには通常のキーフレームが入るので、ドラゴンに対するコンストレイントを
通した手打ちの動きをVellumシミュレーションに反映させることが出来る。
槍の動きはVEXで全て制御し、ドラゴンの動きに合わせてタイミング調整した。
VEX制御だと動きの調整が簡単になるため、素早いトライ&エラーが可能になる。
引続きHoudini VellumのR&D。
今回はVellumシミュレーションにコンストレイントによる回転アニメーションを加えてみた。
コンストレイントには通常のキーフレームが入るので、ドラゴンに対するコンストレイントを
通した手打ちの動きをVellumシミュレーションに反映させることが出来る。
槍の動きはVEXで全て制御し、ドラゴンの動きに合わせてタイミング調整した。
VEX制御だと動きの調整が簡単になるため、素早いトライ&エラーが可能になる。
HoudiniのVellum使って翼のアニメーションを作ってみた。
まずはAttributePaintでマスクを作成。赤はVellumで揺らすポイント、紫はベースメッシュに固定させるポイント。翼の骨付近のポイントはVellumで揺らさずにベースメッシュに追従するようにするため紫になっている。
次にGroupノードのバウンディングボックスを使って翼をグループ化。
これはこの後のBendデフォーマーのため。
Bendで翼のアニメーションづけ。sin関数を使って動かし、翼の可動領域はfit関数で調整。
60*fit(sin(15*@Frame),-1,1,-2,0.5)
その後、Vellum ConstraintsのプリセットClothとPin To Targetを使って
Vellumシミュレーションを行って翼の二次的な揺れアニメーションを設定。
以下はPin To Targetの設定項目。(Clothの方はデフォルトのまま)
実行結果。いい感じにシワができた。
最初Pin To TargetのTarget(ターゲット)って何?と思ったが、
VellumSolverのadvacedタブ内で設定してあった。
First Input、つまりVellumに刺す前の状態のメッシュということ。
(今回はBendでアニメーションした状態のメッシュ)
今回のモデルはフリーモデルを使用。
HoudiniのRBDを使って地面の崩落シミュレーションを作ってみた。
Houdini RBD 2 from Shuichi Sakuma on Vimeo.
今回は粉砕処理をカメラ基準にして行った。
具体的には以下のように各リジッドボディのカメラ方向基準で前部分30%くらいを再分割した。
最初はForEachブロックでリジッドボディごとにループを回して割っていたが
スピードが遅いためVEXでやる方法に切り替えた。
拙書「Houidni SOP&VEX編」にも書いたが(p474,p505)、detailモードでVEXを実行し
(1回だけの実行)その中でfindattribval系関数を使うことで、ForEachブロックの使用を
多くの場合回避することができる。このやり方のメリットは処理スピード。
以下はPyroのボクセルサイズによる煙の出方についてのテスト。
5cm(0.05)のサイズだと煙のディテールを失わずにシミュレーションできるが
今回はシーンサイズが大きいため、メモリを限界まで使うことになった。
RBDシミュレーションその1。
18.0からRBD Connected Faces、 RBD Disconnected Facesノードが
追加されたので、破片の割れ目検知が簡単にできるようになった。
(以前は自前のVEXでintersect関数でレイを打って破片の隙間判定を行っていた)
これにより、破片の割れ目からパーティクルや煙を出すためのノードネットワークが
かなりシンプルになった。
Houdiniで自前のワイヤーデフォーマーを実装してみた。
最初PointDeformでやっていたが、レスト状態が直線のカーブではうまくいかなかったため、
対応可能な自前のデフォーマーをVEXで実装した。
サンプルとして以前Houdiniでモデリングしたラピュタのロボットに対して
花を咲かせるエフェクトを作成してみた。
Houdiniで粒子化エフェクトを作成。
全てSOP内で実装し、VEXでカスタムフォースを作った。
最初に指向性を決めるベクトルを作り、それに対してカールノイズとタービューランス(乱流)を
混ぜ合わせたベクトルを加算してポイントを移流させた。
このブレンド率を決めるのに時間がかかった。