はじめてのUnity 【第11回 Unityの物理特性② Collider】
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 などよりも正確な衝突検出が行えますが、その分処理は重くなります。
シーン中のいたる所に設置するのではなく、重要な衝突判定が必要な場面で使用します。
表4:Mesh Collider のプロパティ
プロパティ | 説明 | |
---|---|---|
Is Trigger | チェックを入れると、コライダーは物理エンジンから障害物とみなされなくなります。 衝突判定だけ行われて、オブジェクト自体はすり抜けるようになります。 |
|
Material | 使用するPhysic Material (物理マテリアル)を選択できます。 Physic Material には、コライダーが衝突したときの物理挙動が設定できます。 |
|
Convex | チェックを入れると、Mesh コライダー同士の衝突を許可します。 | |
Smooth Sphere Collisions | チェックを入れると、コライダーの表面が滑らかになります。 (球体を転がす面などに使用する。) |
|
Meah | メッシュの形を選択できます。(図5参照)↓ |
予め用意されているMesh Collider の形状には、以下のものがあります。
図5:Mesh Collider の種類
※Mesh Collider にサイズの項目はありません。
Mesh Collider は適用されたゲームオブジェクトのTransform のプロパティから正確な位置とサイズを反映しているためです。
Physic Material
Physic Material (物理マテリアル)では、コライダーの物理特性について設定できます。
反発係数や摩擦について細かく設定することができるので、バネや地面の抵抗を表現したい場合に有効です。
プロパティの詳細などについては、また別の回で詳しく紹介します。
まとめ
前回から物理特性についてみてきました。
Unity上で物理法則を正しく再現するには、Collider コンポーネントや、Rigidbody コンポーネントを
オブジェクトのサイズや質量に基づいて、正しく設定する必要があります。
これは、物理エンジンの特性が現実世界をベースに考えてられているためです。
仮に、物理エンジンを使用せずに、オブジェクトの動きをスクリプトだけで制御するのであれば、この限りではありません。
しかし、せっかくUnity を使ってゲームを作るのであれば、物理特性をフルに活用したものを作るのが面白いのではないでしょうか。
実はCollider には、今回紹介した以外に、地形用のCollider やホイール用のCollider があります。
これらは使用するシーンが限られてきますので、また別の機会に紹介します。
最後までお読みいただきありがとうございます。
← Unityの記事一覧にもどる
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発