UE5

[UE5] 콜리전 감지

wnstjd 2024. 6. 22. 22:37

콜리전 반응

콜리전이 충돌하였을 때 어떻게 반응할 것인지를 설명하는 것으로 세 가지 종류가 있다. 

  • Block : 서로가 파고들지 않게 않다. 
  • Overlap : 콜라이더끼리의 중복을 허용하면서 충돌을 감지한다. 
  • Ignore : 서로 무시한다. 

 

오브젝트 체널

공통된 특징을 가진 오브젝트들을 하나의 그룹을 묶는 것이다.

기본적으로 6개가 제공되며 추가적으로 설정할 수 있다.

콜라이더끼리의 충돌을 그룹 단위로 설정할 수 있다. 

  • WorldStatic : 스태틱 메시, 정적인 배경 등에 사용
  • Pawn : Pawn에 사용
  • Vehicle : Pawn의 탑승 기구에 사용
  • PhysicsBody : 물리 엔진에 제어를 맡긴 오브젝트에 사용
  • Destuctible : 물리 엔진의 기능으로 파괴되는 오브젝트에 사용
  • WorldDynamic : 움직이는 액터에 사용

 

트레이스 채널

오브젝트 채널을 기본적으로 오브젝트간의 콜라이더 충돌을 위한 채널이라고 하면 트레이스 채널은 트레이스를 위한 채널이다. 트레이스는 유니티의 Raycast와 같은 것이다. 

즉 언리얼은 유니티의 레이어 개념이 오브젝트 채널과 트레이스 채널로 나누어진 것이다.

기본적으로 2개의 채널이 제공되며 추가적으로 설정할 수 있다. 

  • Visibility : 배경 물체가 시각적으로 보이는지 탐지하는데 사용
  • Camera : 카메라와 목표물 사이애 장애물이 있는지 탐지하는데 사용

 

프리셋

하나의 오브젝트 채널에 대해서 어떤 오브젝트 채널, 트레이스 채널과 어떻게 충돌을 할 것인지를 정하는 오브젝트 채널에 대한 일종의 프로필이다.

CollisionEnabled : 

  • Query : 두 물체의 콜리전이 겹치는지 감지하는 데 사용되는 설정, 겹치는 경우 관련 컴포넌트에 BeginOverlap이벤트가 발생한다. 트레이스 기능에도 사용
  • Physics : 물리 시뮬레이션에 사용되는 설정
  • Query and Physics : 두 기능이 모두 사용되는 설정

Object Type : 설정된 오브젝트의 타입 

 

언리얼에서 충돌 반응은 두 물체의 콜리전 반응에 따라 정해진다. 

Block > Overlap > Ignore 순으로 충돌 반응이 정해지는데, 예를 들어 하나의 오브젝트는 Block이고 하나의 물체는 Overlap이라면 최종적인 충돌 반응은 Overlap으로 나타난다. 

 

Overlap반응에는 BeginOverlap 이벤트가 발생하고 Block반응에는 Hit이벤트가 발생한다.