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」にチェック

 

 

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

 

 

【ObjTag.cs】

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

 

 

ええ✨

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

 

 

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

 

 

 

 

 

 

 

 

お名前


削除キー(必須)

コメント(必須)


サイト内検索

twiter

CONTENTS

 

 

 

くるくるサンプルコード

 

 

 

【↓広告↓】