On this page

概要

Houdiniでオブジェクトを破壊する方法は主に2通りあります:

  • Voronoi Fracturing(ボロノイ破壊)

    • ジオメトリネットワーク内でオブジェクトを事前に破壊しておき、ダイナミクスで、それらの破片をGlue拘束を使って接着します。破片が十分な力で衝突すると、それらの破片が分離します。こうすることで、粉砕を人工的な制御で行なうことができます。

    • 衝撃に基づいてボロノイ破壊を動的に生成します。これは、実際の衝撃ポイントに基づいてよりリアルに破壊することができます。

  • ソリッドオブジェクト(有限要素法またはFEMとも呼ばれています)

    • これはモデルを3Dの四面体で構成されるソリッドに変換します。FEMソルバはオブジェクトを"固体物質"としてシミュレーションします。つまり、物理パラメータに基づいて、オブジェクトを曲げたり、伸ばしたり、内部質量を変化させたり、欠けたり、崩れたり、粉砕することができます。これは人工的な制御がほとんどできず、品質は、四面体メッシュの解像度に依存します。

ソリッドオブジェクト は計算が遅いですが、精度が高いです。 ボロノイ破壊 はリアルさに欠けますが、計算が速いです。接近する"目立った"エフェクトに対してソリッドソルバを使い、背後にある目立たないエフェクトに対してボロノイ破壊を使うとよいでしょう。

Voronoi Fracturing(ボロノイ破壊)

  • RBDオブジェクトに対してMake Breakableシェルフツールを使います。Houdiniは自動的にオブジェクトを破壊して接着するノードリグを追加します。

Tip

最初の衝撃の時間により近く自動的に粉砕させるには、ソルバのサブステップの数を増やします。

  • もっとコントロールが必要であれば、SOP内で"手動で"ジオメトリを事前に破壊しておきます。

    1. ジオメトリネットワーク内にVoronoi Fractureノードを追加します。破壊したいジオメトリを1番目の入力に接続します。

    2. Voronoi Fractureノードの2番目の入力は、粉砕した破片の中心を意味するポイントクラウドを受け取ります。ジオメトリをIsoOffsetノードに接続してボリューム表現を作成し、そしてScatterを追加してボリューム内にポイントをばら撒き、そのScatterをVoronoi Fractureの2番目の入力に接続することで、簡単に中心点の数を変更することができます。

      他の方法でポイントを作成すれば、面白いエフェクトになります。例えば、Boxを使って通常のグリッドポイントを作成し、それを中心点として使えば、縦と横に規則的に破片を配置することができます。

    3. オブジェクトレベルで、ジオメトリオブジェクトを選択します。 Rigid Bodies シェルフタブのRBD Fractured Objectツールをクリックすれば、ジオメトリからRBDオブジェクトが作成されます。

    4. オブジェクトにGlue Adjacentツールを使えば、自動的に破片間にGlue Constraint Networkがセットアップされます。

以下のノードも、破壊ワークフローで役に立ちます。

  • Transform Pieces SOPはトランスフォームをパックプリミティブのPointアトリビュートにコピーします。シェルフツールがそのノードを使って、シミュレーションした破片のトランスフォーメーションをジオメトリネットワーク内のパックプリミティブにコピーします。シミュレーションした破片のトランスフォーメーションをディスクに書き出すワークフローでも同様に、Transform Pieces SOPを使ってレンダリング時にそのトランスフォーメーションを使ってポイントに重いジオメトリをインスタンス化することができます。

  • Exploded View SOPは、お互いに破片を引き離すことができます。これは破壊の結果の可視化やエフェクトで役に立ちます。

  • RBD Fractured Objectツールは、自動的にDOPネットワーク内のジオメトリをパック破片に変換することができます。しかし、ジオメトリネットワーク内の通常のジオメトリをパック破片に変換する必要があるなら、Assembleノードを使います。

  • ボロノイ破壊で事前に破壊し、L字型のグループを取得していれば、Jitterの値を変更してみてください(例えば、デフォルトの0.80.25に変更)。

ソリッドオブジェクト(FEM)

役立つ情報

  • Debrisツールを使えば、粉砕した破片から別々にパーティクルを放出させることができます。これは、衝撃によって発生した埃と小さな破片をシミュレーションすることができます。

  • "大規模な"破片の作成にはボロノイ破壊を使い、あるフレームでジオメトリをソリッドオブジェクトに切り替えるといったハイブリッドなシミュレーションをセットアップすることができます。これをするための一番良い方法は、ボロノイ破壊をシミュレーションして、そのシミュレーションしたジオメトリをディスクにキャッシュ化し、キャッシュ化したジオメトリを使って、指定したフレームでソリッドオブジェクトに切り替えることです。

  • Alembic Procedural Shaderを使えば、低解像度のジオメトリをシミュレーションして、レンダリング時にそれを高解像度のジオメトリに置き換えることができます。Alembicプロキシジオメトリ(代用ジオメトリ)の使い方を参照してください。

ダイナミクス

ダイナミクスの学習

衝突オブジェクト

シミュレーションタイプ

Vellum

非DOPシミュレーション

次のステップ