20230919_ Tag와 Layer

Minsang Kim·2023년 9월 19일
0

TIL

목록 보기
26/41

유니티에서 사용하는 게임 오브젝트를 분류하기 위해 Tag와 Layer를 사용한다. 하지만 나는 지금껏 두 개를 구분짓지 않고 무분별하게 Tag만 사용했다는 생각이 들어 이번 기회에 정리해보자.

Tag

게임 오브젝트를 식별하는 용도

OnCollision 이나 OnTrigger 메소드 사용시 오브젝트를 식별할 수 있다. 이때는 CompareTag를 이용하도록 하자.
하지만, 문자열 비교 방식을 너무 많이 이용한다면 Garbage Collector가 호출되기 때문에 성능적인 문제를 일으킬 수도 있다.

Layer

오브젝트들의 그룹을 만들고 관리하는 용도

기능을 ARABOZA

  1. 선택적 렌더링
    Main Camera - Culling Mask에서 특정 레이어만을 렌더링하도록 할 수 있다.

  2. 레이어 충돌 매트릭스
    Project Settings - Physics에서 서로 충돌할 수 있는 레이어를 정의할 수 있다. 불필요한 연산을 하지 않도록 할 수 있다는 장점이 있다.

  3. 레이캐스팅 충돌
    레이캐스팅이 뭐냐. 마치 레이저를 쏴서 오브젝트와의 충돌을 판단하는 것.
    RaycastHit2D hit = Physics2D.Raycast(transform.position, direction, 11f, (1 << LayerMask.NameToLayer("Level")) | layerMaskTarget);
    요런 느낌으로

세줄 요약

  • Layer : 그룹 관리 / Tag : 단일 오브젝트
  • 범위 : Tag < Layer
  • 리슬라임은 어떻게 만들어졌나...
profile
게임만 하다가 개발자로

0개의 댓글