언리얼 엔진

[언리얼] 총알과 캐릭터 간의 피격 판정

Eu4ng 2022. 10. 14. 15:19

일반적으로 맵을 돌아다니거나 단순한 충돌 이벤트들은 캐릭터의 캡슐 컴포넌트에 의해 이루어진다.

 

그러나 총알이나 무기 등으로 인해 캐릭터에 데미지를 입힐 때, 이 역시 캡슐 컴포넌트로 충돌을 

파악한다면 피격 판정이 매우 이상해질 것이다. 

 

그렇기에 세밀한 충돌이 필요한 경우를 위해 충돌 채널을 분리할 필요가 있다

 

지금은 다음과 같은 방법을 사용한다

 

1. 총알 (SphereCollision)

- 콜리전 프리셋: IgnoreOnlyPawn

 

2. 캐릭터의 캡슐 컴포넌트 (CollisionCylinder Component)

- 콜리전 프리셋: Pawn

 

3. 캐릭터의 스켈레탈 메시 (SkeletalMesh Component)

- 콜리전 프리셋: WorldDynamic

 

총알은 Pawn을 제외한 모든 것, 즉 WorldDynamic과 충돌을 하게 되므로 캐릭터의 캡슐 컴포넌트로는 충돌이 일어나지 않고, 캐릭터의 스켈레탈 메시에는 충돌이 일어나게 된다.

 

추가로 이 경우에는 ApplyPointDamage를 통해 피격 부위 역시 bone 이름을 통해 정확히 파악할 수 있다