Houdini 21.0 破壊

Constraints(拘束)

On this page

拘束ネットワーク

RBD Material Fractureツールは、ジオメトリを粉砕させるだけでなく、それらの破片間に拘束を作成します。 もっと拘束を作成したいのであれば、その粉砕処理とは別に拘束を作成可能なSOPsが3つあります。 それらのSOPsは、3入力/3出力のRBDワークフローに準拠していて、拘束を構築するためのコントロールがたくさん備わっています。 これは、2つの異なるタイプの材質を粉砕させたい時や破片間に境界拘束を作成したい時に役立ちます。

Tip

拘束系ノードには、破片間に拘束を作成する方法に関するショートカットと情報を表示するHUDが備わっています。 ビューポート内でEnterを押すと、Draw/Editモードが有効になります。次に、⇧ Shift + F1を押すとHUDが表示されます。

Tip

破片がオブジェクトの内側にあって他の破片で遮られていることが原因でその破片にアクセスできない場合があります。 そのような遮られた破片にアクセスするには、 Geometry Culling を有効にすると良いです。 次に、マウスをビューポート上に移動させて5を押すと、カスタマイズ可能な境界ボックスが表示されます。 その境界ボックスより外にあるすべてのものが非表示になります。

RBD Constraints From Lines

このノードはビューポート内で破片間に拘束を作成したり編集することができます。 繋げたい破片間でインタラクティブに拘束を描画することができます。 その拘束を描画したら、 Connection Type を選択して、その拘束のセットアップ方法を決定することができます。 詳細は、RBD Constraints From Linesのヘルプページを参照してください。

RBD Constraints From Curves

このツールは、ビューポート内にカーブを描画することができ、指定した検索半径内にある隣接破片のジオメトリのポイント間に拘束を作成します。 他にも、RBD Constraints from Curvesでは4番目の入力にカーブを指定することができるので、このノードをプロシージャルに使用することができます。 詳細は、RBD Constraints From Curvesのヘルプページを参照してください。

RBD Constraints From Rules

このツールは、ルールと条件のセットに基づいて拘束を作成することができるプロシージャルノードです。

これら3つの拘束ノードはどれもRest Length(自然長)アトリビュートが付いた単純なプリミティブを作成します。 後でRBD Constraint Properties SOPノードを使用することで、拘束グループを作成したり、拘束タイプ(例えば、接着拘束またはソフト拘束)をセットアップすることができます。 Constraint Network DOPのヘルプには、拘束ネットワークに関するより詳しい情報が載っています(Constraint Networkは、SOP拘束ジオメトリをそれと同等のDOP拘束に変換する役割を担ったローレベルのDOPノードです)。

接続のタイプ

これらの3つの拘束ノード(RBD Constraints From Lines, RBD Constraints From Curves, RBD Constraints From Rules)はどれも以下のタイプの接続を選択することができます。

デフォルトで作成される接続は Hinges です。このHingesは、破片間にヒンジのような拘束を作成します。これは拘束ライン上に白いドットで可視化することができます。

Surface Points 拘束を描画すると、破片上でマウスクリックした位置にその拘束を配置するためのアンカーポイントが作成されます。

Center of Mass 拘束は、拘束される破片の重心を計算して、その重心間に拘束を作成します。

RBD拘束の変換

RBD Convert Constraints SOPは、既存の拘束を受け取って、別のタイプの拘束に簡単に変換することができます。 Constraint Type ドロップダウンメニューで、変換先の拘束タイプを Center of Mass 、 Surface Points 、 Faces から選択することができます。

Tip

RBD Exploded View SOPを使用することで、拘束がどのように破片を接続しているのかうまく視覚化することができます。

Center of Mass

Surface Points

Faces

詳細は、RBD Convert Constraints SOPのヘルプのページを参照してください。

円錐ツイスト拘束プロパティ

RBD Cone Twist Constraint Properties SOPは、そのノード自体のグローバルパラメータを直接編集したり、または、拘束アトリビュートを個別に編集することで、ビューポート内でインタラクティブに拘束を編集することができます。 このノードには、回転制限、捻り軸、移動範囲などの指定ができる高度なオプションがたくさん用意されています。

主軸の捻り許容量の角度範囲、さらには、円錐内の回転制限を設定することができます。 これらの軸は、たいていの場合に同じになるため、拘束されるオブジェクトとゴールオブジェクトに対して整列します。 ビューポート内で個々の拘束を手動で編集したり、複数選択してすべて同じ編集を適用することができます。

水色の線は、拘束されるオブジェクトの捻り軸を示していて、濃い青い円錐(回転境界)内ならどの方向にも揺らすことができます。 黄色い境界は、その捻り軸で許容される捻り量を示しています。

To...Do this

オブジェクトが円錐の端に当たる境界を和らげる。

Angular Limit Stiffness パラメータを下げることで、オブジェクトは跳ね返り前にもっと自由に揺れることができます。

他にも、 Translation Limits を設定することで、設定された制限内でピースをお互いに引き離すことができます。 デフォルトでは、この Translation Limits は0に設定されていますが、制限を設定すると、ビューポートにはその制限が視覚的に表示されます。 例えば、捻り軸沿いの移動を有効にすると、ビューポートには、アンカーポイントがお互いを引き離すことができる距離を示した2つの正方形が表示されます。 これは、車のピストンやサスペンションシステムのシミュレーションなどの機械的なセットアップに役立ちます。

移動は、3軸すべてに沿って可能です。 2軸を設定すると、ビューポートではそれが平面的な表示になり、3軸すべてを設定すると、拘束が移動可能な範囲のボックスが表示されます。

Tip

拘束されるオブジェクトのペアが非常に近い場合、 Disable Collisions をオンにすることで、それらのオブジェクト間のコリジョンを無効にすることができます。 これによって、そのコリジョンが回転拘束や移動拘束の妨げにならなくなるので、より広い動きが得られるようになります。 さらには、微震の挙動を軽減することができます。

To...Do this

オブジェクトが移動境界の端に当たる境界を和らげる。

Position Limit Stiffness パラメータを下げることで、境界が和らぎ、オブジェクトがもっと弾むようになります。

Motor パラメータには、オブジェクトが到達しようとする特定のターゲット回転とターゲット位置を設定するオプションが用意されています。 この Motor はビューポートでは緑で表現され、拘束が引っ張っていく先を意味します。

Tip

Target Current Pose オプションを使用すると、常に現行位置が新しいrestステートとなるので、可塑性を表現するのに役立ちます。 このオプションは、オブジェクトをすべてのフレームで現行の向きに留まらせようとします。 また、オブジェクトが跳ね返ろうとするのも防止します。

To...Do this

すべての拘束を選択する。

ビューポート内で⌃ Ctrl + Aを押します。

ビューポート内でハンドルを使用して、パラメータエディタの値を調整し、それらの値をすべての拘束に適用する。

ツールバーの Edit Parms チェックボックスを有効にします。

これは、手動による編集がないすべての拘束に変更を適用します。 ビューポート内でPを押すことでも、これを有効にすることができます。

手動によるすべての編集をクリアする。

ツールバーまたはパラメータエディタの Clear Edits ボタンをクリックします。

現在編集している拘束をデフォルト値にリセットする。

ビューポート内でUを押します。

これは“undo”オプションのように動作します。

現在編集しているモーターをデフォルト値にリセットする。

ビューポート内でIを押します。

これは“undo”オプションのように動作します。

拘束制限をコピーアンドペーストする。

  1. 制限が設定されている拘束を選択します。

  2. ビューポート内で⌃ Ctrl + Cを押します。

  3. 変更の適用先となる拘束を選択します。

  4. ビューポート内で⌃ Ctrl + Vを押します。

Motorパラメータをアクティブにする。

ビューポート内でOを押すと、Motorパラメータが有効になります。

これは、パラメータエディタで Motor チェックボックスを有効にすることと同じです。

(速く回転しすぎないように)回転に抵抗を加える。

Enable Motor と Target Current Pose を有効にします。 これによって、モーターの強度に応じて現在の相対方向が維持されるようになります。

軸をロックする。

ビューポート内でLを押します。

デフォルトでは、回転範囲が対称になっていて、回転制限を編集すると、その変更はその軸の両側に加えられます。 Axis Lock を有効にすると、その制限の片側がフリーズされ、もう片側のみが変更されます。 また、軸は角度の中心にくるように移動します。

制限の端の方に向かって動きを弱める。

  1. ビューポート内で拘束を選択します。

  2. でスクロールすると、その動きが弱まる領域が広がります。これは Softness パラメータでも同じことができます。

Softness パラメータは、回転制限に到達する前に動きに影響を与え始めるため、回転範囲内にいる間はその動きを弱めることができます。 回転制限を超えた後に効果を適用して回転範囲内の動きを減衰させない Angular Limit Stiffness とは挙動が異なります。

拘束の挙動の制御

RBD Bullet Solverノードの Constraints タブには、拘束の挙動を制御するためのパラメータがあります。 Breaking Thresholds サブタブでは、拘束が切断されるタイミングを決めることができます。 例えば、 Distance Threshold パラメータを使用することで、拘束が切断されるアンカーポイント間の距離を設定することができ、 Force Threshold を使用することで、拘束が切断される強度を設定することができます。

Note

Visualize タブの False Color Mode ドロップダウンメニューを使用することで、使用する切断閾値を判断することができ、さらにはデバッグにも役立ちます。

RBD Constraint Propertiesノードは、RBD Material Fractureノードの Constraints タブのパラメータと同等の機能性を備えています。 もっと複雑な独自拘束を構築したい場合には、このノードを拘束ネットワークの値を編集するための便利インターフェースとして使用することができます。 伸縮性の観点では、可塑性を制御するためのパラメータが用意されていて、可塑性の効果が出始める2つのオブジェクト間の角度を度で制御することもできます。 これは、形状を曲げて維持したい箇所で屈曲と折損のエフェクトを表現するのに役に立ちます。 詳細は、屈曲と折損を参照してください。

Tip

RBD Material Fracture SOPの Use Tags パラメータは、プリミティブグループの使用の代わりとして、拘束プリミティブ上にconstraint_tag文字列アトリビュートを作成します。 これによって、より柔軟にVellum拘束とマッチさせることができます。 また、RBD Constraint Properties SOPの Constraint Group パラメータにタグを使用することで、簡単に特定の拘束を修正することができます。

Constraint Browserペイン

Constraint Browserは、既存のRBD拘束やVellum拘束のアトリビュートを視覚化、管理することができます。 詳細は、Constraint Browserのヘルプページを参照してください。

破壊

材質別のRBD粉砕

次のステップ

RBD自動車

材質ベースの破壊の紹介

  • はじめよう

    ソースシーンを読み込んで、それについて見ていきましょう。

  • チュートリアル

    ステップバイステップで学ぶ材質ベースの破壊入門。