GameObject.Find()는 찾고자 하는 게임 오브젝트의 이름으로 씬 내의 오브젝트들을 검색합니다. 만약 씬 내에 같은 이름의 오브젝트가 여럿 존재한다면 먼저 검색된 오브젝트를 반환하고, 해당 이름의 오브젝트가 없다면 null을 반환합니다.
간단한 예제를 통해 알아보도록 하겠습니다.
위 이미지의 Cube 오브젝트를 찾아서 가져옵시다.
TestSample 스크립트에 추가한 GameObject 타입의 변수 cube가 비어있는 상태입니다.
스크립트에 위 코드를 작성해준 뒤 플레이하면!!
Cube 오브젝트가 cube변수에 할당된 것을 볼 수가 있습니다. 더불어 GameObject.Find를 통해 찾은 오브젝트의 컴포넌트를 가져올 수도 있습니다. GetComponent를 함께 활용하시면 됩니다.
https://play.google.com/store/apps/details?id=com.goldenegg
예를 들어 Cube에 포함되어 있는 BoxCollider 컴포넌트를 가져온다면
코드를 작성하고,
플레이하면!!
Cube 오브젝트에 포함되어 있는 BoxCollider 컴포넌트가 할당되어 있는 걸 보실 수가 있습니다.
다만 GameObject.Find()와 GetComponent는 씬내의 모든 오브젝트나 그리고 오브젝트의 모든 컴포넌트를 검색하기에 성능상 주의를 기울여야 합니다. 실시간으로 반복해서 사용하지 않도록 처음 시작시 한번만 사용하거나 또는 꼭 필요할 때만 사용하셔야 합니다. 사용상 경험이 좀 필요할 수 있습니다.
'Unity 유니티' 카테고리의 다른 글
Unity 자동 완성이 안된다면?? 유니티 비주얼 스튜디오 연동 (0) | 2023.08.15 |
---|---|
유니티 Unity2d Sprite Missing 오류 (0) | 2023.08.08 |
Unity 유니티 엔진 렌더 파이프 라인 Render Pipeline의 종류 (0) | 2023.07.28 |
유니티 Unity GetComponent 컴포넌트 찾는 함수 (0) | 2023.07.26 |
unity 회전, Euler와 Quaternion (1) | 2022.09.19 |
댓글