tanaka's Programming Memo

プログラミングについてのメモ。

RigidbodyのCollision Detection

かなり怪しい日本語ですが、Collision Detectionの説明の和訳。

Collision Detection

オブジェクトの動きが速すぎて、他のオブジェクトをすり抜ける場合に使う。

Discrete(個別、分離)

シーンに存在する他の全てのオブジェクトと衝突判定をしたい際に利用する。他のColliderは、そのオブジェクトと衝突したかチェックする際に、分離衝突判定(Discrete Collition Detection)を行う。これが通常の衝突判定である。

Continuous(連続)

Discrete判定のものと、リジッドボディで動き続けるオブジェクトとの衝突や、Continuous判定とリジッドボディを使っていない静止したMeshColliderとの判定に利用する。
Continuous Dynamicを設定したRigidbodyは、このRigidbodyとの衝突判定をする際に、Continuous判定を利用する。その他のRigidbodyは、Descrete判定を利用する。衝突にContinuous Dynamic判定が必要な場合に、Continuous判定を使う。(ContinuousはPhysicsのパフォーマンスに大きな影響を与える。高速移動による問題が発生していないのであれば、Discreteを設定するべきである。)

Continuous Dynamic

オブジェクトに対してcontinuous衝突判定を利用するには、ContinuousとCotinuous Dynamic衝突を利用する。
また、continuous衝突判定を、Rididbodyの設定されていない静止しているMesh Colliderと判定をする場合にも利用する。それ以外の衝突はDiscrete衝突判定を利用する。速く動作するオブジェクトに利用する。

有効なCollider

ContinuousやContinuous Dynamicモードは、Box Collider,Sphere Collider,Capsule Colliderの3種類で有効。

(メモ:Mesh Colliderには効かないらしい。Convexを設定すると効くかも??)