Version: 2018.1
スプラッシュスクリーン
Physics 2D Settings

Physics Manager

3D 物理にグローバル設定を行うために、Physics Manager (物理マネージャー) を使用します。物理マネージャーにアクセスするには、メニューバーから Edit > Project Settings > Physics の順に選択します。2D 物理にグローバル設定を適用するには、 2D 物理設定 を使用します。

物理マネージャーの設定によって、物理的シミュレーションの精度の限度が決められます。一般的には、シミュレーションの精度を上げると、処理負荷が高くなります。ですから、物理マネージャーの設定で精度とパフォーマンスとの釣り合いを調整できます。詳細はマニュアルの Physics を参照してください。

インスペクターウィンドウに表示される物理マネージャー
インスペクターウィンドウに表示される物理マネージャー
プロパティー 機能
Gravity すべての リジッドボディコンポーネントに適用される重力量。x, y, z 軸を使用して設定します。現実的な重力設定にするには、Y 軸を負の数にします。重力は、ワールド単位/ (秒 ^2) で定義されます。
注意 重力を増加すると場合によっては衝突をするために Default Solver Iterations も増加させる必要があります。
Default Material このフィールドでは、個々のコライダーに何も割り当てられていない場合に使用するデフォルトの Physics マテリアルを定義します。
Bounce Threshold このフィールドでは、速さの値を設定します。相対速度が指定した値未満のとき、 衝突する2 つのオブジェクトは跳ね返りません。この値により、ジッタも減るため、低すぎる値を設定することはお勧めしません。
Sleep Threshold このフィールドでは、キネマティックでないリジッドボディ (すなわち、物理システムによって制御されていないリジッドボディ) がスリープ状態になる可能性があるグローバルエネルギーの閾値を設定します。リジッドボディがスリープ状態のときはフレーム毎に更新されるわけではないため、リソースの負担は少なくなります。 リジッドボディの運動エネルギーを質量で割った値がこの閾値を下回る場合、スリープの候補となります。
Default Contact Offset このフィールドで、衝突検知システムが、接触判定をするために使用する距離の指定をします。この値は正の値でなくてはならず、また、もし0に近すぎる値を設定するとジッタの原因になります。デフォルト値は 0.01 です。コライダーは、Contact offset 値の合計値よりもこの距離が小さい場合のみ、衝突接触判定を生成します。
Default Solver Iterations ソルバーは小さな物理演算エンジンのタスクで、ジョイントの動きや重なり合うリジッドボディコンポーネント間の接触の管理など多くの物理的な相互作用を決定します。各物理フレームで Unity が行うソルバー処理の数を決定するには Default Solver Iterations を使用します。この値はソルバー出力の品質に影響し、デフォルトでないTime.fixedDeltaTime を使用する場合は、プロパティーを変えることが推奨されます。そうでないと、設定に余計負荷がかかります。通常、ジョイントや接触で発生するジッタを削減するために使用します。
Default Solver Velocity Iterations このフィールドで、ソルバーが各物理フレームで同時に扱う速度処理の数を設定します。ソルバーが行う処理数が増えるほど、リジッドボディが跳ね返った後の流出速度の精度は高くなります。ジョイントしたリジッドボディコンポーネントで問題が発生する場合、または、ラグドールが衝突後に動きすぎる場合に、この値を増やしてみてください。
Queries Hit Backfaces 有効にすると、物理的クエリ (Physics.Raycast など) がメッシュコライダーの裏側の三角の衝突を検知します。この設定は、デフォルトで無効になっています。
Queries Hit Triggers 有効にすると、テスト体 (Raycast、SphereCast、SphereTest など) がトリガーになっているコライダーと接触すると、ヒットを返します。個々のレイキャストは、この挙動をオーバーライドすることができます。この設定は、デフォルトで有効になっています。
Enable Adaptive Force “adaptive force” は、積み重なったオブジェクト間で力を伝達する方法に影響します。このボックスにチェックすると、 adaptive force を有効にします。この設定は、デフォルトで無効になっています。
Contacts Generation 接触の生成方法を選択します。Persistent Contacts Manifold (PCM): 物理フレームごとに発生する接触の再生成を少なくし、フレーム間でより多くの接触データを共有します。PCM 接触生成パスはより正確で、通常、より有効な衝突フィードバックを生成します。詳細は、Nvidia の Persistent Contact Manifold に関するドキュメントを参照してください。
Legacy Contacts Generation: 分離軸法を使用して接触を生成します (dyn4j.org の SAT ガイド を参照)。

PCM のほうが効率的ですが、Unity 5.5 より前のバージョンの Unity で作成されたプロジェクトでは、SAT の使用を継続し、物理計算の調整のし直しを避けるほうが簡単な場合があります。PCM を使用すると、バウンスがわずかに異なり、接触バッファー (つまり、OnCollisionEnterOnCollisionStayOnCollisionExit に渡される接触インスタンスに取得した配列) に役立たない接触が送信されることがほとんどありません。
Auto Simulation 物理シミュレーションを自動で走らせるか、または、明示的な制御を許可するか。
Auto Sync Transforms Transform コンポーネントが変わるたびに、トランスフォームを物理システムと同期させるかどうか。
Contact Pairs Mode 使用する接触ペア生成のタイプを選択します。

Default Contact Pairs: キネマティック - キネマティック、キネマティック - 静的のペアを除くすべての接触ペアからの衝突イベントとトリガーイベントを受信します。
Enable Kinematic Kinematic Pairs: キネマティック - キネマティック接触ペアからの衝突イベントとトリガーイベントを受信します。
Enable Kinematic Static Pairs: キネマティック - 静的コンタクトペアからの衝突イベントとトリガーイベントを受信します。
Enable All Contact Pairs:すべての接触ペアから衝突イベントとトリガーイベントを受信します。
Broadphase Type 物理シミュレーションで使用するブロードフェーズアルゴリズムを、Sweep and Prune BroadphaseMultibox Pruning Broadphase (マルチボックスプルーニング) から選択します。マルチボックスプルーニングはグリッドを使用し、各グリッドセルはスイープ&プルーンを実行します。これは、通常、2 次元世界に多くのゲームオブジェクトがある場合、パフォーマンスを向上させるのに役立ちます。詳細は、NVIDIA の PhysX SDKRigid Body Collision を参照してください。
World Bounds Multibox Pruning Broadphase アルゴリズムを使用する場合、離れたオブジェクトが互いに影響を与えないように、ワールドを囲む 2D グリッドを定義します。 このオプションは、Broadphase TypeMultibox Pruning Broadphase に設定する場合にのみ使用できます。
World Subdivisions 2D グリッドアルゴリズムの x 軸と z 軸に沿ったセルの数。このオプションは、Broadphase TypeMultibox Pruning Broadphase に設定する場合にのみ使用できます。
Layer Collision Matrix これを使って、レイヤーベースの衝突検出 の挙動を定義します。
Cloth Inter-Collision Cloth のインターコリジョン のためにパーティクルを設定する場合に、クロスパーティクルの DistanceStiffness を制御します。



  • 2018–08–10 限られた 編集レビュー で修正されたページ

  • 5.5で追加された設定: Default Solver Iterations, Default Solver Velocity Iterations, Queries Hit Backfaces, Enable PCM

  • Physics Manager 設定に関するドキュメントは 2017.4 で更新

スプラッシュスクリーン
Physics 2D Settings