はじめてのUnity 【第11回 Unityの物理特性② Collider】

この記事は2014年12月2日に書かれたものです。内容が古い可能性がありますのでご注意ください。


Cupsule Collider

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

WS000056
図3:Cupsule Collider

表3:Cupsule Collider のプロパティ

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

Mesh Collider

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

WS000057
図4:Mesh Collider (Plane)

表4:Mesh Collider のプロパティ

プロパティ 説明
Is Trigger チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。
衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。
Material 使用するPhysic Material (物理マテリアル)を選択できます。
Physic Material には、コライダーが衝突したときの物理挙動が設定できます。
Convex チェックを入れると、Mesh コライダー同士の衝突を許可します。
Smooth Sphere Collisions チェックを入れると、コライダーの表面が滑らかになります。
(球体を転がす面などに使用する。)
Meah メッシュの形を選択できます。(図5参照)↓

予め用意されているMesh Collider の形状には、以下のものがあります

WS000058

図5:Mesh Collider の種類

※Mesh Collider にサイズの項目はありません。
Mesh Collider は適用されたゲームオブジェクトの
Transform のプロパティから正確な位置とサイズを反映しているためです。


Physic Material

Physic Material (物理マテリアル)では、コライダーの物理特性について設定できます。
反発係数や摩擦について細かく設定することができるので、バネや地面の抵抗を表現したい場合に有効です。

プロパティの詳細などについては、また別の回で詳しく紹介します。


まとめ

前回から物理特性についてみてきました。
Unity上で物理法則を正しく再現するには、Collider コンポーネントや、Rigidbody コンポーネントを
オブジェクトのサイズや質量に基づいて、正しく設定する必要があります。
これは、物理エンジンの特性が現実世界をベースに考えてられているためです。
仮に、物理エンジンを使用せずに、オブジェクトの動きをスクリプトだけで制御するのであれば、この限りではありません。
しかし、せっかくUnity を使ってゲームを作るのであれば、物理特性をフルに活用したものを作るのが面白いのではないでしょうか。

実はCollider には、今回紹介した以外に、地形用のCollider やホイール用のCollider があります。
これらは使用するシーンが限られてきますので、また別の機会に紹介します。


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

[Unity_728×90]

ページ:
1

2

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

PAGE TOP