Unity에서 게임오브젝트를 찾는 방법 1

2023. 9. 25. 11:38·Unity
반응형

Unity에서 게임오브젝트를 찾는 방법은 여러 가지가 있습니다. 이 글에서는 GameObject.Find, GameObject.FindWithTag, GameObject.FindGameObjectWithTag 세 가지 메서드를 중심으로 설명하겠습니다. 이들 메서드는 오브젝트의 이름이나 태그를 기반으로 원하는 게임오브젝트를 검색하는 데 사용됩니다.

GameObject.Find 

이름을 통해 게임오브젝트를 찾아 반환합니다.

GameObject player = GameObject.Find("Player");


GameObject.FindWithTag

지정된 태그를 가진 게임오브젝트를 찾아 반환합니다.

GameObject enemy = GameObject.FindWithTag("Enemy");


GameObject.FindGameObjectWithTag

지정된 태그와 이름을 가진 게임오브젝트를 찾아 반환합니다.

GameObject enemy = GameObject.FindGameObjectWithTag("Enemy");

 

주의사항 및 팁:

  • 성능 이슈: Find와 같은 메서드들은 리플렉션을 사용하여 객체를 검색하기 때문에, 런타임 중에 빈번히 사용될 경우 성능에 영향을 줄 수 있습니다. 특히 큰 씬에서는 이러한 메서드의 사용을 최소화하는 것이 좋습니다.
  • 미리 참조: 가능한 한 에디터에서 미리 참조를 연결하여 Find 메서드의 사용을 피하도록 합니다.
  • 태그와 레이어 사용: 적절한 태그와 레이어를 설정하면 원하는 객체를 빠르게 찾을 수 있습니다. 그러나 태그와 레이어의 수는 제한적이므로 신중하게 사용하는 것이 중요합니다.
  • 캐싱: 위 메서드들은 런타음 중에 자주 호출되면 성능 저하를 가져올 수 있기 때문에, 한 번 찾은 게임오브젝트나 컴포넌트는 변수에 저장하여 재사용합니다. 이로써 불필요한 검색을 줄이고 성능을 개선할 수 있습니다.
  • Find 메서드는 오브젝트의 이름을 정확하게 알아야 합니다. 만약 이름이 바뀌게 되면 해당 메서드는 원하는 오브젝트를 찾을 수 없게 됩니다.
  • 비활성화된 오브젝트 : ActiveSelf = false인 오브젝트는 위 메서드들로 해당 오브젝트를 찾을 수 없습니다.
  • 가급적이면 사용하지 않는것이 좋습니다. 필자는 튜토리얼에서 하이라이팅할 오브젝트들이 동적 생성이 되어 개발 속도를 위해 사용하였음.

 

결론:
Unity에서 게임오브젝트를 효율적으로 검색하기 위해 Find, FindWithTag, FindGameObjectWithTag 메서드를 사용할 수 있습니다. 각 메서드의 특성과 사용 방법을 이해하고, 필요한 상황에 맞게 적절히 활용해보세요!

저작자표시 비영리 변경금지 (새창열림)

'Unity' 카테고리의 다른 글

리지드바디(Rigidbody)와 캐릭터컨트롤러(CharacterController)의 차이와 장단점 비교  (0) 2023.10.10
Unity에서 게임오브젝트를 찾는 방법 2  (0) 2023.09.26
UnityEditor에서의 Reset과 OnValidate  (0) 2023.09.22
스크립트를 통해 게임 오브젝트에 컴포넌트 추가하기  (1) 2023.09.21
Setting : Resolution and Presentation  (0) 2023.09.20
'Unity' 카테고리의 다른 글
  • 리지드바디(Rigidbody)와 캐릭터컨트롤러(CharacterController)의 차이와 장단점 비교
  • Unity에서 게임오브젝트를 찾는 방법 2
  • UnityEditor에서의 Reset과 OnValidate
  • 스크립트를 통해 게임 오브젝트에 컴포넌트 추가하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (603) N
      • 상품 추천 (111) N
      • MongoDB (4)
      • 하드웨어 (9)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (12)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    rtsp
    codingcommunity
    programming101
    Python
    devlife
    유니티
    쇼핑몰리뷰
    라떼우유
    상품 리뷰 크롤링
    믈레코비타멸균우유
    unity
    learntocode
    리스트
    스크립트 실행
    스마트스토어리뷰
    리뷰관리
    카페24리뷰이관
    list
    C#
    cv2
    ipcamera
    카페24리뷰
    codingtips
    파이썬
    셀레니움
    긴유통기한우유
    programmerlife
    스크립트 실행 순서
    리뷰이관
    appdevelopment
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Unity에서 게임오브젝트를 찾는 방법 1
상단으로

티스토리툴바