てんちょーの技術日誌

自分がつまづいたこととかメモ

【Houdini】Zombie Clothes Sample を読んでみた

概要

この記事は Houdini Advent Calendar 2023 10日目の記事です

qiita.com

先日 Houdini 20 がリリースされ、
Vellum の新しいサンプルが増えたので読んでみました

www.sidefx.com

www.sidefx.com

サンプルの紹介記事はこちら

www.sidefx.com

読んでみる

大きな流れとしては下記になります

  1. 各服のパーツを Vellum Drape で縫合
  2. 1 に Edge Fracture で切り込みを入れる
  3. 帯を作って Vellum Constraints Attach でくっつける
  4. Vellum Constraints Weld の Breaking で破砕

Vellum Drape に関してはこちらも参考になるかと思います

www.sidefx.com

shop-0761.hatenablog.com

Update Mode

www.sidefx.com

サンプルは update mode が Manual になっていることがあるので注意してください

Houdini のウィンドウ右下にあります

Auto Update / Manual の切り替えショートカットを作成することも出来ます

nomoreretake.net

また、 Force Update にショートカットを割り当てれば
Manual にしたときに更新できるようになります

スクショでは Ctrl + F5 を割り当てています

フード

フードの下側と上側の縫合したい箇所の頂点数が一致していませんが、
対象の頂点を手で選択して解決しているようです
(そんなに数も多くないので)

手書きで curve を書き、Edit ノードで気合で結び目を作っています

方式としてはこちらが近いです www.youtube.com

別の方法例 (Vellum Brush)

shop-0761.hatenablog.com

上記で例示したものたちは Sweep の Ribbon でシミュレーションしていますが、
このサンプルでは Sweep 時点で立体化しているのが特徴です

試しに雑に Ribbon でシミュレーションしてみましたが、
どうやら先に立体にしてるほうがキレイになりやすそうです

Sweep Ribbon + Vellum Postprocess

Sweep 時点で立体化 (本サンプルの方式)

vm_cuspangle

vm_cuspangle 左: なし / 右: あり

このパラメータを保持しておくと、ポリゴンが滑らかに見えます

www.sidefx.com

vm_cuspangle attribute 自体は、vellum drape 内の vellum solver (or vellum solver) の
turn_off_crinkly_looking_cloth ノードにて 180 を決め打ちしています

vm_cuspangle を 0→ 60 → 120 → 180 にしたもの

Normal ノードの Cusp Angle を 180 にしたものと近しい結果が得られるので、
Cusp Angle についての説明はこちらが参考になりそうです

頂点法線を計算する時、単一ポイント周辺の頂点の法線がお互いにこの角度(度)以下の場合、それらの法線が平均化され、各ポリゴンの頂点角度でウェイトがつけられます。 www.sidefx.com

左: vm_cuspangle なし + Normal ノード / 右: vm_cuspangle あり

Labs Delete Small Parts

繋がっているPiece 単位で小さい破片だけを削除するのに使用していました

www.sidefx.com

まとめ

プロシージャルと手作業のバランスがいいなと思いました
自分の場合は全部プロシージャルにしたくなってしまって
時間がかかることが多いので...

手前味噌ですが、Vellum の簡単なサンプルをまとめたものがあるので
必要であればこちらもどうぞ~

shop-0761.booth.pm

何かあれば Twitter までお気軽にどうぞ~

https://twitter.com/shop_0761