Unity5版 Colliderまとめ


Unity5版 Colliderまとめ

Unity5の主なColliderについて簡単にまとめておきます。

2D用のColliderに関するまとめはこちら。
⇒ Unity5版 Collider2Dまとめ


Collider(コライダー)コンポーネントについて

・ColliderコンポーネントはUnity上での衝突に関する機能を提供しています。
・Unity上での物理挙動はColliderコンポーネントとRigidbodyコンポーネントが連動することで実現しています。
・Rigidbodyコンポーネントがオブジェクトを物理法則にしたがって動かし、Colliderコンポーネントがオブジェクト同士の衝突を検知し、物理特性を再現しています。
・ひとつのオブジェクトにColliderコンポーネントとRigidbodyコンポーネントが必ずしもセットで適用されている必要はありません。しかし、衝突の結果によってオブジェクトを動かしたければ、Rigidbodyコンポーネントが必要です。


Colliderの種類とプロパティ

Unityに用意されているColliderの主な種類と、そのプロパティについてまとめておきます。

Box Collider

ボックスコライダーは立方体の形をしたコライダーです。
シンプルな形ですが、複数のボックスコライダーを組み合わせて、複合コライダーとすることで車のボディなどの当たり判定も再現できるようになります。
また、部屋などに設定してIs Triggerをオンにすることで、空間への進入判定などにも使用できます。

WS000054
図1-1:Box Collider

WS000001
図1-1:Box Colliderのインスペクター

表1:Box Colliderのプロパティ

プロパティ 説明
Is Trigger チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。
衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。
Material 使用するPhysic Material(物理マテリアル)を選択できます。
Physic Materialには、コライダーが衝突したときの物理挙動が設定できます。
Center コライダーの中心座標をTransformコンポーネントのPositonの値との相対座標で決定します。(X,Y,Z)
Size コライダーの大きさを決定します。(X,Y,Z)

Sphere Collider

球体の形をしたコライダーです。
ボールなどに適用することで曲面を考慮した判定が行えます。
また、開けた空間での進入判定や、接触判定などに使用します。

WS000055
図2-1:Sphere Collider

WS000002
図2-2:Sphere Colliderのインスペクター

表2:Sphere Collider のプロパティ

プロパティ 説明
Is Trigger チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。
衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。
Material 使用するPhysic Material(物理マテリアル)を選択できます。
Physic Materialには、コライダーが衝突したときの物理挙動が設定できます。
Center コライダーの中心座標を、TransformコンポーネントのPositonの値との相対座標で決定します。(X,Y,Z)
Radius 球体の半径を決定します。

Cupsule Collider

カプセル状のコライダーです。
複雑な当たり判定を用いらないキャラクターや、柱などに使用します。
球体部分と円柱部分を別々に調節できるため、組み合わせることで複雑な複合コライダーを作成できます。

WS000056
図3-1:Cupsule Collider

WS000003
図3-2:Cupsule Colliderのインスペクター

表3:Cupsule Colliderのプロパティ

プロパティ 説明
Is Trigger チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。
衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。
Material 使用するPhysic Material(物理マテリアル)を選択できます。
Physic Materialには、コライダーが衝突したときの物理挙動が設定できます。
Center コライダーの中心座標をTransformコンポーネントのPositonの値との相対座標で決定します。(X,Y,Z)
Radius 球体部分の半径を決定します。
Height コライダーの高さを決定します。
カプセルの両端にある球体の中心間(円柱部分)の距離がこの長さにあたります。
Direction カプセルの長軸の方向を決定します。(X-Axis, Y-Axis, Z-Axis)

Mesh Collider

Mesh Colliderは、適用するゲームオブジェクトのメッシュデータをもとにコライダーを作成します。
Box Colliderなどよりも正確な衝突検出が行えますが、その分処理は重くなります。
シーン中のいたる所に設置するのではなく、重要な衝突判定が必要な場面で使用します。

WS000057
図4:Mesh Collider(Plane)

WS000004
図3-2:Mesh Colliderのインスペクター

表4:Mesh Colliderのプロパティ

プロパティ 説明
Convex チェックを入れると、Mesh Collider同士の衝突を許可します。
Mesh Collider以外のColliderとの衝突であれば、チェックは必要ありません。
Is Trigger チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。
衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。
※Mesh Colliderの場合、前提条件としてConvexにチェックがついている必要があります。
Material 使用するPhysic Material(物理マテリアル)を選択できます。
Physic Materialには、コライダーが衝突したときの物理挙動が設定できます。
Meah メッシュの形を選択できます。(図5参照)↓

予め用意されているMesh Colliderの形状は、以下の通りです。

WS000006

図5:Mesh Colliderの種類

※Mesh Colliderにサイズの項目はありません。


最後までお読みいただきありがとうございます。
← Unityの記事一覧にもどる

こちらの記事もおすすめです。
Unityのマイナーだけど便利な関数を使ってみた【Vector3.SmoothDamp】
Unityで動く床を実装するときにハマる罠とその解決方法

  • このエントリーをはてなブックマークに追加

PAGE TOP