콜라이더 충돌 검사 : Physics.Overlap vs NonAlloc

2024. 1. 5. 10:36·Unity/Tip
반응형

Unity의 Physics.Overlap[콜라이더이름] 메서드는 지정된 영역 내에서 콜라이더와 충돌하는 GameObject를 찾는 데 사용되는 메서드입니다. 이 메서드는 다음과 같은 두 가지 버전이 있습니다.

  • 일반 버전: 이 버전은 충돌하는 GameObject의 배열을 반환합니다.
  • NonAlloc 버전: 이 버전은 충돌하는 GameObject의 참조를 반환합니다.

OverlapSphere() VS OverlapSphereNonAlloc() 

  Physics.OverlapSphere() Physics.OverlapSphereNonAlloc()
메모리 사용량 새로운 배열을 할당하여 결과를 반환 기존 배열을 사용하여 결과를 반환
성능 메모리 할당 및 해제 과정이 추가되어 성능이 저하될 수 있음 메모리 할당 및 해제 과정이 없기 때문에 성능이 향상될 수 있음
사용법 새로운 배열을 생성하여 결과를 저장해야 함 기존 배열을 사용하여 결과를 저장할 수 있음

Physics.OverlapSphere() 메서드는 지정된 반경 내의 충돌하는 오브젝트의 목록을 반환합니다. 이 메서드는 결과를 저장하기 위해 새로운 배열을 할당합니다. 따라서 메모리 사용량이 증가하고 성능이 저하될 수 있습니다.

 

Physics.OverlapSphereNonAlloc() 메서드는 지정된 반경 내의 충돌하는 오브젝트의 목록을 반환합니다. 이 메서드는 결과를 저장하기 위해 기존 배열을 사용합니다. 따라서 메모리 사용량이 감소하고 성능이 향상될 수 있습니다.

 

다음은 두 메서드의 사용 예입니다.

// Physics.OverlapSphere() 메서드 사용 예
int numColliders = Physics.OverlapSphere(position, radius);
Collider[] colliders = new Collider[numColliders];
Physics.OverlapSphere(position, radius, colliders);

// Physics.OverlapSphereNonAlloc() 메서드 사용 예
Collider[] colliders = new Collider[10];
int numColliders = Physics.OverlapSphereNonAlloc(position, radius, colliders);

첫 번째 예에서는 Physics.OverlapSphere() 메서드를 사용하여 새로운 배열을 생성하고, 그 배열에 결과를 저장합니다. 두 번째 예에서는 Physics.OverlapSphereNonAlloc() 메서드를 사용하여 기존 배열을 사용하여 결과를 저장합니다.

 

일반적으로 Physics.OverlapSphereNonAlloc() 메서드를 사용하는 것이 더 효율적입니다. 하지만 기존에 할당된 배열이 없다면 Physics.OverlapSphere() 메서드를 사용해야 합니다.

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

'Unity > Tip' 카테고리의 다른 글

Unity 코드 문서화 : summary 태그 활용  (3) 2024.04.26
뷰포트 영역 안에 있는지 검사하는 방법  (1) 2024.03.21
유니티의 메타(meta) 파일은 무엇인가?  (1) 2023.12.22
AssetDatabase 클래스를 사용하여 스크립트에서 에셋 생성 및 수정  (0) 2023.12.21
Unity에서 패키지의 버전을 변경하는 방법  (0) 2023.12.17
'Unity/Tip' 카테고리의 다른 글
  • Unity 코드 문서화 : summary 태그 활용
  • 뷰포트 영역 안에 있는지 검사하는 방법
  • 유니티의 메타(meta) 파일은 무엇인가?
  • AssetDatabase 클래스를 사용하여 스크립트에서 에셋 생성 및 수정
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • 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 (5)
      • 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리뷰
    ipcamera
    라떼우유
    C#
    리뷰관리
    스크립트 실행
    programmerlife
    쇼핑몰리뷰
    스마트스토어리뷰
    programming101
    Python
    codingtips
    리뷰이관
    셀레니움
    cv2
    learntocode
    긴유통기한우유
    스크립트 실행 순서
    카페24리뷰이관
    unity
    상품 리뷰 크롤링
    devlife
    rtsp
    list
    유니티
    믈레코비타멸균우유
    codingcommunity
    파이썬
    리스트
    appdevelopment
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
콜라이더 충돌 검사 : Physics.Overlap vs NonAlloc
상단으로

티스토리툴바