Tips

【Unity】Physics Managerのプロパティを徹底解説
2017.04.29

【Unity】Physics Managerのプロパティを徹底解説

Physics Manager


今回は、Physics Managerのプロパティについて解説します。
公式よりもわかりやすくなっている……はず!

※使用しているUnityのバージョンは5.5.2f1です。
[Unity_317×90]

プロパティの解説


これらの設定の中には、物理演算の精度を引き上げるものが含まれています。
高精度の演算にはCPU等の高いパフォーマンスが求められるため、設定を変更する際には気を付けましょう。

Gravity

重力加速度です。全てのRigidbodyに適用されます。デフォルトは地球上と同じ「-9.81(m/s^2)」
公式によると、重力を大きくするなら、衝突の安定維持のために「Solver Iteration Count」(後述)を大きくする必要があるかものこと。

Default Material

各コライダーにPhysic Materialがアタッチされていない場合に使用される、デフォルトのPhysic Material。
自分で作成したPhysic Materialを適用できます。初期値は「None」

Bounce Threshold

衝突するオブジェクト間の相対速度がこの値未満のとき、オブジェクトが跳ね返りません。

Sleep Threshold

運動していない剛体がスリープ状態に入る閾値。
公式によると、質量で正規化された運動エネルギーがこの値以下の場合、スリープの対象になるとのこと。
正規化された運動エネルギーとは、運動エネルギーを質量で割ったもの。(単位質量当たりの運動エネルギー)
要するに、同じ速度で動いているオブジェクトでも、重いオブジェクトの方がスリープ状態になりやすい。

Default Contact Offset

コライダーがどれくらい近づいたら「接触した」と判定するかの値。正の値を設定する。
デフォル33トは0.01だが、0に近づけすぎるとノイズの原因となるとのこと。(公式より)

Default Solver Iterations

連結したRigidbodyの関節部分がグラグラする場合などに、大きめの値に設定すると動作が安定します。
デフォルトは6。

Default Solver Velocity Iterations

連結したRigidbodyが衝突時に正しく弾まなかったり、動きすぎたりする場合に、大きめの値に設定すると動作が安定します。
デフォルトは1。

Queries Hit Backfaces

この項目は、謎が残りました。
公式によると、物理クエリが背面の三角形に当たるべきかどうか。とのこと。
RayCastがオブジェクトの裏面にも当たるのかなと思い検証してみましたが、うまくいきませんでした。

Queries Hit Triggers

有効にすると、isTriggerにチェックを入れたコライダーにレイキャストがヒットを返します。
デフォルトでチェック有り。
個々のレイキャストで、この動作を上書きできます。

Enable Adaptive Force

“adaptive force” は、より現実的な挙動を与える事を目的に、積み重なったオブジェクト間で力を伝達する方法に影響します。このオプションは adaptive force の有効/無効を切り替えます。Unity 5.0 ではデフォルトで無効になっている事に注意してください。

Enable PCM

persistent contact manifoldのON/OFF。
Unity5.5(?)からデフォルトで有効になりました。接触に関して必要な分だけ計算するとのこと。
チェックを外すと、フレームごとにすべての接触を再計算してしまうとのこと。

Layer Collision Matrix

レイヤー同士の衝突検出設定です。
各レイヤー名が交差するところのチェックを外すと、そのレイヤー同士は衝突検知しなくなります。
特定のオブジェクトにだけぶつかりたい場合に便利です。

以上。

ゲーム制作関連のオススメ連載リンク

とっても手軽なゲーム制作体験!
Unityゲーム開発基礎

実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発

Recent News

Recent Tips

Tag Search