일반적으로 맵을 돌아다니거나 단순한 충돌 이벤트들은 캐릭터의 캡슐 컴포넌트에 의해 이루어진다.
그러나 총알이나 무기 등으로 인해 캐릭터에 데미지를 입힐 때, 이 역시 캡슐 컴포넌트로 충돌을
파악한다면 피격 판정이 매우 이상해질 것이다.
그렇기에 세밀한 충돌이 필요한 경우를 위해 충돌 채널을 분리할 필요가 있다
지금은 다음과 같은 방법을 사용한다
1. 총알 (SphereCollision)
- 콜리전 프리셋: IgnoreOnlyPawn
2. 캐릭터의 캡슐 컴포넌트 (CollisionCylinder Component)
- 콜리전 프리셋: Pawn
3. 캐릭터의 스켈레탈 메시 (SkeletalMesh Component)
- 콜리전 프리셋: WorldDynamic
총알은 Pawn을 제외한 모든 것, 즉 WorldDynamic과 충돌을 하게 되므로 캐릭터의 캡슐 컴포넌트로는 충돌이 일어나지 않고, 캐릭터의 스켈레탈 메시에는 충돌이 일어나게 된다.
추가로 이 경우에는 ApplyPointDamage를 통해 피격 부위 역시 bone 이름을 통해 정확히 파악할 수 있다
'언리얼 엔진' 카테고리의 다른 글
[언리얼] 자신의 무기에 콜리전 발생하지 않게 하기 (0) | 2022.10.18 |
---|---|
[언리얼] 총알에 맞은 물체의 재질에 따라 파티클 이펙트 다르게 하기 (0) | 2022.10.15 |
[언리얼] 총알이 날아온 방향으로 피가 튀기게 하기 (0) | 2022.10.15 |
[언리얼] TPS 조준 (0) | 2022.10.15 |
[언리얼] 헤드샷 구현 (0) | 2022.10.14 |