게임 오브젝트 비활성화(Deactivating GameObjects)
정적 게임 오브젝트(Static GameObjects)

태그(Tags)

Tag 는 한 개 이상의 GameObjects 를 할당할 수 있는 레퍼런스 단어입니다. 예를 들어, 플레이어가 조작하는 캐릭터에 “Player”를, 플레이어가 조작하지 않는 캐릭터에 “Enemy” 태그를 붙일 수 있습니다. 씬에서 플레이어가 모을 수 있는 아이템에 “Collectable” 태그를 붙일 수도 있습니다.

태그는 스크립팅 목적으로 게임 오브젝트를 식별할 때 도움을 줍니다. 게임 오브젝트를 수동으로 스크립트의 노출 프로퍼티에 드래그 앤 드롭으로 추구할 필요가 없게 해주므로 여러 게임 오브젝트에 같은 스크립트 코드를 사용할 때 시간이 절약됩니다.

태그는 콜라이더 조작 스크립트 트리거에 유용합니다. 예를 들어 플레이어가 적, 사물 또는 수집품과 상호 작용하는지 판단해야 합니다.

GameObject.FindWithTag() 함수를 사용해서 원하는 태그를 포함한 게임 오브젝트를 찾을 수 있습니다. 다음 예제는 “Respawn” 태그가 붙은 게임 오브젝트에서 GameObject.FindWithTag(). It instantiates respawnPrefab을 사용한 것입니다.

JavaScript:

var respawnPrefab : GameObject;
var respawn = GameObject.FindWithTag ("Respawn");
Instantiate (respawnPrefab, respawn.position, respawn.rotation);

C#:

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) 생성

Inspector 는 게임 오브젝트 이름 아래에 TagLayer 드롭다운 메뉴를 표시합니다.

새로운 태그를 생성하려면 Add Tag… 를 선택해야 합니다. 인스펙터에서 태그 및 레이어 관리자가 열립니다. 태그의 이름을 한 번 지정하면 변경할 수 없습니다.

레이어는 태그와 유사하지만 Unity가 씬에서 게임오브젝트를 렌더링하는 방법을 정의하는 데에 사용됩니다. 자세한 정보는 레이어 페이지를 참조하십시오.

태그(Tag) 적용

Inspector 는 게임 오브젝트 이름 아래에 TagLayer 드롭다운 메뉴를 표시합니다. 게임 오브젝트에 태그를 적용하려면 Tags 드롭다운을 열고 원하는 태그를 선택하면 해당 게임 오브젝트에 태그가 적용됩니다.

힌트

  • 하나의 게임 오브젝트에는 하나의 태그만 할당할 수 있습니다.

  • Unity에는 태그 관리자에 나타나지 않는 일부 내장 태그가 있습니다:

    • Untagged
    • Respawn
    • Finish
    • EditorOnly
    • MainCamera
    • Player
    • GameController
  • 원하는 어떤 단어든지 태그로 사용할 수 있습니다. 짧은 구절을 사용할 수도 있지만 이럴 경우 이 태그의 전체 이름을 보려면 인스펙터 폭을 넓혀야 할 수도 있습니다.

게임 오브젝트 비활성화(Deactivating GameObjects)
정적 게임 오브젝트(Static GameObjects)