ここではUnityで当たり判定を表現するときに使われるコライダー(Collider)の種類について説明します。
※この記事で使用しているUnityのバージョン:Unity2019.1
コライダー(Collider)とは
コライダーは物理演算の当たり判定を表現するためのコンポーネントです。これがついたゲームオブジェクトはリジッドボディを持つゲームオブジェクトと衝突するようになります。
なおリジッドボディがなくコライダーだけがついたゲームオブジェクトは、リジッドボディのついたゲームオブジェクトと衝突はしますが物理演算の影響を受けることはありません。なのでステージの壁など「当たり判定は欲しいが、物理演算で動かす必要のないオブジェクト」にはコライダーだけをつけるようにします。
あと、コライダーは一部を除いて「トリガー」にすることができます。コライダーをトリガーにすると衝突判定は行われなくなりますが、その当たり判定内に他のゲームオブジェクトが侵入したときに特殊なメソッドを呼び出すことができるので、例えば「範囲内に入ったことを検知する」といった処理を簡単に作ることができて便利です。
色々なコライダー
Unityには標準で色々な形のコライダーが用意されています。コライダーは一つのゲームオブジェクトにいくつでも追加できますが、3D用と2D用に分かれていてそれぞれが同じオブジェクトに共存することはできないので注意してください。
3D用コライダー
主な3D用コライダーは次の5種類です(※その他にもあります)。
- ボックスコライダー(Box Collider)
- カプセルコライダー(Capsule Collider)
- スフィアコライダー(Sphere Collider)
- メッシュコライダー(Mesh Collider)
- ホイールコライダー(Wheel Collider)
ボックスコライダー(Box Collider)
立方体の形をしたコライダーです。
カプセルコライダー(Capsule Collider)
カプセル状の形をしたコライダーです。よく人型のキャラクターの当たり判定として使われます。
スフィアコライダー(Sphere Collider)
球体の形をしたコライダーです。
メッシュコライダー(Mesh Collider)
3Dモデルのメッシュ形状に合わせた形になるコライダーです。他のコライダーよりも複雑な形状にできますが、その分処理が重くなります。
ホイールコライダー(Wheel Collider)
車の車輪用のコライダーです。設定項目が色々ありますね。詳しくは公式マニュアルの「Wheel Collider」を参照してください。
2D用コライダー
主な2D用コライダーは次の4種類です(※その他にもあります)。
- 2Dボックスコライダー(Box Collider 2D)
- 2Dサークルコライダー(Circle Collider 2D)
- 2Dカプセルコライダー(Capsule Collider 2D)
- 2Dポリゴンコライダー(Polygon Collider 2D)
2Dボックスコライダー(Box Collider 2D)
四角い形のコライダーです。
2Dサークルコライダー(Circle Collider 2D)
丸い形のコライダーです。
2Dカプセルコライダー(Capsule Collider 2D)
カプセル状の形をしたコライダーです。
2Dポリゴンコライダー(Polygon Collider 2D)
自由な形状に変更できるコライダーです。上の画像では五角形ですが、「Edit Collider」や「ポイント」の項目から好きな形にすることができます。