MRが楽しい

MRやVRについて学習したことを書き残す

Unityでオブジェクトにタグをつける

本日は Unity の小ネタ枠です。
Unityでオブジェクトにタグをつける方法についてです。

Unityのタグ

タグはプロジェクトのオブジェクトを識別するために使用します。
プロジェクトごとに識別用のタグを追加することができます。
docs.unity3d.com

タグの作成方法

オブジェクトを選択して Inspector ビューの[Tag]からプルダウンを開き、[Add Tag..]を選択します。

Inspector ビューに Tags & Layers の設定画面が開きます。
新しいタグを追加する場合は Tags の[+]ボタンをクリックします。

タグ名を入力して[Save]で新しいタグを追加します。

これでタグが作成できました。

因みに Tags & Layers の設定はプロジェクト設定として保持されています。
メニューから[Edit -> Project Settings]を開き、[Tags & Layers]タブから設定を確認・変更することもできます。

タグを設定する

オブジェクトにタグを設定する場合、オブジェクトを選択して Inspector ビューの[Tag]からタグを選択します。

タグをスクリプトから利用する

設定したタグはオブジェクトの検索やタグの種類チェックで利用できます。
例えば、FindGameObjectsWithTag 関数を利用するとシーン内で同名のタグが設定されたオブジェクトのリストを取得します。
docs.unity3d.com

using UnityEngine;

public class TagTest : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        // 指定のタグ名のオブジェクトのリストを取得する
        GameObject[] objectList = GameObject.FindGameObjectsWithTag("CheckTag");
        foreach (GameObject targetObject in objectList)
        {
            // 取得したオブジェクトのオブジェクト名をログ表示する
            Debug.Log($"Name : {targetObject.name}");
        }
    }
}