진우의 혼잣말하는 블로그

유니티 Collider - Physics Setting Layer Override

by VR하는소년

Box Collider 예시

VR 프로젝트를 하다 보면 가끔 특정 객체에만 콜라이더 충돌 무시를 하고 싶은 경우가 있다.

이때 Collider 컴포넌트의 Layer Override 기능을 이용하면 된다.

 

1. Layer Override Priority

  • 같은 오브젝트에 콜라이더가 여러 개 있을 때, 어느 콜라이더의 Override가 우선 적용될지 정하는 우선순위 숫자.
  • 숫자가 클수록 우선순위가 높다고 보면 편하다.

2. Include Layers

  • 여기서 지정한 레이어와는 무조건 물리 상호작용을 하려고 한다는 의미.
  • 원래 Layer Collision Matrix에서 충돌 안 하게 돼 있어도, 이 콜라이더는 예외적으로 충돌을 허용할 수 있다.

예)

  • Player 레이어, Enemy 레이어는 보통 충돌하게 해놨는데 이 콜라이더만 EnemyProjectile 레이어랑도 꼭 부딪히게 하고 싶다 → Include Layers에 EnemyProjectile 추가.

3. Exclude Layers

  • 반대로, 여기 지정한 레이어와는 이 콜라이더만 충돌하지 않게 만든다.
  • Matrix에서는 충돌 허용인데도, 이 콜라이더는 예외적으로 무시.

예)

  • 오브젝트 전체는 Default랑 다 부딪히는데
  • 손에 잡히는 부분 콜라이더는 PlayerBody 레이어를 통과시키고 싶다 → 그 콜라이더의 Exclude Layers에 PlayerBody 넣기.

블로그의 정보

진우의 혼잣말하는 블로그

VR하는소년

활동하기