ネットワークマネージャー
Player Settings (プレイヤー設定)

物理演算マネージャー

3D physics にグローバル設定を適用するためには、Physics Manager を使用します。physics Manager にアクセスするには、メニューバーから Edit > Project Settings > Physics の順に選択します。2D physics にグローバル設定を適用するには、 Physics 2D Manager を使用します。

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

PhysicsManager、インスペクターウィンドウに表示
PhysicsManager、インスペクターウィンドウに表示
プロパティー 説明
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 有効にすると、テスト体 (レイキャスト、 スフィアキャスト、 スフィアテストなど) がトリガになっているコライダーと接触するとき、ヒットを返します。個々のレイキャストは、この動作をオーバーライドすることができます。この設定は、デフォルトで有効になっています。
Enable Adaptive Force “adaptive force” は、積み重なったオブジェクト間で力を伝達する方法に影響します。このボックスにチェックすると、 adaptive force を有効にします。この設定は、デフォルトで無効になっています。
Enable PCM 有効にすると、物理エンジンの PCM (persistent contacts manifold) 接触生成メソッドが有効になります。つまり、物理フレームごとに再生される接触数が少なくなり、複数の接触データがフレーム間で共有されます。 PCM の接触生成パスはより正確で、たいてい、より良い衝突フィードバックを生成します。詳細については [Nvidia documentation on Persistent Contact Manifold (http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/AdvancedCollisionDetection.html#persistent-contact-manifold-pcm) を参照してください。 ノート 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

ネットワークマネージャー
Player Settings (プレイヤー設定)