On this page

オブジェクト拘束

単純な拘束がシミュレーションオブジェクト間に存在します。 Rigid Bodies シェルフタブのツールを使ってオブジェクト間に拘束を作成することができます。

Pin Constraintは、ゴールアンカーからある距離だけ離れた所にオブジェクトを拘束します(これは、硬い棒でアンカーに接続されたようになりますが、自由に揺らすことができます)。Spring Constraintは、オブジェクトがゴールアンカーからある距離を保持しようとするフォースを適用します。ゴールアンカーは他のオブジェクトの位置やワールド空間の位置にすることができます。

Constraint Network

Constraint Networkノードは、ジオメトリをテンプレートとして使って、Glue(接着剤)、Spring(バネ)、Pin(ピン)の拘束などのリレーションシップを構築します。ジオメトリには、Constraintリレーションシップを意味する単一セグメントのポリラインを含みます。そのポリライン毎に、そのラインの端点上にあるnameアトリビュートが、リレーションシップでリンクされた破片を指定します。そのラインのPrimitiveアトリビュートがリレーションシップ自体を制御します。

Constraint Networkの動作に関する詳細は、Constraint Network DOPのドキュメントを参照してください。

熟練ユーザは、アニメーションやSOPソルバを使って色々なライン上のconstraint_name(これは、GlueSpringなどの名前によってリレーションシップのデータの一部を指定します)を修正することで、動的にGlueとSpringの拘束を切り替えることができます。

この拘束タイプは、特にRBDパックオブジェクトで重要です。パックオブジェクトは、複数の破片を含んだ単一シミュレーションオブジェクトなので、通常のダイナミクス拘束(これはシミュレーションオブジェクト間に存在します)を使うことができません。つまり、破片間にリレーションシップを作成する 唯一の方法 が、Constraint Networkを使うことです。

Bullet Constraints

  • Bullet Solverは、拘束オブジェクト間の衝突の無効化に対応しています。Constraint Networkに関しては、 Disable Collisions パラメータを使用して、拘束毎にこの挙動を制御することができます。

  • Bullet Solverで実行される拘束ソルバの反復数は、拘束毎に上書きすることができます。Constraint Networkに関しては、 Constraint Iterations パラメータを使用して、その反復数を指定することができます。 0以下の値は、デフォルトの反復数を使用します。

Pin Constraintで拘束されているポイントをシミュレーション中に変更する方法

デフォルトでは、 Constrained Points リストは、ポイントが変わらないことが前提になっています。しかし、これを回避する方法があり、そのリストをフレーム毎にDOPで新しく評価することができます。

  1. Pin Constraintノードをクリックして、 Allow Editing on Contents を選択します。

  2. Pin Constraintノードの中に入り、anchorobjpointgrouppos1を選択します。

  3. Point Group パラメータを Set Always に変更します。

    このノードの詳細は、Anchor: Object Point Group Positionのヘルプを参照してください。

ダイナミクス

ダイナミクスの学習

衝突オブジェクト

シミュレーションタイプ

次のステップ