リジッドボディの初期状態の設定

 
 
 

リジッドボディシミュレーションの作業では、シミュレーションの最初のフレームで、リジッドボディオブジェクトやコンストレイントオブジェクトのある特定の状態を設定したい場合がよくあります。そのような場合は、オブジェクトを思いどおりに変換し、それを初期状態として使用することができます。初期状態を設定しておくと、シミュレーションのフレームをプリロールして最初にリジッドボディを適切な状態にする手間が省けます。

初期状態とは、シミュレーションの最初のフレームでのリジッドボディオブジェクトまたはコンストレイントの位置、向き、リニア速度、および角速度です。リジッド ボディのシミュレーションではスケーリングを処理しないため、スケーリングは初期状態のプロパティとは見なされません。オブジェクトのスケールは自動的に初期状態として考慮されます。

左側: シミュレーションの現在の初期状態にあるリジッドボディオブジェクト

右側: リジッドボディオブジェクトの位置と向きが変換された状態 これはシミュレーションの最初のフレームでの初期状態になります。

リジッドボディオブジェクトやコンストレイントオブジェクトの初期状態を設定する方法は3つあります。

いずれの方法の場合も、リジッドボディオブジェクトまたはコンストレイントオブジェクトの初期状態のプロパティは、これらの値で更新されます。Softimage では、これらの値とともに、シミュレーションの時間コントロールの値も使用して、シミュレーションの再計算が行われます。

変換による初期状態の設定

任意のフレームでリジッドボディまたはコンストレイントオブジェクトをインタラクティブに変換し、その新しい位置と向きを初期状態として設定することができます。

オブジェクトの変換値を初期状態として変更するには

  1. リジッドボディまたはコンストレイントオブジェクトを選択します。

  2. シミュレーションの先頭フレーム、または最初のシミュレーションフレームより前のフレームに移動します。

  3. オブジェクトを、その初期状態として設定したい位置と向きになるように変換します。[Dynamics Initial State]プロパティエディタ(次のセクションを参照)にあるパラメータが、現在の変換値を反映して自動的に更新されます。

    ヒント:最良の結果を得るためには、シミュレーションの初期状態でリジッド ボディのジオメトリ同士が貫入しないようにリジッド ボディを設定する必要があります。
  4. シミュレーションを再生すると、シミュレーションの最初のフレームにおけるリジッドボディオブジェクトまたはコンストレイントオブジェクトの状態が、設定した初期状態になっているはずです。

初期状態のプロパティの編集

初期状態のプロパティには、リジッドボディオブジェクトやコンストレイントオブジェクトの初期のグローバル位置、向き、リニア速度、および角速度が含まれます。これらのパラメータは、オブジェクトの位置とモーションを定義するものです。

初期状態のプロパティを編集するには

  1. リジッドボディオブジェクトまたはコンストレイントオブジェクトを 1 つまたは複数選択します。

  1. 次のどちらかの手順に従って、[Dynamics Initial State]プロパティエディタを開きます。

    • [修正](Modify) [リジッド ボディ](Rigid Body) [リジッド ボディの編集](Edit Rigid Body)を選択し、[ダイナミクス初期状態]タブをクリックします。

      または

    • Explorer で、リジッドボディの[Dynamics Initial State]アイコンをクリックします。

  2. 必要に応じて、これらのオプションを設定して、オブジェクトの初期状態の位置や回転(向き)を調整します

    ヒント:
    • [アニメーションから~](FromAnim)オプションのいずれか([アニメーションから位置]など)を選択すると、そのアニメーションからリジッドボディの値が計算されます(「アニメートされたオブジェクトの初期状態の設定」を参照)。

    • このプロパティエディタ([ポーズ]および[速度]タブ)の[X/Y/Z]の各パラメータはアニメート可能なため、これらのパラメータを使用するプロキシパラメータの作成や、式で制御されるカスタムパラメータを簡単に作成できます。ただし、これらのパラメータを直接アニメートする場合は、リジッドボディオブジェクトの[Local Transform]プロパティエディタまたは[Global Transform]プロパティエディタで行うことをお勧めします([Explorer]>アニメートしたいリジットボディオブジェクト>[kinematics]>[Local Transform]/[Global Transform])。

アニメートされたオブジェクトの初期状態の設定

リジッドボディオブジェクトやコンストレイントオブジェクトがアニメートされている場合は、そのアニメーションでのオブジェクトの位置、回転、および速度を、シミュレーションの最初のフレームの初期状態の計算に使用できます。

たとえば、すばやく動くオブジェクトをアニメートし、それをリジッド ボディにすると、そのアニメーションでの位置と速度を、別のリジッド ボディとの衝突のシミュレーションの開始時に使用することができます。

ヒント:リジッドボディのアクティブ/パッシブ状態の切り替えをアニメートして、シミュレーションがアニメーションを引き継ぐタイミングを指定することができます。リジッドボディは、シミュレーションの作用を受けるためにはアクティブでなければなりません。詳細については「アクティブ/パッシブ状態の切り替え」を参照してください。

リジッドボディオブジェクトやコンストレイントオブジェクトのアニメーションをその初期状態として使用するには

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

    • Dynamics Initial Stateプロパティエディタで適切な["FromAnim"]オプションを選択します。たとえば、リジッドボディのアニメーションでの位置を使用する場合は、[アニメーションから位置]オプションを使用します。

      または

    • リジッド ボディまたはコンストレイント オブジェクトを選択し、[修正](Modify) [リジッド ボディ](Rigid Body) [アニメーションを初期状態として利用](Use Animation as Initial State)を選択します。これにより、[Dynamics Initial State]プロパティエディタのすべての[アニメーションから~](FromAnim)オプションが自動的に選択されます。

    A

    オブジェクトがアニメートされている場合は、そのリニア速度と角速度が計算され、それがシミュレーションの最初のフレームで使用されます。

    B

    オブジェクトがアニメートされている場合は、[アニメーションから位置](PosFromAnim)オプションを選択すると、シミュレーションの最初のフレームにおけるオブジェクトの位置が使用されます。

シミュレーションからの初期状態の選択

位置や向きを設定する場合ほど多くはありませんが、シミュレーション中の任意のフレームでオブジェクトの状態を取得し、それを初期状態として設定することができます。すると、この初期状態は、シミュレーションの先頭フレームにあるリジッドボディまたはコンストレイントオブジェクトの状態になります。

リジッドボディまたはコンストレイントオブジェクトの初期状態を設定するには

  1. アクティブなリジッドボディまたはコンストレイントオブジェクトを 1 つまたは複数選択します。

  2. 必要に応じて、シミュレーションを設定し、シミュレーションで初期状態として設定するフレームに移動します。

  3. リジッド ボディを選択し、[シミュレート]ツールバーから[修正](Modify) [リジッド ボディ](Rigid Body) [初期状態の設定](Set Initial State)を選択します。

    [Dynamics Initial State]プロパティエディタにあるパラメータが、現在の状態を反映して更新されます。

  4. シミュレーションを再生すると、シミュレーションの最初のフレームにおけるリジッドボディオブジェクトの状態が、設定した初期状態になっています。