언리얼의 기본적인 충돌 판정으로는 3가지로 분류되어 있다.

- LineTrace
- 지정한 방향으로 선을 투사해 이 선이 어떤 물체와 충돌되는지를 감지하는 방법
- Sweep
- LineTrace와는 다르게 선이 아니고 어떤 도형을 지정한 방향으로 투사해서 이 도형과 어떤 물체가
충돌 되는지를 감지하는 법
- Overlap
- 이것은 투사하는 것이 아니고 지정한 영역에 큰 범위의 도형을 설정해서 해당 영역과 물체가 충돌 되는지를
감지하는 방법
이러한 충돌 판정 기능을 구현하기 위해서는 언리얼 엔진이 제공하고 있는 기본적인 물리 설정에 별도로
프로젝트 상황에 맞춰 채널이라던지 프로필을 생성해야한다.
이렇게 채널이나 프로필을 만드는 이유는 간단하다.
충돌 규칙을 한곳에 정의하고 재사용하기 위해서이다.
언리얼의 충돌은 “누가(객체 채널) 무엇을(트레이스/다른 객체) 어떻게(차단/오버랩/무시) 대할 것인가”의 조합인데, 이걸 매 액터· 컴포넌트마다 개별 설정하면 관리가 지옥이 됩니다.
그래서 해당 규칙을 미리 정의하고 사용하기 위해 채널과 프로필을 만든다.

다음 사진을 보면 Default Response로 3가지가 있는데.
Ignore : 충돌 검사 자체를 하지 않음.
(사용 예시 : 플레이어가 자신과 충돌하지 않아야 할 경우 , 무기 트레이스가 플레이어의 콜리전을 무시하도록 할 때)
Overlap : 충돌은 감지하지만, 물리적으로 막지 않는다.
즉, 서로 겹칠 수 있고 OnOverlapBegin, OnOverLapEnd 같은 이벤트만 발생
(사용 예시 : 플레이어의 공격 판정 콜리전 (히트박스) , 적의 감지 범위, 상호작용 영역, 아이템 획득 구역등)
Block : 충돌이 발생하며 이동 및 트레이스가 멈춤
(사용 예시 : 벽같은 실제 물리적으로 이동 경로로 막혀야 하는 오브젝트들에 주로 사용된다.)
⚙️ 정리표
| 옵션 | 의미 | 물리 충돌 | 오버랩 이벤트 | 트레이스 결과 | 사용 예시 |
| Block | 완전 충돌 | ✅ | ❌ | ✅ | 벽, 바닥, 장애물 |
| Overlap | 감지만 함 | ❌ | ✅ | ✅ | 트리거, 공격 판정 |
| Ignore | 무시 | ❌ | ❌ | ❌ | 장식물, 자기 자신 |
Object Channel 과 Trace Channel의 의미
Object Channel은 "나는 어떤 종류의 물체인가?" 를 정의하는
즉, 객체가 자기 자신을 정의하는 채널이라고 생각하면 된다.
각 콜리전 컴포넌트가 자신을 구분하기 위해 사용하며
" 이 컴포넌트는 월드 오브젝트인가?, 캐릭터인가?, 공격 판정인가?" 같은 정체성을 나타낸다.
다른 객체나 트레이스가 나를 검사할 때, "내가 어떤 채널이냐"를 기준으로 반응을 결정한다는 것.
📘 Trace Channel 예시
| 오브젝트 | Object Channel | 설명 |
| 플레이어 | Pawn | 캐릭터(조종 가능한 주체) |
| 벽, 바닥 | WorldStatic | 움직이지 않는 환경 |
| 움직이는 상자 | WorldDynamic | 물리적 이동 가능 오브젝트 |
| 총알 | Projectile | 움직이는 공격 판정 |
| 감지 트리거 | KZAction (사용자 정의) | 오버랩 전용 감지체 |
Trace Channel은 "나는 무엇을 감지(또는 무시) 하고 싶은가?" 를 사용하는 채널로
트레이스나 쿼리(Line Trace, Sweep, Overlap)이 사용하는 채널이다.
즉 "이 트레이스가 어떤 대상(Object Channel)을 잡을지"를 필터링 하는 기준이다.
📘 Trace Channel 예시
| 트레이스 이름 | Trace Channel | 설명 |
| 시야선 검사 | Visibility | 벽이 시야를 막는지 감지 |
| 카메라 충돌 | Camera | 카메라와 캐릭터 사이의 충돌 감지 |
| 공격 판정 | KZActionTrace (사용자 정의) | 공격 트레이스만 감지 |
LineTraceSingleByChannel(..., ECC_Visibility, ...)
→ 이때 ECC_Visibility는 트레이스 채널로, “Visibility 채널로 정의된 충돌을 잡겠다”는 의미입니다.
요약하자면,
- Object Channel: “나는 어떤 종류의 물체인가”
- Trace Channel : “나는 어떤 종류의 물체를 감지하고 싶은가” ( ignore, Overlap, Block)
- 충돌 반응(Response) : “이 트레이스가 이 오브젝트 타입을 만났을 때 어떻게 행동할까(Block / Overlap / Ignore)”를 정의한 것
'Unreal Project > Unreal Study' 카테고리의 다른 글
| Data_Asset 및 Quater View, Shoulder View 구현 (0) | 2026.02.26 |
|---|---|
| Animation 속도를 구간 별로 다르게 조절하는 방법 (0) | 2025.10.29 |
| Combo Attack 구현해보기 및 구조 정리하기 (0) | 2025.10.27 |
| Unreal Weapon Socket 다루기 (0) | 2025.10.27 |
| Character Movement Component에 대하여 알아보 (0) | 2025.10.22 |
