リジッド ボディ オブジェクトとは、衝突によって変形しないオブジェクトです。オブジェクトをリジッドボディに設定するには、そのオブジェクトを選択して[Simulate]ツールバーから[作成](Create) [リジッドボディ](Rigid Body)コマンドを選択します。このコマンドを実行すると、そのオブジェクトにリジッド ボディ プロパティが適用されます。リジッド ボディ プロパティには、質量、弾性、摩擦など、オブジェクトの物理プロパティや衝突プロパティが含まれます。
ダイナミクス オペレータは、これらのプロパティを使用して、リジッド ボディが環境内のフォースやその他のリジッド ボディとの衝突にどのように反応するかを計算します。
ビリヤード台もポケットも球も、すべてリジッド ボディです。球はアクティブ リジッド ボディで、テーブルとポケットはパッシブ リジッド ボディです。
オブジェクトにリジッド ボディを適用すると、シーン内にシミュレーション環境がない場合は環境が自動的に作成され、そのオブジェクトは環境の[リジッド ボディ]グループに追加されます(「シミュレーション環境」を参照)。
リジッド ボディを作成するときにシーン内に既に 1 つまたは複数の環境が存在している場合は、そのオブジェクトは現在の環境の[リジッド ボディ]グループに追加されます(「現在の環境を設定する」を参照)。
リジッド ボディのプロパティは、ポリゴン メッシュ、NURBS サーフェイス オブジェクト、分割されたサーフェイス、インプリシット オブジェクト、ラティス、果てはカメラまで、Softimage のほぼすべてのオブジェクトに適用できます。
リジッド ボディでは、親と子の両方がリジッド ボディの場合、階層構造を考慮することができます。これによって、コンパウンド リジッド ボディのシェイプを作成できます。このシェイプでは、別個にシミュレートされているブランチ内の個々のオブジェクトの代わりに、階層ブランチ全体がシミュレーションで使用されます。
以下に、コンパウンド リジッド ボディの動作を示します(詳細については、「アクティブ リジッド ボディとパッシブ リジッド ボディ」を参照)。
親と子両方がパッシブリジッドボディである場合、子は常に親に従います。つまり、シミュレーション中、両方が静止状態になります。
親と子両方がアクティブリジッドボディである場合、親を操作するときだけ子は親に従います。シミュレーション中、両方のオブジェクトが個別に移動します。
[親がパッシブ](parent is a passive) リジッド ボディであり、[子がアクティブ](child is active) リジッド ボディである場合、親を操作するときだけ子は親に従います。シミュレーション中、子は個別に移動し、親は制止状態になります。
[親がアクティブ](parent is an active) リジッド ボディであり、[子がパッシブ](child is passive) リジッド ボディである場合、シミュレーション中、子は親に従い、親の質量を継承します。ただし、親が子の質量を無視するように設定するオプションもあります(「リジッドボディの質量または密度の設定(慣性プロパティ)」を参照)。これによって、子は静止状態のままになります。
詳細については、「リジッド ボディをチェインとして拘束する」を参照してください。
シミュレーション時間は計算されるリジッド ボディの数に応じて増加するため、リジッド ボディのクローンを使用することもできます。クローンは、レンガや大理石など、衝突でリジッド ボディとして設定する同一のオブジェクトが数多くある場合に特に便利です。
クローンのリジッド ボディを作成する最も簡単な方法は、マスター オブジェクトにリジッド ボディを適用してから、必要な数だけのクローンを作成する方法です。各クローンには独自のリジッド ボディ プロパティがあります。ユーザは、これらのプロパティを必要に応じて個別に設定できます。
クローンについては、「オブジェクトの複製およびクローン作成」(「シーン エレメント」)を参照してください。
これらのサクランボはクローンなので、関連するオブジェクトの数によってシミュレーションの計算が遅くなることはありません。各クローンには、ユーザが必要に応じて調整できるリジッド ボディ プロパティが設定されます。
[Simulate]ツールバーから[作成](Create) [リジッド ボディ](Rigid Body) [アクティブ リジッド ボディ](Active Rigid Body)または[パッシブ リジッド ボディ](Passive Rigid Body)を選択します(詳細については、「アクティブ リジッド ボディとパッシブ リジッド ボディ」を参照)。
Explorer を 2 つ開き、オブジェクトを既存の環境内の[RigidBodies]グループにドラッグ アンド ドロップします。
オブジェクトをリジッド ボディにすると、次の動作が行われます。
リジッド ボディがアニメートされているかどうかに応じて、フォースを適用するか、またはそのアニメーションを初期状態として使用できます。詳細については、「アニメートされているオブジェクトとされていないオブジェクト」を参照してください。
複数のリジッド ボディを衝突させます。最良の結果を得るためには、シミュレーションの初期状態でリジッド ボディのジオメトリ同士が貫入しないようにリジッド ボディを設定する必要があります。詳細については、「リジッド ボディとの衝突」を参照してください。
複数のリジッド ボディの間にコンストレイントを作成します。「リジッド ボディ コンストレイント」を参照してください。
リジッド ボディには、アクティブ リジッド ボディとパッシブ リジッド ボディがあります。
アクティブ リジッド ボディはダイナミクスの作用を受けます。つまり、フォースや別のリジッド ボディとの衝突によって動くことができます。
パッシブ オブジェクトはシミュレーションの一部ですが、ダイナミクスの作用を受けません。つまり、フォースや別のリジッド ボディ オブジェクトとの衝突の結果として動くことはありません。ただし、アニメートは可能です。
パッシブ オブジェクトは、静止した衝突オブジェクトとして(「リジッド ボディとの衝突」を参照)、あるいはリジッド ボディ コンストレイントと組み合わせた静止オブジェクトとして(「リジッド ボディ コンストレイント」を参照)使用します。
ビリヤード台はパッシブ リジッド ボディで、白球は重力のフォースが適用されているアクティブ リジッド ボディです。衝突の結果、球は台から跳ね返りますが、台は動きません。
リジッド ボディのアクティブ/パッシブ状態は簡単に変更(およびアニメート)できます。これにより、さまざまなエフェクトを実現できます。
これは、アニメートされたリジッド ボディを使っていて、それらのアニメーション(リジッド ボディはパッシブ)とシミュレーション(リジッド ボディはアクティブ)を切り替える場合に特に便利です。たとえば、パッシブ状態の球がテーブル上を転がるようアニメートし、その後で球をアクティブにして重力を適用し、テーブルから落下させることができます。
計算時間を節約するためには、常にすべてのリジッド ボディをアクティブにすることをお勧めします。たとえば、1000 個の煉瓦でできた壁を鉄球で壊す場面を作成する場合は、壊される前の状態の壁をシミュレートする必要はありません。鉄球が壁に当たる前のフレームまですべての煉瓦をパッシブにしてから、残りのフレームをアクティブにします。[パッシブ]および[ミュート]オプションを適切に使ってアニメートを行うと、複雑なシミュレーションでも大幅に時間を節約することができます。
リジッド ボディ ダイナミクスは、既にアニメートされているオブジェクトにも、アニメートされていないオブジェクトにも適用できます。
リジッド ボディがアニメートされて[いない](not animated)場合は、フォースを適用してリジッド ボディを動かす必要があります。フォースはアクティブ リジッド ボディにのみ作用します(「リジッド ボディへフォースを適用する」を参照)。
アニメートされていないオブジェクトの初期速度をその初期状態に設定することもできます(「アニメートされたオブジェクトの初期状態の設定」を参照)。
リジッド ボディ オブジェクトが[アニメートされている](animated)場合は、オブジェクトのアニメーション(位置、回転、リニア速度、角速度)をシミュレーションの初期状態として使用できます(「アニメートされたオブジェクトの初期状態の設定」を参照)。
アニメートされたオブジェクトにフォースを適用すると、フォースは、シミュレーションの最初のフレームでオブジェクトのアニメーションを引き継ぎます。
たとえば、すばやく動くオブジェクトをアニメートし、それをリジッド ボディにすると、そのアニメーションでの位置と速度を、別のリジッド ボディとの衝突のシミュレーションの開始時に使用することができます。詳細については、「リジッドボディの初期状態の設定」を参照してください。
アニメートされたリジッド ボディにフォースを適用すると、フォースは、シミュレーションの開始と同時にそのオブジェクトの動きを引き継ぎます。リジッドボディのアニメーションとシミュレーションを切り替える場合は、そのリジッドボディの[パッシブ]オプションをアニメートしてください(「アクティブ/パッシブ状態の切り替え」を参照)。
ビリヤードの球は、回転と移動がアニメートされてテーブルの端に移動するパッシブなリジッド ボディです(A)。重力フォースがシミュレーション環境に適用されています。
球がテーブルの端に到達すると、球の状態がパッシブからアクティブに切り替わり、シミュレーションが引き継いで、重力によって球が落下します(B)。
リジッド ボディのプロパティ エディタを開いて編集するには、いくつかの方法があります。
リジッド ボディを 1 つまたは複数選択し、次のいずれかの操作を行います。
[Simulate]ツールバーから[修正](Modify) [リジッド ボディ](Rigid Body) [リジッド ボディの編集](Edit Rigid Body)を選択します。
[Inertial Properties]、[Dynamics Initial State]、[RigidBodyProperties]、[Force Controller]の各プロパティ エディタが開きます。
Explorer で([F3]キーを押してポップアップ Explorer を開きます)、リジッド ボディのノードを展開し、必要なアイコン([RigidBodyProperties]など)をクリックしてそのプロパティ エディタだけを開きます。
シミュレーションの一部であるリジッド ボディは、プロパティをミュートすれば一時的に無効にすることができます。これにより、リジッド ボディはシミュレーション前の元の状態に戻ります。
非表示のリジッド ボディは、Softimage のその他の非表示のオブジェクトと同様に、単に表示されていないだけで、リジッド ボディ シミュレーションに存在します。非表示のリジッド ボディによって、シミュレーションが不安定になる場合があります。