[과거 블로그 글입니다]
1. GameObject.Find()
- GameObject의 Static 메소드.
- 인자 값으로 string 형태의 문자열이 들어간다.
사용법
GameObject.Find("Hero"); - > 해당 Scene 에서 Hero라는 이름을 가진 오브젝트를 찾는다.
GameObject.Find("/Hero"); -> 해당 Scene 의 최상위 Hierarchy에서 Hero 검색 후 반환
GameObject.Find("/Objects/game/Hero"); -> 해당 Scene에서 지정된 Hierarchy 까지 찾아가 Hero 검색 후 반환
2. Transform
Tranform.Find("Hero"); 자식 오브젝트 중에 Hero라는 이름을 가진 것을 찾는다. (부모는 검색할 수 없음)
3. Tag
ㄱ. 태그 지정
- Hierarchy 에서 태그를 지정할 오브젝트를 선택 후 Inspector 창에서 Tag를 클릭후 태그를 선택. 태그를 만들고 싶으면 Add Tag를 한다.
- 코드상에서의 지정은 GameObject 의 멤버 변수인 tag 에 String 형으로 태그를 넣어주면 된다.
ex) currentTransform.gameObject.tag = "TAG"; // Transfrom 형인 경우
obj.tag = "TAG"; // GameObject 형인 경우
ㄴ. 태그 찾기
- GameObject.FindGameObjectWithTag(검색할 태그) ; // 해당 태그를 가진 오브젝트를 가져옴 static 메소드
- GameObject.FindGameObjectsWithTag(검색할 태그); // 해당 태그를 가진 오브젝트들을 전부 가져옴
해당 GameObject 를 접근해서, 그 오브젝트의 컴포넌트들을 또 접근할 수 있다.
컴포넌트들의 값 변경도 당연히 가능하다.
Component 접근
GetComponent<가져올 컴포넌트 이름>(); 으로 가져올 수 있다.
GetComponents<가져올 컴포넌트 이름>(); 은 해당 이름의 컴포넌트 전부를 가져온다.
GetComponentInChildren<가져올 컴포넌트 이름>(); 해당 이름을 가진 컴포넌트를 '자식'에서 검색
GetComponentInsChildren<가져올 컴포넌트 이름>(); 해당 이름을 가진 컴포넌트들을 '자식'에서 검색