전체 검색 (GameObject)
- 하이어라키 상의 모든 Object를 검색하기 때문에 속도가 느림 (Update에서 사용 x)
- 한번만 사용하는 용도로 Start, Awake에서 사용
- 비활성화 된 Object는 찾을 수 없음
Find
GameObject 이름으로 검색
public GameManager gameManager;
void Start()
{
gameManager = GameObject.Find("GamaManager").GetComponent<GameManager>();
}
FindWithTag
- GameObject Tag로 검색
- FindGameObjectWithTag와 동일한 기능
- 가급적 Find 보다는 FindWithTag 사용
public Transform Player { get; private set; }
private void Awake()
{
Player = GameObject.FindWithTag("Player").transform;
}
자식 검색 (transform)
- 비활성화 된 Object도 찾을 수 있음
- / 로 손자, 증손자 등 경로 지정 가능
Find
GameObject 이름으로 검색
public GameManager gameManager;
void Start()
{
// 자식
gameManager = transform.Find("GamaManager").GetComponent<GameManager>();
// 경로 지정 (손자)
gameManager = transform.Find("Player/GamaManager").GetComponent<GameManager>();
// 경로 지정 (증손자)
gameManager = transform.Find("Player/Manager/GamaManager").GetComponent<GameManager>();
}
GetChild
자식의 순서로 검색
public GameManager gameManager;
void Start()
{
// 자식 첫 번째
gameManager = transform.GetChild(0).GetComponent<GameManager>();
}
'유니티' 카테고리의 다른 글
Rect Transform (앵커, 피봇) (0) | 2023.12.13 |
---|---|
애니메이션 이벤트 (0) | 2023.12.13 |
Object Pool (0) | 2023.12.08 |
싱글톤 (1) | 2023.12.08 |
캐릭터 스텟 만들기 (ScriptableObject) (0) | 2023.12.08 |