徐々に布がちぎれる彫刻をつくる
HoudiniのVellumの学習として、彫刻にまとった布が徐々にちぎれ飛ぶシミュレーションのセットアップを行ってみました。
モデルのセットアップ
読み込んだ彫刻のモデルをMatchSizeで大きさを整え、ポリゴン数を調整してEdge Fractureで分割します。
シミュレーションは大きさによって非常に結果が左右されやすいので、MatchSizeが便利ですね。
彫刻のグループ範囲をアニメーション
移動するSphereのアニメーションを作成して、GroupノードのBounding Objectに設定します。グループの範囲内のbreakアトリビュートを0.00001、範囲外を1に設定します。そして参照して呼び出しやすいように、OUT_breakという名前でnullに接続しておきます。
Vellumの設定
Vellum ClothとVellum Stitchを作成して、Vellum Solverに接続します。Vellum Stitchは切断された布をくっつけるノードです。
また元のジオメトリをpeakでわずかに小さくしたモデルをコリジョンオブジェクトとして読み込んでおきます。
Vellum Solver での値の更新
布のちぎれやすさというのは、Vellum Stitchで生成されるbreakthresholdというアトリビュートなのですが、Vellum Solverのアトリビュートはシミュレーションの最初のフレームで初期化されるため(※合ってなかったら指摘もらえると嬉しいです)、Solverの中で値を変更する必要があります。
VellumSolverの中に入り、Geometry Wrangleを作成します。
Geometry WrangleのInputタブでInput1をSOPに変更し、OUT_breakのパスを記載します。
VEXを書いてbreakアトリビュートを、breakthresholdとして受け取ります。
// Geometry Wrangle RunOver Point
@breakthreshold = point(0, "break", @ptnum);
まとめ
VellumSolverの中で記述することで、シミュレーション中にVellumのアトリビュートを変更できる。
たぶんこれは、COREではできない?
他の変更方法があれば知りたい。
この記事が気に入ったらサポートをしてみませんか?