リジッド ボディ間にコンストレイントを設定して、リジッド ボディの動きを特定のタイプに限定することができます。コンストレイントを設定すると、たとえば、ちょうつがいで動く跳ね上げ式のドアを作成できます。ドアの上に木箱が落下すると、その衝突によってドアが開き、木箱はそのドアから中へと落下します。
コンストレイントを使用する最も一般的な方法は、2 つのリジッド ボディを互いに拘束し、アクティブな方をシミュレーションに反応させ、パッシブな方をアクティブ リジッド ボディの「アンカー」として動作させる方法です。単一のアクティブ リジッド ボディをグローバル空間内のポイントに拘束したり、複数のアクティブ リジッド ボディをチェインとして拘束したり、複数のアクティブ ボディを 1 つのパッシブ リジッド ボディに拘束することもできます。
Softimage で使用可能なリジッド ボディ コンストレイントには、ちょうつがい、ボールとソケット、スプリング、スライダ、固定などがあります。これらはすべて、[Simulate]ツールバーの[作成](Create)[リジッドボディ](Rigid Body)[リジッド コンストレイント](Rigid Constraint)または[マルチ コンストレイント ツール](Multi Constraint Tool)メニューから選択できます。
各タイプのコンストレイントの基本的な作成手順については、「リジッド ボディ コンストレイントの作成の概要」を参照してください。
コンストレイントを作成すると、現在の環境の[Constraints]グループにコンストレイント オブジェクトが追加されます(「シミュレーション環境」を参照)。
使用するコンストレイントのタイプに応じて、2 つのリジッドボディの間にコンストレイントを設定し、ボディを空間内の特定のグローバル位置に拘束したり、複数のアクティブ リジッド ボディを 1 つのリジッドボディに拘束できます。
コンストレイントを使用する最も一般的な方法は、2 つのリジッド ボディを互いに拘束し、アクティブな方をシミュレーションに反応させ、パッシブな方をアクティブ リジッド ボディの「アンカー」として動作させる方法です。
2 つのオブジェクトを相互に拘束するには、[作成](Create) [リジッド ボディ](Rigid Body) [リジッド コンストレイント](Rigid Constraint)メニューからコンストレイント コマンドを選択します(「2 つのリジッドボディを相互に拘束する」を参照)。
複数のオブジェクトを 1 つのオブジェクトに拘束するには、[作成](Create) [リジッド ボディ](Rigid Body) [マルチ コンストレイント ツール](Multi Constraint Tool)メニューからコンストレイント コマンドを選択します(「複数のリジッド ボディを 1 つのオブジェクトに拘束する」を参照)。
リジッドボディをグローバル空間内のポイントに拘束する場合は、いずれのワークフローでも行うことができます(「単一のリジッド ボディを空間内のポイントに拘束する」を参照)。
PhysX コンストレイントと ODE コンストレイントについて
PhysX および ODE ダイナミクス エンジンは両方とも、すべてのタイプのコンストレイントをサポートしていますが、PhysX はスライダ コンストレイントおよびスプリング コンストレイント(「スプリング コンストレイントおよびスライダ コンストレイントをオフセットする」を参照)に対するオフセットもサポートしています。
また、PhysX は ODE とは違った方法でコンストレイント フォースを計算します。これは一般に高速で堅固ですが、最終的なコンストレイントは ODE を使った場合に比べてよりソフトになります。
コンストレイントを厳しくするには、[Dynamics Operator]プロパティエディタで、[シミュレーション精度](Simulation Accuracy) [サブステップ](Substeps)の値を増分します(「PhysX対応のシミュレーション精度の設定」を参照)。ただし、シミュレーションの精度が上がると、シミュレーションの結果が多少変化する場合があります。
リジッド ボディ コンストレイントは、Softimage のその他の 3D オブジェクトと同様に、変換(移動、回転、スケール)、選択、削除が可能な実際のオブジェクトです。コンストレイント オブジェクトおよびそのコンストレイント オブジェクトによる拘束を受けたリジッド ボディ オブジェクトの初期位置および向き(変換)を変更した場合、この新しい変換は、変更されたすべてのオブジェクトの初期状態として自動的に使用されます。
詳しくは「リジッドボディの初期状態の設定」を参照してください。