UnityUnityの使い方

【Unityの使い方】コライダーについて

Unity

はじめに

Unityでゲームを作るときには、オブジェクトがぶつかるかどうかを判定するために「コライダー」がとても重要です。この記事では、Unityのコライダーについて、初心者の方でも理解できるように簡単に説明します。

Colliderとは

コライダーとは、ゲームの世界でオブジェクトがどのように空間を占めるか、どのように他のオブジェクトと接触するかをUnityに教えるためのツールです。例えば、ボールが壁に当たって跳ね返る場合、ボールと壁にはそれぞれコライダーが設定されています。Colliderは様々な種類がありますが、基本的な考え方は同じです。

基本的なColliderの種類

Unityにはいくつかのコライダーがありますが、主に以下の三つが使われます。

  1. ボックスコライダー(Box Collider):
    • 四角い形をしたオブジェクトに使用します。
    • 本や箱など、角ばったオブジェクトに適しています。
  2. スフィアコライダー(Sphere Collider):
    • 球形のオブジェクトに使用します。
    • ボールや果物など、丸いオブジェクトに適しています。
  3. カプセルコライダー(Capsule Collider):
    • カプセル形のオブジェクトに使用します。
    • 人間のキャラクターや木の幹などによく使われます。

これらのColliderは、オブジェクトの形状に合わせて選択することで、リアルな物理演算を実現できます。

Colliderの設定方法

  1. Unityを開いて、プロジェクトを作成します。
  2. オブジェクトを選んで、インスペクターウィンドウに行きます。
    • オブジェクトを選ぶと、右側にたくさんの設定が出てくるウィンドウがあります。
  3. 「Add Component(コンポーネントを追加)」ボタンをクリックします。
    • このボタンは、オブジェクトに新しい機能や特性を追加するためのものです。
  4. 「Physics(物理)」カテゴリから「Box Collider」、「Sphere Collider」、「Capsule Collider」の中から選びます。
    • オブジェクトの形に合わせて、適切なコライダーを選んでください。
  5. コライダーをオブジェクトに合わせてサイズを調整します。
    • インスペクターウィンドウで、コライダーのサイズをオブジェクトにぴったり合うように変更できます。

BoxColider

ためしにPlaneとCubeを配置します。

CubeにRigidbodyを追加して少し上のほうに配置します。

再生するとCubeがPlaneに衝突して止まります。

Cubeのinspector画面を見るとBoxColiderというものがついています。

BoxColiderとはいわゆる当たり判定の事です。

Cubeをよく見ると緑色の線で囲われています。

この緑のラインで物などに衝突します。

EditColiderのボタンをクリックします。

するとBoxColiderの大きさを変えることができます。

試しに下のラインをキューブの大きさより小さく変更してみます。

再生するとキューブのコライダーの部分だけぶつかって下の部分は衝突せずにすり抜けてしまいます。

今度はコライダーの部分をキューブより大きくしてみます。

再生するとコライダーの部分が衝突するのでキューブは浮いた状態になります。

SphereColider

今度はSphereを配置してみます。

Cubeと同じようにRigidbodyを追加します。

inspector画面を見るとSphereColiderがついています。

BoxColiderとは違い球状の線が出ています。

再生すると球体の線で衝突することになります。

SphereColiderもEditColiderで大きさを変更することができます。

addComponentから自由にColiderを追加することもできます。

CubeにSphereColiderを付けたりSphereにBoxColiderを付けたりすることも可能です。

Coliderのは衝突するものと衝突されるもののどちらかにRigidbodyがついていないと機能しません。

まとめ

コライダーはUnityでゲームを作るときにとても大事な役割を持っています。この記事がUnityでのゲーム制作の一助となり、オブジェクトがどのように動くか、どのように他のオブジェクトとぶつかるかの理解が深まることを願っています。ぜひ、色々なコライダーを試して、自分のゲームを楽しく、魅力的なものにしてくださいね。