リジッド ボディを作成する

 
 
 

リジッド ボディ オブジェクトとは、衝突によって変形しないオブジェクトです。オブジェクトをリジッドボディに設定するには、そのオブジェクトを選択して[Simulate]ツールバーから[作成](Create) [リジッドボディ](Rigid Body)コマンドを選択します。このコマンドを実行すると、そのオブジェクトにリジッド ボディ プロパティが適用されます。リジッド ボディ プロパティには、質量、弾性、摩擦など、オブジェクトの物理プロパティや衝突プロパティが含まれます。

ダイナミクス オペレータは、これらのプロパティを使用して、リジッド ボディが環境内のフォースやその他のリジッド ボディとの衝突にどのように反応するかを計算します。

ビリヤード台もポケットも球も、すべてリジッド ボディです。球はアクティブ リジッド ボディで、テーブルとポケットはパッシブ リジッド ボディです。

オブジェクトにリジッド ボディを適用すると、シーン内にシミュレーション環境がない場合は環境が自動的に作成され、そのオブジェクトは環境の[リジッド ボディ]グループに追加されます(「シミュレーション環境」を参照)。

リジッド ボディを作成するときにシーン内に既に 1 つまたは複数の環境が存在している場合は、そのオブジェクトは現在の環境の[リジッド ボディ]グループに追加されます(「現在の環境を設定する」を参照)。

注:PhysX の制限により、シミュレーション環境で 60,000 個を超えるリジッド ボディを使用することはできません。

リジッド ボディにすることができるオブジェクト

リジッド ボディのプロパティは、ポリゴン メッシュ、NURBS サーフェイス オブジェクト、分割されたサーフェイス、インプリシット オブジェクト、ラティス、果てはカメラまで、Softimage のほぼすべてのオブジェクトに適用できます。

注:
  • [クイック ストレッチ]でデフォームされているオブジェクトには、リジッド ボディは適用できません。

  • オブジェクトの法線の方向はリジッド ボディを検討する際に重要となるので、適切な方向に向くようにします。

リジッド ボディの親子関係を設定する

階層内のオブジェクトにリジッド ボディのプロパティを適用できます。以下の親子関係を設定できます。

  • 共にリジッド ボディの親と子(ビヘイビアの種類については、以下を参照)。コンパウンド リジッド ボディのシェイプが作成されます。

    または

  • 非リジッド ボディの親とリジッド ボディの子。アニメーションや一般的な構成上の理由から、リジッド ボディを階層内に保持できます。

    たとえば、リジッド ボディの親子関係をヌルに設定し、他のアニメートされたオブジェクトと同様、ヌルを移動するとリジッド ボディも移動するようにすることができます。ただし、シミュレーション中、アクティブなリジッド ボディはフォースと衝突の影響を受け、親とは個別に移動します。

コンパウンド リジッド ボディ

リジッド ボディでは、親と子の両方がリジッド ボディの場合、階層構造を考慮することができます。これによって、コンパウンド リジッド ボディのシェイプを作成できます。このシェイプでは、別個にシミュレートされているブランチ内の個々のオブジェクトの代わりに、階層ブランチ全体がシミュレーションで使用されます。

以下に、コンパウンド リジッド ボディの動作を示します(詳細については、「アクティブ リジッド ボディとパッシブ リジッド ボディ」を参照)。

  • 親と子両方がパッシブリジッドボディである場合、子は常に親に従います。つまり、シミュレーション中、両方が静止状態になります。

  • 親と子両方がアクティブリジッドボディである場合、親を操作するときだけ子は親に従います。シミュレーション中、両方のオブジェクトが個別に移動します。

  • [親がパッシブ](parent is a passive) リジッド ボディであり、[子がアクティブ](child is active) リジッド ボディである場合、親を操作するときだけ子は親に従います。シミュレーション中、子は個別に移動し、親は制止状態になります。

  • [親がアクティブ](parent is an active) リジッド ボディであり、[子がパッシブ](child is passive) リジッド ボディである場合、シミュレーション中、子は親に従い、親の質量を継承します。ただし、親が子の質量を無視するように設定するオプションもあります(「リジッドボディの質量または密度の設定(慣性プロパティ)」を参照)。これによって、子は静止状態のままになります。

    ヒント:

    チェイン(スケルトン)にはリジッド ボディを適用できませんが、複数のリジッド ボディを[ちょうつがい]や[ボールとソケット]などのコンストレイントで四肢として連結して、スケルトン リグ(「ぬいぐるみ」)を作成することはできます。

    詳細については、「リジッド ボディをチェインとして拘束する」を参照してください。

リジッド ボディのクローンを作成する

シミュレーション時間は計算されるリジッド ボディの数に応じて増加するため、リジッド ボディのクローンを使用することもできます。クローンは、レンガや大理石など、衝突でリジッド ボディとして設定する同一のオブジェクトが数多くある場合に特に便利です。

クローンのリジッド ボディを作成する最も簡単な方法は、マスター オブジェクトにリジッド ボディを適用してから、必要な数だけのクローンを作成する方法です。各クローンには独自のリジッド ボディ プロパティがあります。ユーザは、これらのプロパティを必要に応じて個別に設定できます。

クローンについては、「オブジェクトの複製およびクローン作成」(「シーン エレメント」)を参照してください。

これらのサクランボはクローンなので、関連するオブジェクトの数によってシミュレーションの計算が遅くなることはありません。各クローンには、ユーザが必要に応じて調整できるリジッド ボディ プロパティが設定されます。

リジッド ボディにオブジェクトを作成する

オブジェクトにリジッド ボディ プロパティを適用するには

  1. リジッド ボディ プロパティを適用する 1 つまたは複数のオブジェクトを選択します。

  2. 次のいずれかを実行します。

    • [Simulate]ツールバーから[作成](Create) [リジッド ボディ](Rigid Body) [アクティブ リジッド ボディ](Active Rigid Body)または[パッシブ リジッド ボディ](Passive Rigid Body)を選択します(詳細については、「アクティブ リジッド ボディとパッシブ リジッド ボディ」を参照)。

      または

    • Explorer を 2 つ開き、オブジェクトを既存の環境内の[RigidBodies]グループにドラッグ アンド ドロップします。

    オブジェクトをリジッド ボディにすると、次の動作が行われます。

    • プロパティ エディタが開き、各ページでプロパティを編集できます。

    • シーン内にシミュレーション環境がない場合は、自動的に環境が作成され、オブジェクトはその[RigidBodies]グループに追加されます。シーン内に既に 1 つまたは複数のシミュレーション環境がある場合は、リジッド ボディは現在の環境に追加されます。

    • リジッド ボディ プロパティ、慣性プロパティ、フォース コントローラ、および初期状態はすべてリジッド ボディに適用されます。初期状態は、オブジェクトの現在の位置を使用して設定されます。さらに、リジッド ボディはダイナミクス オペレータに接続されます。

      A

      リジッド ボディのグループ

      B

      リジッド ボディ オブジェクト

      C

      オブジェクトにおけるダイナミクスの初期状態

      D

      オブジェクトに対するフォースのエフェクトを制御します。

      E

      オブジェクトの質量、密度、質量の中心

      F

      オブジェクトのアクティブ/パッシブ状態と、衝突の各種プロパティ

  3. リジッド ボディがアニメートされているかどうかに応じて、フォースを適用するか、またはそのアニメーションを初期状態として使用できます。詳細については、「アニメートされているオブジェクトとされていないオブジェクト」を参照してください。

  4. 次の手順の両方またはいずれかを実行してください。

    • 複数のリジッド ボディを衝突させます。最良の結果を得るためには、シミュレーションの初期状態でリジッド ボディのジオメトリ同士が貫入しないようにリジッド ボディを設定する必要があります。詳細については、「リジッド ボディとの衝突」を参照してください。

      および/または

    • 複数のリジッド ボディの間にコンストレイントを作成します。「リジッド ボディ コンストレイント」を参照してください。

アクティブ リジッド ボディとパッシブ リジッド ボディ

リジッド ボディには、アクティブ リジッド ボディとパッシブ リジッド ボディがあります。

  • アクティブ リジッド ボディはダイナミクスの作用を受けます。つまり、フォースや別のリジッド ボディとの衝突によって動くことができます。

  • パッシブ オブジェクトはシミュレーションの一部ですが、ダイナミクスの作用を受けません。つまり、フォースや別のリジッド ボディ オブジェクトとの衝突の結果として動くことはありません。ただし、アニメートは可能です。

    パッシブ オブジェクトは、静止した衝突オブジェクトとして(「リジッド ボディとの衝突」を参照)、あるいはリジッド ボディ コンストレイントと組み合わせた静止オブジェクトとして(「リジッド ボディ コンストレイント」を参照)使用します。

ビリヤード台はパッシブ リジッド ボディで、白球は重力のフォースが適用されているアクティブ リジッド ボディです。衝突の結果、球は台から跳ね返りますが、台は動きません。

アクティブ/パッシブ状態の切り替え

リジッド ボディのアクティブ/パッシブ状態は簡単に変更(およびアニメート)できます。これにより、さまざまなエフェクトを実現できます。

これは、アニメートされたリジッド ボディを使っていて、それらのアニメーション(リジッド ボディはパッシブ)とシミュレーション(リジッド ボディはアクティブ)を切り替える場合に特に便利です。たとえば、パッシブ状態の球がテーブル上を転がるようアニメートし、その後で球をアクティブにして重力を適用し、テーブルから落下させることができます。

計算時間を節約するためには、常にすべてのリジッド ボディをアクティブにすることをお勧めします。たとえば、1000 個の煉瓦でできた壁を鉄球で壊す場面を作成する場合は、壊される前の状態の壁をシミュレートする必要はありません。鉄球が壁に当たる前のフレームまですべての煉瓦をパッシブにしてから、残りのフレームをアクティブにします。[パッシブ]および[ミュート]オプションを適切に使ってアニメートを行うと、複雑なシミュレーションでも大幅に時間を節約することができます。

リジッド ボディの状態を変更するには

  1. リジッド ボディを選択します。

  2. その[Rigid Body]プロパティ エディタを開き、[パッシブ](Passive)オプションを切り替えます。

アニメートされているオブジェクトとされていないオブジェクト

リジッド ボディ ダイナミクスは、既にアニメートされているオブジェクトにも、アニメートされていないオブジェクトにも適用できます。

  • リジッド ボディがアニメートされて[いない](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]など)をクリックしてそのプロパティ エディタだけを開きます。

リジッドボディプロパティをミュートする

シミュレーションの一部であるリジッド ボディは、プロパティをミュートすれば一時的に無効にすることができます。これにより、リジッド ボディはシミュレーション前の元の状態に戻ります。

ミュートは、シミュレーション内に複数のリジッドボディがあって、各オブジェクトの結果を個別にテストしたい場合に便利です。

リジッド ボディ プロパティをミュートするには

  1. リジッド ボディを選択します。

  2. そのリジッドボディのプロパティ エディタを開き、[ミュート]オプションを選択します。

リジッド ボディを非表示にする

非表示のリジッド ボディは、Softimage のその他の非表示のオブジェクトと同様に、単に表示されていないだけで、リジッド ボディ シミュレーションに存在します。非表示のリジッド ボディによって、シミュレーションが不安定になる場合があります。

非表示のリジッド ボディがシミュレーションで不要になった場合は、その非表示のリジッド ボディをミュートにしてください。

リジッド ボディ コンストレイント オブジェクトの表示を切り替えるには

  • 非表示にするリジッド ボディを選択し、[H]を押します。

  • リジッド ボディを再表示するには、Explorer でリジッド ボディを選択し、[H]を押します。

シミュレーションからリジッド ボディを削除する

リジッド ボディ オブジェクトをシミュレーションから削除すると、オブジェクトはシミュレーション環境の[RigidBody]グループから削除されますが、そのリジッド ボディ プロパティはすべてそのまま残ります。

リジッド ボディをシミュレーションから削除するには

  • 次のいずれかを実行します。

    • Explorer で、[環境]の[Rigid Body]グループ内にあるリジッド ボディを右クリックして[グループから削除](Remove from Group)を選択します。

      または

    • リジッド ボディを選択し、[修正](Modify) [リジッド ボディ](Rigid Body) [リジッド ボディの削除](Remove Rigid Body)を選択します。