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にあたった」 になってるね💨

ええ✨
このように、あたるオブジェクトによって、それぞれ別の処理を行うことができます。
これを応用すれば、いろんなバターンのイベントを作っていけそうですね✨
お名前

