저번 포스트에서는 게임 오브젝트에 스크립트를 달고 부착된 게임 오브젝트의 컴포넌트를 가져오는 명령어인 GetComponent를 이용해서 게임 오브젝트를 움직였습니다. 만약에 스크립트가 자기가 부착이 된 게임 오브젝트가 아니라 다른 게임 오브젝트에 접근하려면 어떻게 해야 할까요?
이번에는 그 방법에 대해서 설명하겠습니다.
스크립트에서 외부의 게임 오브젝트 찾기
유니티에선 여러 가지 방법으로 게임 오브젝트를 찾을 수 있습니다. 그중 가장 쉬운 방법 두 가지를 오늘 보여드리도록 하겠습니다.
첫 번째 방법. 게임 오브젝트의 이름으로 찾기
Find함수를 사용해서 이름으로 게임 오브젝트를 찾아서 접근할 수 있습니다.MyTarget이라는 이름의 게임 오브젝트를 찾아서 힘을 가하는 코드
두 번째 방법. Tag로 찾기
Tag의 정의
오브젝트에 태그를 달아봅시다.
Step 1. 인스펙터 창의 Add Tag... 클릭Step 2. "원하는 태그명"을 저장한다.Step 3. 태그를 달고자하는 게임 오브젝트를 클릭 후 인스펙터 창의 내가 방금 Save한 태그를 클릭
태그를 달았으면 게임 오브젝트의 이름이 아닌 태그로도 찾을 수 있게 됩니다. 한번 태그로 게임 오브젝트에 접근해보겠습니다.
GameObject Class에 정의된 FindGameObjectWithTag 함수를 사용하면 태그로 게임 오브젝트를 찾을 수 있습니다.