태그(Tag) 는 한 개 이상의 게임 오브젝트 에 할당할 수 있는 레퍼런스 단어입니다. 예를 들어, 플레이어가 조작하는 캐릭터에 “Player”를, 플레이어가 조작하지 않는 캐릭터에 “Enemy” 태그를 붙일 수 있습니다. 씬에서 플레이어가 모을 수 있는 아이템에 “Collectable” 태그를 붙일 수도 있습니다.
태그는 스크립팅 목적으로 게임 오브젝트를 식별할 때 도움을 줍니다. 게임 오브젝트를 수동으로 스크립트의 노출 프로퍼티에 드래그 앤 드롭으로 추구할 필요가 없게 해주므로 여러 게임 오브젝트에 같은 스크립트 코드를 사용할 때 시간이 절약됩니다.
태그는 콜라이더 조작 스크립트 트리거에 유용합니다. 예를 들어 플레이어가 적, 사물 또는 수집품과 상호 작용하는지 판단해야 합니다.
GameObject.FindWithTag() 함수를 사용해서 원하는 태그를 포함한 게임 오브젝트를 찾을 수 있습니다. 다음 예제는 “Respawn” 태그가 붙은 게임 오브젝트에서 GameObject.FindWithTag(). It instantiates respawnPrefab
을 사용한 것입니다.
using UnityEngine;
using System.Collections;
public class Example : MonoBehaviour {
public GameObject respawnPrefab;
public GameObject respawn;
void Start() {
if (respawn == null)
respawn = GameObject.FindWithTag("Respawn");
Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject;
}
}
인스펙터 창 은 게임 오브젝트 이름 아래에 Tag 및 Layer 드롭다운 메뉴를 표시합니다.
새로운 태그를 생성하려면 Add Tag… 를 선택해야 합니다. 인스펙터에서 태그 및 레이어 관리자가 열립니다. 태그의 이름을 한 번 지정하면 변경할 수 없습니다.
레이어는 태그와 유사하지만 Unity가 씬에서 게임오브젝트를 렌더링하는 방법을 정의하는 데에 사용됩니다. 자세한 정보는 레이어 페이지를 참조하십시오.
인스펙터 창 은 게임 오브젝트 이름 아래에 Tag 및 Layer 드롭다운 메뉴를 표시합니다. 게임 오브젝트에 태그를 적용하려면 Tags 드롭다운을 열고 원하는 태그를 선택하면 해당 게임 오브젝트에 태그가 적용됩니다.
하나의 게임 오브젝트에는 하나의 태그만 할당할 수 있습니다.
Unity에는 태그 관리자에 나타나지 않는 일부 내장 태그가 있습니다:
원하는 어떤 단어든지 태그로 사용할 수 있습니다. 짧은 구절을 사용할 수도 있지만 이럴 경우 이 태그의 전체 이름을 보려면 인스펙터 폭을 넓혀야 할 수도 있습니다.