Houdini 19.0 ダイナミクス

ジオメトリを自動破壊する方法

On this page

色々なシェルフツールを使ってジオメトリを破壊する方法がいくつかあります。例えば、シェルフの Model タグのShatterツールを使えばジオメトリを切り刻むことができ、シェルフの Rigid Bodies タブのRBD Fractured Objectツールを使えばダイナミックオブジェクトを破壊することができます。また、シェルフの Rigid Bodies タブのMake Breakableツールを使えば動的にオブジェクトを破壊することができます。

以下にシェルフのツールを使わないでジオメトリを自動破壊する詳細な例を載せます。

ジオメトリのインポート

  • ジオメトリをHoudiniの環境に読み込みます。すべてのファイル操作には$HIPを必ず使ってください。その理由は最終シミュレーションでレンダーファームを使用する時にファイルを参照する必要があるからです。

Note

破壊する前にジオメトリを分析して、不具合のない正確な衝突ジオメトリが得られるように、ジオメトリ上のポイントすべてが結合していて、オブジェクトが正しくXYZ軸に対応して変換されていることを確認してください。

BooleanとVoronoi SOPの適用

  • 破壊を特定の領域に拘束するには、Cookie SOPとVoronoi Fracture SOPを組み合わせます。これはジオメトリを個々の破片に分割して、インパクトによって、ジオメトリ全体というよりは、一定時間内で発生したヒビ割れのある面白い破壊を作成します。

  • Voronoi Fracture SOPは整った破壊ジオメトリを生成し、Fracture DOPと組み合わせると上手く機能します。

    Note

    このツールを使うと、ジオメトリの個々の部分に対して、いくつかの破壊を効果的に計算するのでシミュレーション時間が長くなります。

  • またExploded Viewと呼ばれるOTLもあります。これはジオメトリの個々の部分をオブジェクトの重心から設定した距離だけ移動し、破壊したジオメトリの内側のフェースを確認することができます。

グループ名のチェック

  • Voronoi Fracture Configure Object DOPを使ってインパクトを検出すると、そのアルゴリズムが膨大な量のジオメトリを新しく作成します。これらのジオメトリは初期のジオメトリに対応したグループとラベルを設定します。

    Tip

    インパクトで発生したデータ量が大きい時は、はっきりと分かりやすい命名規則を考慮すれば、グループを後工程で扱いやすくなります。

DOPへのインポート

  • ジオメトリをDOPに読み込みます。ジオメトリの1個の破片を使うならRBDオブジェクトを使ってください。ジオメトリを事前に破壊していれば、RBD Glueオブジェクトを使ってください。

    Note

    RBD Glue Objectを使用する時は、Glueの値を必ず-1から0に変更してください。そうしないと、インパクトで破壊が起こりません。

衝突ジオメトリのチェック

  • このツールはリジッドボディダイナミクスを使用していて、フォースを追加してジオメトリが破壊されるように開発されているので、必ず衝突ジオメトリが正確であることをチェックしてください。

    Note

    この衝突ジオメトリの解像度はシーンのシミュレーション時間に影響があるので、解像度を制御可能な分割数で維持してください。

インパクトジオメトリのセットアップ

  • ジオメトリをDOPにインポートした後に最初にすべきことは、破壊されるジオメトリと衝突するオブジェクトのセットアップと整列です。

    密度、摩擦、弾力性の設定を変更すれば、シミュレーションが大きく変わってきます。例えば、 Density フィールドはインパクトジオメトリの貫通量を制御するのに使用します。

拘束のセットアップ

  • このツールはフォースとインパクトに基づいているので、拘束は非常に重要です。例えば、がっしりとした土台に建物やその他のオブジェクトを固定するシーンを処理する時、拘束が必要になります。とはいえ、ピン拘束を全体のシーケンに対して直接ジオメトリの個々の部分に割り当てることができません。その理由は破壊が起きる度にグループ名が変わるからです。

    この問題はダイナミックオブジェクトをグループ化し、拘束でこのダイナミックオブジェクトグループを参照することで解決することができます。

自動破壊の適用と構成

これまでの手順を実行してしまえば、Voronoi Fracture Configure Object DOPをジオメトリの特定箇所に割り当てて適時カスタマイズしてください。

Voronoi Fracture Configure Object DOPツールには機能がいくつかあり、特定の問題を解決したり、特定のエフェクトを実現することができます。

Unwanted Fractures

インパクトやフォースがジオメトリの大きな箇所をモデルの反対側からインパクトのポイントまで破壊させるなら、Voronoi Fracture Configure Object DOPの Points タブで、 Point Density の値を大きくして、 Scatter Location を Both か Exterior Volume に設定してください。これは予期しない破壊の発生を解決するはずです。

Exploding Debris

サーフェスから爆発または、その位置から離れるジオメトリの影響を得るには、 Velocity Transfer タブの Normal Impulse Scale と Radial Impulse Scale パラメータが、この見た目を実現するのに役に立ちます。また Impulse Distance パラメータはシーンのサイズに応じて調整する必要があります。

Interior Detail and Cluster

破壊ツールで生成されたジオメトリの破片は、きんとうまく処理されますが、均一ではありません。この問題を解決するのにはいくつか方法があります。

Fracture タブには Interior Detail と Cluster の2つのサブタブがあります。 Interior Detail タブはジオメトリを分割し、ノイズを加えてサーフェスを変形します。これは情報を付加するのに役に立ちますが、破壊した破片がお互いに反応して一緒に付着する動作に影響を与えます。 Cluster タブは破片が一緒に繋がる方法を制御し、解放はシード値で制御することができます。これはさらにディテールを追加するのに良いですが、異なるジオメトリというよりは大きな均一の破片のような見た目になることがよくあります。

ブーリアンの動作

ブーリアンジオメトリを使う時、物理的に正しいシミュレーションの特性を上げるには、さらにVoronoi Fracture Configure Object DOPを近接するジオメトリに適用すると、インパクトで破壊するジオメトリと接触している箇所が砕かれて均一なエッジが除去されます。

Post-Fracture拘束のセットアップ

Note

ベースジオメトリをグループ化するエクスプレッションを使って初期の拘束をセットアップした場合、追加でジオメトリを拘束する必要がなければ次の手順は必要ありません。

破壊を初期化する時、ジオメトリは名前が変わり、新しいグループになります。つまり、1個の拘束では全体のシーケンスにわたる破壊オブジェクトを保持することができません。シミュレーションを計算するときに名前を探して補助的な拘束を作成しなければなりません。

シミュレーションの高精度化

シミュレーションの精度とディテールを良くするためには、オブジェクトレベルでサブステップを増やします。これはジオメトリがインパクト前のフレームで破壊する問題を解決し、予期しない貫通を減らすことができます。

シミュレーションとエクスポート

必要なエフェクト用にシミュレーションをセットアップしてしまえば、ローカルまたはレンダーファームでシミュレーションすることができます。

ダイナミクス

ダイナミクスの学習

衝突オブジェクト

シミュレーションタイプ

非DOPシミュレーション

次のステップ