Vellumの粉砕と引裂をするために、平面パッチを簡単に粉砕することができる新しいEdge Fractureツールがあります。
以下のサンプルは、単純な布を引き裂く方法を説明しています。
-
ビューポートに球を配置します。
-
その球を地面より上側の位置まで上げて、フレーム0でキーフレームを設定します。
-
その球を地面より下側の位置まで下げて、フレーム24でキーフレームを設定します。
-
平面パッチを作成し、 Build Plane をZX Planeに設定します。
-
Size を大きくして、位置を球の下側に配置します。
-
その平面パッチにEdge Fracture SOPを追加します。これは、その平面パッチを粉砕します。
-
そのEdge FractureにVellum Configure Clothを追加します。これは、その平面パッチをVellum Clothに変換します。
-
Pin to Animation 選択で、 再選択ボタンを使って、ビューポート内でインタラクティブにピン留めしたいポイントを選択します。⇧ Shiftを押しながら、向かい合った2つのエッジを選択して、Enterを押します。
-
Sphere SOPをVellum Configure Clothの衝突ジオメトリ入力(3番目の入力)に接続します。
-
Vellum Configure Clothノードの後にVellum Solverを追加します。
シミュレーションを再生すると、布が破れて、その破れた布切れが落ちます。
-
Vellum Configure ClothノードとVellum Solverノードの間にVellum Weld Points SOPを追加します。これは、それらの布切れを接合します。
-
Vellum Weld Pointsノードの Breaking チェックボックを有効にして、 Threshold にその接合を切り離す値を設定します。この閾値を超えると、接合が切り離されます。
Note
別の方法としては、Edge Fracture SOPの Initial Pieces を無効にして、 Create シェルフタブのDraw Curveツールを使用することで、インタラクティブに平面パッチに切り目を入れることができます。 これによって、その引裂を起こさせる箇所を完全に制御することができます。 Edge Fracture SOPノードの2番目の入力にDraw Curveを接続すると、その効果を確認することができます。
時間軸で応力計算を正規化 ¶
Vellum Solverの Advanced タブには Normalize Stress チェックボックスがあります。 これはHoudini18以降ではデフォルトで有効になっています。 このチェックボックスは、サブステップ値が変わっても計算値が予測しやすくなるように、時間軸で応力計算を正規化することができます。
これは、応力閾値に基づいて布を粉砕または引き裂く際にその閾値をあまり変更する必要なくサブステップ数を変えることができるので便利です。 例えば、非常に高速に移動する衝突オブジェクトがあってサブステップ数を上げる必要がある場合、その閾値は若干調整するだけで済みます。
これは、密度から計算された質量と組み合わせても上手く動作します。 例えば、密度が一定な布があって解像度を変更しても、その応力値もそのままうまく整合性が保たれるはずです。 これによって、サブステップ数や解像度が大きく変わっても動作するように応力値をセットアップしやすくなります。
サブステップ数が1の低解像度メッシュ。
サブステップ数が3の高解像度メッシュ。
上記の図は、サブステップ数と解像度が異なる同じ布の溶接の応力閾値を示しています。 裂けた箇所はまったく同じではないものの、その結果は同じに近いです。 このルックが気に入らないようであれば、 Breaking Threshold を若干調整することで、この結果を改良することができます。