[PhysX Dynamics Operator]プロパティ エディタ

 
 
 

リジッド ボディのダイナミクス シミュレーションの全体的な精度と衝突の精度を設定します。

表示するには:[Simulate]ツールバーで[修正](Modify) [リジッド ボディ](Rigid Body) [シミュレーションプロパティの編集](Edit Simulation Properties)を選択するか、Explorer で、現在のリジッド ボディ シミュレーション環境に対する[オペレータ]フォルダを開いて、[Dynamics Operator]アイコンをクリックします。

[ODE Dynamics Operator]プロパティ エディタのパラメータについては、「[ODE Dynamics Operator]プロパティ エディタ」を参照してください。

シミュレーション精度

詳細については、「リジッドボディシミュレーションの精度の設定」(「 シミュレーション」)を参照してください。

サブステップ(Substeps)

リジッド ボディ シミュレーションを各フレームで評価する回数。特に、動きが速いリジッド ボディ オブジェクトや形状が複雑なリジッド ボディ オブジェクトに関係した衝突の場合は、この値を増やすとシミュレーションが正確になります。

Adaptive Substepping(適切なサブステップ)

シミュレーション環境で衝突しているすべてのリジッド ボディに衝突精度を設定します。衝突精度レベルは、動きが速いリジッド ボディや、実際の形状を衝突ジオメトリとして使用するリジッド ボディに対して設定してください(特に ODE ダイナミクス エンジンの場合)。

詳細については、「PhysX 対応の衝突の精度の設定」(「 シミュレーション」)を参照してください。

有効(Enabled)

[Subdivision Depth]値の使用を切り替えます。これにより、衝突が発生する前後でシミュレーションのサブステップ数が増加し、衝突の計算がより正確に行われます。

Subdivision Depth

ダイナミクス オペレータが衝突を解析する精度を決定します。この値を上げると、衝突がより正確に表現されます。

前述の[Substeps]値を大幅に(100 などに)上げた場合は、この値を(6 以下に)下げてください。両方に大きな値を設定すると、1 フレーム当たりの計算時間が大幅に長くなる場合があります。

Advanced(アドバンス)

このページのパラメータの設定は、PhysX エンジンを上級レベルで使用しているユーザを対象としています。たとえば、ゲーム開発で、使用しているゲーム エンジンと同じ設定にする場合などです。

In-Engine Gravity(エンジン内重力)

有効(Enabled)

PhysX ダイナミクス エンジンに組み込まれた重力をアクティブにします。これは、Softimage の重力フォースとは異なります。

振幅(Amplitude)

重力フォースの強度。振幅とは重力ベクトルによる加速度です。お使いのシーンで Softimage 単位をメートルに設定している場合は、地上ではおよそマグニチュード 9.8 に相当します。各リジッド ボディの質量の中心に適用しているフォースは、この加速度ベクトルにリジッド ボディの質量を乗算した値となります。

Sleeping(スリープ)

リジッド ボディが一定の期間動かない場合、リジッド ボディは外部フォースの状態が変わるまで動かないとみなされます。この状態を「スリーピング」と呼びます。 スリーピングとは、計算時間を節約するために、リジッド ボディがシミュレートされない状態を指します。

スリーピングによって、安定性の問題を解決することもできます。たとえば、緩く積み重ねてあるレンガの壁があった場合、車が壁にぶつかる前にレンガが動いてしまうことがありますが、シミュレーションの冒頭部分でレンガをスリープ状態にすれば、それを防ぐことができます。

リジッド ボディをスリープ状態にできるかを簡単に確認するには、リニアおよび角度の速度しきい値を設定します。リジッド ボディをスリープ状態にするには、リニア速度が[Sleeping] [Squared Linear Velocity Threshold]の値よりも低く、角速度が[Sleeping] [Squared Angular Velocity Threshold]の値よりも低くなっている必要があります。

リニア速度(二乗)のしきい値(Squared Linear Velocity Threshold)

既定のリニア速度(二乗)であり、リジッド ボディがスリープ状態を開始するより小さい値。範囲は 0 から無限です。

角速度(二乗)のしきい値(Squared Angular Velocity Threshold)

既定の角速度(二乗)であり、リジッド ボディがスリープ状態を開始するより小さい値。範囲は 0 から無限です。

衝突

連続衝突検出は、動きの速いオブジェクトに役立ちます。従来の衝突検出では、動きの速いオブジェクトが単一のタイム ステップで別のオブジェクトを通り抜けてしまう場合がありました。薄い金属製プレートを貫通する弾丸を想像してみてください。最初のタイム ステップでは弾丸がプレートの片側に位置し、次のタイム ステップでは反対側に位置します。PhysX エンジンでは、衝突を検出しないため、弾丸の動きに変更が必要かどうかは判断できません。

この問題を解決するには、[Continuous Collision]オプションを選択することができます。衝突を離れた位置でテストする代わりに、タイム ステップ全体でオブジェクトの動きを表現する、押し出されたボリュームをテストします。衝突が検出されると、そのときの衝撃の時間が計算され、オブジェクトの動きが適切に変更されます。

連続衝突(Continuous Collision)

連続衝突検出の計算をアクティブにします。このオプションは、動きの速いオブジェクトに役立ちます。

バウンスしきい値(Bounce Threshold)

リジッド ボディがバウンドしないときのしきい値を設定します。相対的な速度を持つすべてのリジッド ボディは、これより低い値の場合にバウンドしません。

範囲はマイナスの無限から 0 までです。負の値となるのは、この速度が相対速度であるためです。相対速度とは、リジッド ボディとオブジェクトの間で衝突が終わる速度を指します。

このパラメータは、たとえばバスケットボールが地面に落ちてバウンドし続ける場合など、物理的な動きがほとんど見えなくなるまでバウンドを繰り返す傾向にあるオブジェクトを停止させるのに役立ちます。このようなオブジェクトは通常、高反発のオブジェクトです。

スキン幅

リジッド ボディを重ねるときに、リジッド ボディ同士がわずかに貫通し合うように PhysX エンジンにより正確さが調整されます。シーン レベルで許容される貫通量は、[Skin Width]の値を設定して決定できます。貫通量が多すぎると衝突が不自然になりますが、少なすぎるとさらに不自然な結果となります。オブジェクト同士が互いに離れた位置で押し返し、以降のタイム フレームで互いに後退する可能性があります。これによりジッターが発生します。

シーンに最も適した貫通量は、オブジェクトのサイズやシミュレーションの安定性などさまざまな要因により異なります。安定性は通常、重力とタイム ステップのサイズによって決定されます。重力とタイム ステップをより小さく設定すると、シミュレーションがより安定します。

スキン幅(Skin Width)

リジッド ボディ同士がどれくらい離れているかではなく、リジッド ボディ同士がどれくらい貫通し合っているかを指定します。オブジェクトの貫通深度は、オブジェクトが衝突にどのように反応するかに直接影響します。また、オブジェクトがスリープ状態からどれくらい簡単に回復するかにも影響します。

グローバル ボディ コントロール

[Dynamic Friction Scaling]および[Static Friction Scaling]のパラメータを使用して、シーン内のすべてのリジッド ボディの静摩擦と動摩擦の大きさをスケーリングできます。

  • 静摩擦は、リジッド ボディの状態が静止から運動に変更されるのに逆らう力です。たとえば、勾配面にボールを置くと、ボールがどれくらい簡単に平面を初めて滑り込み始める、または転がり落ち始めるかが静摩擦によって決定されます。オブジェクトが動き始めてからの静摩擦の影響は非常にわずかになるか、まったくなくなります。

  • 動摩擦(または「キネティック」)は、ある動いているリジッド ボディが他のリジッド ボディのサーフェイスの動きにどの程度抵抗するかを決定します。これはリジッド ボディの動きを遅くする力です。一般的に、この力はリジッド ボディに適用されているすべての力に対して均等に働きます。つまり、リジッド ボディに適用されている力に対する摩擦力の比率として考えることができます。

これらの 2 つのパラメータを設定すると、シミュレーション内のすべてのマテリアルに存在する静摩擦と動摩擦の値が半減されます(両方の既定値は 1)。このスケーリングの具体的な使用例として、レース ゲームを想像してください。地面が濡れていたり凍っている場合は、すべてのリジッド ボディを徐々に滑りやすくし、地面が正常な状態に戻ったらまた徐々に既定値に戻すことができます。

動摩擦のスケーリング(Dynamic Friction Scaling)

シーン内のすべてのリジッド ボディに適用された動摩擦の大きさをスケーリングします。範囲は 0 から無限です。

静摩擦のスケーリング(Static Friction Scaling)

シーン内のすべてのリジッド ボディに適用された静摩擦の大きさをスケーリングします。範囲は 0 から無限です。

最大角速度(Maximum Angular Velocity)

シーン内のすべてのリジッド ボディに適用された最大角速度を設定します。