Unity解説
オブジェクトの当たり判定の処理
Tagによるオブジェクトの判定
今回は、Tagというものを使って、接触したオブジェクト別の処理をできるようにしてみます。


こっちのオブジェクトに触れた時はこの処理、あっちのオブジェクトに触れた時はあの処理とか、それぞれ別の処理をさせるんだね。


はい、その通りです✨
まず、Tagとは、オブジェクトを判別するために割り当てることができるキーワードみたいなもので、オブジェクト一つに一つのTagをつけることができます。


【参考】
キャラクターとステージは事前に準備しているものを使います。キャラクターにはRigidbodyとCapsule Colliderを適用しておきます。


☑キャラクターとステージを事前に準備

接触をした時のそれぞれの動きを見るために、Sphereを二つ作成します。名前はそれぞれ「Sphere1」、「Sphere2」としました。


☑Sphereを二つ作成

それではタグを作ります。何でも良いのでオブジェクトを選択した状態で、Inspectorの「Tag」欄から「Add Tag...」をクリックします。


☑「Add Tag...」を選択

続いて表示される画面の「+」を押して、タグの名前として「Obj001」と入力し、「Save」をクリックします。



「Tag」欄に「Obj001」が選べるようになりますので、「Sphere1」の「Tag」欄で「Obj001」を選択します。



これでタグ「Obj001」が適用されるので、同じように「Obj002」も作成して、「Sphere2」に適用します。




また、当たり判定には「OnTriggerEnter 」関数を使用しますので、それぞれのSphereの「Is Trigger」のチェックを入れておきます。


☑ 「Is Trigger」にチェック

コードは下のようになります。


using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjTag : MonoBehaviour { void OnTriggerEnter(Collider other) { if(other.CompareTag("Obj001")) { Debug.Log("Sphere1にあたった"); } if(other.CompareTag("Obj002")) { Debug.Log("Sphere2にあたった"); } } }
【参考】
では、このスクリプトを操作するキャラクターにアタッチし、ゲームを実行して動きを見てみましょう。



Sphere1にあたると「Sphere1にあたった」になって、Sphere2にあたると「Sphere2にあたった」 になってるね💨


ええ✨
このように、あたるオブジェクトによって、それぞれ別の処理を行うことができます。


これを応用すれば、いろんなバターンのイベントを作っていけそうですね✨


お名前