リジッド ボディのプロパティ(Rigid Body Properties)

 
 
 

次に、リジッド ボディのプロパティの設定を示します。この設定には、オブジェクトを選択した状態でアトリビュート エディタ(Attribute Editor)を開く方法でしかアクセスできないものがあります。

リジッド ボディのプロパティ(Rigid Body Properties)

アトリビュート エディタ(Attribute Editor)の bulletRigidBodyShape ノードのリジッド ボディのプロパティ(Rigid Body Properties)セクションは、シミュレーションでのダイナミック リジッド ボディの動作を決定します。

ボディ タイプ(Body Type)
次の 3 つのボディ タイプから選択します。
  • スタティック ボディ(Static Body): 移動しません
  • キネマティック リジッド ボディ(Kinematic RigidBody): ハンドアニメーション可能
  • ダイナミック リジッド ボディ(Dynamic RigidBody): 初期位置の設定後、リジッド ボディ システムによって移動します。
スリープしない(Never Sleeps)
ダイナミック リジッド ボディが常にシミュレーションに参加するようにするには、これをアクティブにします。この設定を無効にすると、リジッド ボディの線形速度のマグニチュードが 0.8 より小さく、角速度のマグニチュードが 1.0 より小さい場合、リジッド ボディはシミュレーションに参加しません。現在、速度のしきい値をユーザーがコントロールすることはできません。Bullet オブジェクトは、インパクトを受けると再連結されます。これは最適化設定で、Bullet オブジェクトの「沸騰する」モーションが持続するのを止めるのに役立ちます。
質量(Mass)
ダイナミック リジッド ボディの質量を 0 に設定すると、ダイナミック リジッド ボディが事実上キネマティクス リジッド ボディになります。つまり、物理シミュレーションのフォースによって、リジッド ボディの移動が停止されます。このアトリビュートはアニメートすることができ、オブジェクトを定位置にロックする場合に役立ちます。
重心(Center of Mass)
回転ピボットとして使用されるオブジェクトの重心を設定します。
リニア ダンピング(Linear Damping)
ローリング摩擦の計算時に線形速度に適用するクランプ値を定義するには、この設定を使用します。物理プロパティはローリング摩擦をモデリングしないため、オブジェクトが停止するようにダンピング システムを使用します。たとえば、ダンピングを設定しないと、ローリング球体は永遠に転がり続けます。これは、すべての衝突オブジェクトの係数を弱めることによって、各シミュレーション ステップで線形速度をスケーリングして行います。

値 1 では、実際の速度が保持されます。1 より小さい値では速度が低下し、1 より大きい値では速度が上昇します。

角度ダンピング(Angular Damping)
ローリング摩擦の計算時に角速度に適用するクランプ値を定義するには、この設定を使用します。物理プロパティはローリング摩擦をモデリングしないため、オブジェクトが停止するようにダンピング システムを使用します。

値 1 では、実際の速度が保持されます。1 より小さい値では速度が低下し、1 より大きい値では速度が上昇します。

摩擦(Friction)

オブジェクトのサーフェス抵抗を設定するには、摩擦(Friction)設定を使用します。

回復(Restitution)
ソルバ オブジェクトが元の状態に戻るスピードを設定します。

初期状態(Initial Conditions)

このセクションには、Bullet ソルバのシミュレーションの開始時に適用されるアトリビュートが含まれています。

初期はスリープする(Initially Sleeping)
ダイナミック リジッド ボディが何かと衝突するまで反応しないようにするには、これをアクティブにします。
初期角速度(Initial Angular Velocity)
オブジェクトの角の動きを修正するには、この設定を変更します。クランプ値を定義するためにこの設定を使用します。 ローリング摩擦を計算するときに、リジッド ボディの開始速度に適用されます。
初期速度(Initial Velocity)
オブジェクトの初期速度を修正するには、この設定を変更します。これは、開始フレームにのみ設定されます。
ワールド行列内(In World Matrix)
ダイナミック リジッド ボディの初期位置、およびキネマティック リジッド ボディの指定された位置です。

フォース/インパルス(Forces/Impulses)

このセクションには、リジッド ボディの各フレームに適用されるインパルスをコントロールするアトリビュートが含まれます。多くの場合、これらの値が 0 に戻るようにアニメートすることに注意してください。そうしないと、逆に作用するフォースがない場合に、アニメーション全体で継続してインパルスが適用され続けて、リジッド ボディが連続的に加速される可能性があります。

インパルス(Impulse)
シミュレーションの各フレームで、オブジェクトに適用されるインパルス フォースを設定します。
インパルス位置(Impulse Position)
指定された時間に重心に対して相対的にオブジェクトに適用されるインパルス フォースの位置を指定します。
トルク インパルス(Torque Impulse)
指定した時間にオブジェクトに適用されるトルク(回転)衝撃力を指定します。

コライダのプロパティ(Collider Properties)

これらのアトリビュートは、リジッド ボディのシェイプがシミュレーション内でどのように表示されるかを指定します。一般的に、単純なシェイプのほうがパフォーマンスが良く、安定し、予測し易くなります。最も単純なシェイプにはプレーン(無限)、ボックス、球、円柱、およびカプセルがあります。リジッド ボディのシェイプは、以下のアトリビュートによって決まります。

コライダ シェイプ タイプ(Collider Shape Type)

オブジェクトのタイプ、またはソルバ オブジェクトに近づけるために使用するメッシュを指定します。ボックス(Box)球(Sphere)カプセル(Capsule)ハル(Hull)プレーン(Plane)円柱(Cylinder)複合(Compound)、および自動複合(Auto Compound)を選択します。

注:衝突動作はこのシェイプによる影響を受けるため、オブジェクトのシェイプをできる限り厳密に一致させることをお勧めします。

入力メッシュ(Input Mesh)
どのメッシュがリジッド ボディに接続されているかが示されます。このフィールドは編集できません。
軸(Axis)
コライダ シェイプの近似の軸を設定できます。
長さ(Length)
カプセル状または円柱状のコライダ近似での、円柱形の断面の長さを設定することができます。
半径(Radius)
球または円柱状のコライダ近似の半径、または、カプセル状のコライダ近似の球状のキャップの半径を設定します。
範囲(Extents)
コライダ シェイプの近似の辺の長さを設定します。
再フィット(Refit)
既存のリジッド ボディで自動フィットを 1 回だけ実行します。プレーン コライダは、オブジェクトのトランスフォームの位置を通る無限のプレーンを表し、その回転に従って方向付けられます。これは、ローカルの X 軸と Z 軸方向に無限に延長されます。
自動フィット(Auto Fit)
その他のアトリビュートが自動的に更新されます。
注:チャネル ボックスで自動フィット(Auto Fit)オプションを変更する場合は、アトリビュート エディタ(Attribute Editor)に戻るまで更新されません。

衝突フィルタ(Collision Filters)

これらのアトリビュートでは、選択的な衝突を設定できます。既定値では、リジッド ボディは既定のフィルタ(Default Filter)衝突グループのメンバーで、既定のフィルタ(Default Filter)衝突グループの他のメンバーと衝突します。リジッド ボディは、最大で 16 個のグループのメンバーになることが可能で、最大で 16 個の同じグループの他のメンバーと衝突するように設定することができます。衝突フィルタ グループ名は、Bullet ソルバの collisionFilters アトリビュートによってカスタマイズすることができます。

さまざまなコライダ シェイプのタイプに関する詳細については、www.bulletphysics.org の Bullet Physics のマニュアルを参照してください。