Unity5版 Colliderまとめ
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
Unity5版 Colliderまとめ
Unity5の主なColliderについて簡単にまとめておきます。
2D用のColliderに関するまとめはこちら。
▶ Unity5版 Collider2Dまとめ
Colliderの理解度を確認するならこちら。
▶ 【理解度チェック】Colliderに関する確認問題
※使用しているUnityのバージョンは5.0.1です。
[Unity_317×90]
Collider(コライダー)コンポーネントについて
・ColliderコンポーネントはUnity上での衝突に関する機能を提供しています。
・Unity上での物理挙動はColliderコンポーネントとRigidbodyコンポーネントが連動することで実現しています。
・Rigidbodyコンポーネントがオブジェクトを物理法則にしたがって動かし、Colliderコンポーネントがオブジェクト同士の衝突を検知し、物理特性を再現しています。
Colliderの種類とプロパティ
Unityに用意されているColliderの主な種類と、そのプロパティについてまとめておきます。
Box Collider
ボックスコライダーは立方体の形をしたコライダーです。
シンプルな形ですが、複数のボックスコライダーを組み合わせて、複合コライダーとすることで車のボディなどの当たり判定も再現できるようになります。
また、部屋などに設定してIs Triggerをオンにすることで、空間への進入判定などにも使用できます。
表1:Box Colliderのプロパティ
プロパティ | 説明 | |
---|---|---|
Is Trigger | チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。 衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。 |
|
Material | 使用するPhysic Material(物理マテリアル)を選択できます。 Physic Materialには、コライダーが衝突したときの物理挙動が設定できます。 |
|
Center | コライダーの中心座標をTransformコンポーネントのPositonの値との相対座標で決定します。(X,Y,Z) | |
Size | コライダーの大きさを決定します。(X,Y,Z) |
Sphere Collider
球体の形をしたコライダーです。
ボールなどに適用することで曲面を考慮した判定が行えます。
また、開けた空間での進入判定や、接触判定などに使用します。
表2:Sphere Collider のプロパティ
プロパティ | 説明 | |
---|---|---|
Is Trigger | チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。 衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。 |
|
Material | 使用するPhysic Material(物理マテリアル)を選択できます。 Physic Materialには、コライダーが衝突したときの物理挙動が設定できます。 |
|
Center | コライダーの中心座標を、TransformコンポーネントのPositonの値との相対座標で決定します。(X,Y,Z) | |
Radius | 球体の半径を決定します。 |
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などよりも正確な衝突検出が行えますが、その分処理は重くなります。
シーン中のいたる所に設置するのではなく、重要な衝突判定が必要な場面で使用します。
表4:Mesh Colliderのプロパティ
プロパティ | 説明 | |
---|---|---|
Convex | チェックを入れると、Mesh Collider同士の衝突を許可します。 Mesh Collider以外のColliderとの衝突であれば、チェックは必要ありません。 |
|
Is Trigger | チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。 衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。 ※Mesh Colliderの場合、前提条件としてConvexにチェックがついている必要があります。 |
|
Material | 使用するPhysic Material(物理マテリアル)を選択できます。 Physic Materialには、コライダーが衝突したときの物理挙動が設定できます。 |
|
Meah | メッシュの形を選択できます。(図5参照)↓ |
予め用意されているMesh Colliderの形状は、以下の通りです。
図5:Mesh Colliderの種類
※Mesh Colliderにサイズの項目はありません。
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発