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 を有効にします。この設定は、デフォルトで無効になっています。 |
Enable PCM | このボックスにチェックを入れると、物理エンジンの永続的なコリジョン (PCM) 接触生成メソッドが有効になります。つまり、各物理フレームごとに再生される接触数が少なくなり、より多くの接触データが他のフレームと共有されます。PCM 接触の生成パスもより正確であり、通常は、より良い衝突フィードバックを生成します。詳細については、Nvidia documentation on Persistent Contact Manifold を参照してください。 注意: Unity 5.5 より前は、Unity は分離軸定理に基づいて SAT と呼ばれる接触生成メソッドを使用していました (dyn4j.org’s guide to SAT を参照)。PCM のほうが効率的ですが、古いプロジェクトでは、物理計算を調整する必要がないため、SAT の使用を続けるほうが簡単な場合があります。PCM はわずかに違うバウンスを起こし、コンタクトバッファ (つまり、 OnCollisionEnter 、OnCollisionStay 、OnCollisionExit に渡された衝突インスタンスでできた配列) では無駄な接触が少なくなります。 |
Layer Collision Matrix | これを使って、レイヤーベースの衝突検出 の挙動を定義します。 |
2017–05–18 限られた 編集レビュー で修正されたページ
5.5で追加された設定: Default Solver Iterations, Default Solver Velocity Iterations, Queries Hit Backfaces, Enable PCM
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.