언리얼 엔진
[언리얼] 총알과 캐릭터 간의 피격 판정
Eu4ng
2022. 10. 14. 15:19
일반적으로 맵을 돌아다니거나 단순한 충돌 이벤트들은 캐릭터의 캡슐 컴포넌트에 의해 이루어진다.
그러나 총알이나 무기 등으로 인해 캐릭터에 데미지를 입힐 때, 이 역시 캡슐 컴포넌트로 충돌을
파악한다면 피격 판정이 매우 이상해질 것이다.
그렇기에 세밀한 충돌이 필요한 경우를 위해 충돌 채널을 분리할 필요가 있다
지금은 다음과 같은 방법을 사용한다
1. 총알 (SphereCollision)
- 콜리전 프리셋: IgnoreOnlyPawn
2. 캐릭터의 캡슐 컴포넌트 (CollisionCylinder Component)
- 콜리전 프리셋: Pawn
3. 캐릭터의 스켈레탈 메시 (SkeletalMesh Component)
- 콜리전 프리셋: WorldDynamic
총알은 Pawn을 제외한 모든 것, 즉 WorldDynamic과 충돌을 하게 되므로 캐릭터의 캡슐 컴포넌트로는 충돌이 일어나지 않고, 캐릭터의 스켈레탈 메시에는 충돌이 일어나게 된다.
추가로 이 경우에는 ApplyPointDamage를 통해 피격 부위 역시 bone 이름을 통해 정확히 파악할 수 있다