【Unity】物理演算のProject Settings(Physics Manager)

いつも基本的にデフォルトで使っている物理演算のProject Settingsですが、改めて各項目の意味を調べてみました。

FixedJointの不具合対応で試行錯誤している際に調査した結果です。

Physics Manager

Gravity

重力の強さと方向。デフォルトは地球上と同じ設定。

Default Material

デフォルトのPhysics Material。メッシュのPhysics Materialが特に設定されていない場合、これが使われる。

Bounce Threshold

相対速度がこの設定未満の場合、オブジェクトは跳ね返らない。低い値に設定しすぎると、ジョイントでくっつけたオブジェクト同士が干渉し続けて、ずっとプルプルしている。

Sleep Threshold

運動エネルギーがこの値未満になった場合、オブジェクトがスリープする。小さくしすぎるとオブジェクトがいつまでも動く、大きくしすぎると動いているオブジェクトが不自然に突然止まる。

Default Contact Offset

衝突判定の距離。Collider同士がこの設定より近付いた場合、衝突したと判定される。低い値に設定しすぎると、ジョイントでくっつけたオブジェクト同士が干渉し続けて、ずっとプルプルする。

Solver Interation Count

ジョイントとコライダーの解決精度。物理演算の精度?小さい設定だと処理は軽いが精度は落ちる、大きい値に設定すると処理は重いが精度が上がる。7に設定しとけば大体問題ないらしい。

Queries Hit Triggers

チェックするとレイキャストがCollider(IsTrigger=Ture)にヒットした時、ヒットイベント(?)を返す。チェックを外すとヒットしなくなる。デフォルトは無効。

Enable Adaptive Force

有効にすると、 積み重なったオブジェクト がより現実的な挙動になる。群体をよりリアルな挙動にできる。重くなるからOFFにしてる。デフォルトは無効。

Layer Collision matrix

各レイヤーのColliderが干渉するか否かの設定。

参考 物理挙動Unityマニュアル

まとめ

基本的にはデフォルトで利用し、微調整するのがよさそう。