콜리전 필터링
특정 오브젝트가 다른 오브젝트와 충돌할지 여부를 제어하는 시스템
플레이어 총알은 적만 맞고 트리거는 플레이어만 감지하는 등의 설정을 가능하게 함
Collision Channel
오브젝트를 분류하는 카테고리
Object Channel
- WorldStatic (벽, 바닥)
- WorldDynamic (움직이는 오브젝트)
- Pawn (캐릭터)
- PhysicsBody (물리 오브젝트)
- Vehicle (차량)
- Destructible (파괴 가능 오브젝트)
Trace Channel
- Visibility (시야 체크용)
- Camera (카메라 충돌용)
커스텀 채널: Project Settings → Collision에서 추가 가능 (PlayerProjectile, EnemyProjectile 등)
Object Type
내 오브젝트가 어떤 채널에 속하는가를 정의
각 컴포넌트는 하나의 Object Type만 가짐
Collision Response
다른 채널에 대해 어떻게 반응할 것인가를 정의
- Ignore: 완전히 무시, 통과, 이벤트 없음
- Overlap: 겹침 감지, 통과, OnBeginOverlap/OnEndOverlap 발생
- Block: 충돌하여 막힘, OnHit 발생
Collision Preset
자주 사용하는 설정을 템플릿으로 저장
주요 프리셋:
- NoCollision: 모든 채널 Ignore
- BlockAll: 모든 채널 Block
- OverlapAll: 모든 채널 Overlap
- OverlapOnlyPawn: Pawn만 Overlap, 나머지 Ignore
- Pawn: 캐릭터용 기본 설정
- PhysicsActor: 물리 오브젝트용
- Trigger: 트리거 영역용 (Pawn만 Overlap)
Project Settings → Collision에서 커스텀 프리셋을 만들 수 있음
Collision Enabled
충돌 기능을 어떻게 사용할지 결정
- No Collision: 모든 충돌 비활성화
- Query Only: Overlap/Trace만 가능, 물리 시뮬레이션 불가
- Physics Only: 물리 시뮬레이션만 가능, Overlap/Trace 불가
- Query and Physics: 모든 기능 활성화
Object Channel vs Trace Channel
Object Channel:
- 오브젝트의 타입을 정의
- Object Type으로 사용 가능
- Pawn, Vehicle, PhysicsBody 등
Trace Channel:
- Line Trace 전용 채널
- Object Type으로 사용 불가
- Visibility, Camera 등
Collision Response
| Response | 통과 여부 | 이벤트 | 사용 예시 |
|---|
| Ignore | 통과 | 없음 | 유령 모드, 아군 총알 |
| Overlap | 통과 | OnBeginOverlap | 트리거, 아이템 픽업 |
| Block | 막힘 | OnHit | 벽 충돌, 적 피격 |
Collision Enabled
| 옵션 | Query (Overlap/Trace) | Physics (물리) | 주요 용도 |
|---|
| No Collision | X | X | 장식 메시 |
| Query Only | O | X | 트리거 영역 |
| Physics Only | X | O | 물리 소품 |
| Query and Physics | O | O | 일반 게임 오브젝트 |