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
  • 스크립트를 통해 게임 오브젝트에 컴포넌트 추가하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바