Developer

【初心者Unity】はじめに知っておくべきColliderコンポーネントの概要
2020.09.30
Lv1

【初心者Unity】はじめに知っておくべきColliderコンポーネントの概要

はじめに知っておくべきColliderコンポーネントの概要


Collider(コライダー)コンポーネントは、ゲームオブジェクトに当たり判定を適用するコンポーネントです。
Colliderコンポーネントを持っているゲームオブジェクト同士を衝突させることができます。ここではColliderコンポーネントと総称的に書いていますが、実際にはBox Collider や Sphere Collider のように、当たり判定の形をイメージできる○○Collider名前でコンポーネントが用意されています。CubeやSphere、Capsuleなど、プリセットで用意されているゲームオブジェクトは、あらかじめそれぞれのメッシュデータに一致する形のColliderコンポーネントをもっています。そのままで十分な場合がほとんどですが、必要に応じてつけ外しや複数のColliderコンポーネントをアタッチすることなども可能です。

Collison = 衝突 から来ている名前であり、その名の通り適用するだけで当たり判定を実装できるコンポーネントですが、非常に重要なポイントとして覚えていただきたいのは、「衝突はあくまでもCollider同士がぶつかる」という点です。ゲームオブジェクト同士を衝突させたい場合、双方のゲームオブジェクトが何らかのColliderコンポーネントをもっていないと衝突は起きません。片方へのColliderのアタッチし忘れによりぶつからないというケースは、Unityを教えていて多くの場面で見受けられます。

また、もう一つ覚えていただきたいポイントは、Is Triggerというプロパティです。後述のプロパティの説明でも登場しますが、この項目のチェックを入れると「実際にはぶつからないけど判定だけとれる」という仕組みを作ることができます。これは通過できるゴールラインや、特定のエリアへの進入などの判定の実装で非常に役に立ちます。

Colliderコンポーネントは一つのゲームオブジェクトに複数アタッチすることもできます。形の異なるColliderを組み合わせることで複雑な形の当たり判定を組み上げることも可能です。

それでは、Colliderコンポーネントの代表的なプロパティについて、Box Colliderを例に各プロパティの概要を紹介していきます。プロパティごとに設定できる細かな選択肢については一部説明を割愛しますので、詳しくは最新の公式リファレンスを参照してください。


■Edit Collider
選択するとシーンビューにて、Colliderのサイズを視覚的に編集できます。

■Is Trigger
先述の通り非常に重要なプロパティです。
チェックを入れたゲームオブジェクトは実際には衝突せずに他のゲームオブジェクトをすり抜けます。
その際のすり抜けたというイベントはC#プログラムを使用することでイベント発生のタイミングを取得することができます。
これらはエリアへの進入などを契機にゲームを進行させたい場合などに活用される一般的な手法となります。

■Material
物理マテリアルを選択して適用できます。
物理マテリアル(Physic Material)とは、摩擦や反発係数を設定するためのファイルです。Colliderにアタッチして使用できます。

■Center
Colliderの中心座標です。BoxやCapsule等のざっくり形状で当たり判定をつけるとき、ゲームオブジェクトの中心とスプライトやメッシュの中心がずれてしまうケースなどで当たり判定の位置をオフセットして調整するために使います。

■Size
Colliderのサイズです。XYZ各値は1でメッシュデータのサイズと一致しますが、ゲームバランスのためにメッシュの見た目よりも当たり判定を小さくしたい、逆に大きくしたいなどのケースで調整に使用します。
Colliderの形状によっては Sizeの代わりにRadius(半径)や、Height(高さ)などのプロパティが用意されています。

 
 

連載目次リンク

「初心者のための」Unityゲーム制作 目次
 

Unity実践編 - 目次リンク

実践Unityゲームプログラミング 連載目次