1. 개요
오늘은 물체 충돌을 처리하는
콜리전에 대해 살펴본다.
2. 충돌 판정
캐릭터가 특정 물체와 부딪혔는지 판정하는 방법은
월드가 제공하는 충돌 판정 서비스를 사용하여 감지할 수 있다.
월드는 크게 3가지의 충돌 판정 서비스를 제공한다.
- LineTrace
- Sweep
- Overlap
2.1 LineTrace

- 선을 투사하여 어떤 충돌체와 충돌하였는지 감지한다.
2.2 Sweep

- LineTrace와 유사하며 선이 아닌 도형을 투사하여 어떤 충돌체와 충돌하였는지 감지한다.
2.3 Overlap

- 투사가 아닌 도형을 배치하여 외부 충돌체와 충돌하였는지 감지한다.
3. 충돌 시 이벤트 발생
플레이어가 움직이면서 월드의 다른 액터와 충돌한 시점에
3가지 상황이 발생할 수 있다.
- 무시 / 이벤트 없음(Ignore)
- 겹침 이벤트 발생 (Overlap)
- 히트 이벤트 발생 (Hit)
3.1 무시 (Ignore)

- 두 액터가 시각적으로는 충돌하였지만 아무런 이벤트가 발생하지 않는 상황이다.
3.2 겹침 (Overlap)

- 두 액터가 충돌하였고 Overlap 이벤트가 발생하는 상황이다.
3.3 히트 (Hit)

- 두 액터가 충돌하였고 Hit이벤트가 발생하였으며 물리적 반응(블럭)으로 인해 관통하지 못하는 모습이다.
4. 콜리전 프로퍼티
위 3가지 상황은 액터가 소유한 프리미티브 컴포넌트(스태틱 메시, 박스 컴포넌트 등)의
콜리전 프로퍼티에 따라 개발자의 의도대로 설정할 수 있다.

4.1 콜리전 활성화 (Collision Enabled)
콜리전 활성화는 4가지 상태를 지원한다.
- NoCollision
- Query Only
- Physics Only
- CollisionEnabled
4.1.1 NoCollision (콜리전 없음)
물리 엔진에 어떠한 영향도 주지 않는다.
콜리전 볼륨이 설정되어 있으나 충돌 감지 비용을 줄일 때 설정한다.
4.1.2 QueryOnly (쿼리 전용)
위에서 살펴본 공간 쿼리(레이캐스트, 스윕, 오버렙)에서 감지 대상이 된다.
추가적으로 시뮬레이션(리지드 바디, 컨스트레인트)에서는 감지되지 않는다.
4.1.3 Phyics Only (시뮬레이션 전용)
시뮬레이션에서 감지 대상이 된다.
공간 쿼리에서는 감지되지 않는다.
4.1.4 CollisionEnabled (콜리전 활성화됨)
시뮬레이션과 공간 쿼리에 감지된다.
4.2 오브젝트 타입 (Obecjt Type)
4.2.1 월드 스태틱(WorldStatic)
스태틱 메시 액터가 해당된다.
4.2.2 월드 다이내믹 (WorldDynamic)
키네마틱 오브젝트를 말한다.
키네마틱 오브젝트는 물리 엔진의 힘(중력, 충돌 반응 등)에 의해 자동으로 움직이지 않고
코드 또는 애니메이션을 통해 직접 이동하는 오브젝트를 의미한다.
즉, 물리 엔진이 직접 제어하진 않지만 움직일 수 있는 오브젝트이다.
예시로 열고 닫히는 문, 위 아래로 움직이는 리프트를 구현한 액터를 말한다.
4.2.3 폰 (Pawn)
폰 클래스를 상속받은 액터가 해당된다.
4.2.4 피직스 바디
물리 엔진의 힘[중력, 힘(Force), 충격(Impulse) 등]으로 인해 움직이는 모든 액터이다.
4.3 콜리전 반응 (Collision Responses)
두 물체가 충돌이 발생하고
대상 충돌체의 오브젝트 타입(Object Type)이 설정한 것과 일치할 때 어떻게 반응할 지 설정한다.
4.3.1 무시 (Ignore)
충돌한 대상을 무시한다.
4.3.2 오버랩 (Overlap)
충돌한 대상에 오버렙 이벤트를 발생시킨다.
Overlap과 block 반응을 설정할 경우 오버렙 이벤트가 발생한다.
4.3.3 블록 (Block)
충돌한 대상에 히트 이벤트를 발생시킨다.
참고
언리얼 엔진의 콜리전 | 언리얼 엔진 5.5 문서 | Epic Developer Community
언리얼 엔진의 콜리전 반응 레퍼런스 | 언리얼 엔진 5.5 문서 | Epic Developer Community
'Unrael > Basic' 카테고리의 다른 글
| [UE/Basic] 게임 콘텐츠 구조 (0) | 2025.02.10 |
|---|---|
| [UE/Basic] 데이터 테이블 (0) | 2025.02.07 |
| [UE/Basic] 캐릭터 회전 (Charctor Rotation) (0) | 2025.02.03 |
| [UE/Basic] 입력 트리거 (0) | 2025.01.27 |
| [UE/Basic] 자료구조 - TSet (0) | 2025.01.24 |