반응형
언리얼 엔진에서 액터에 데미지를 적용하는 이벤트를 만들고 적용할 수 있다.
당연히 데미지를 입히고, 데미지를 입는 두 가지 기능이 모두 구현되어야 한다.
# 공격 객체
1. UGameplayStatics::ApplyDamage(피해 대상, 데미지량, 피해를 유발한 플레이어의 컨트롤러, 공격자, 데미지 타입)


# 피해 객체
2. *(AActor*).OnTakeAnyDamage.AddDynamic(this, 데미지 적용 함수 주소)


대상이 충돌 시점에 ApplyDamage 함수를 호출

1. 피격 대상이 nullptr이 아니고
2. 피격 대상이 공격 대상인 나 자신이 아니고
3. 피격 대상이 나를 소유한 액터가 아니라면
피격된 대상은 내가 아니라고 할 수 있다.
또, 충돌이 발생한 후, 충돌을 일으킨 대상(발사체)을 제거해주어야 이벤트가 계속 호출되지 않고 한 번만 호출된다.
피격자는 체력 감소


반응형
'Unreal Engine > 기능 구현' 카테고리의 다른 글
| [Unreal Engine 5] Destroy (0) | 2025.07.04 |
|---|---|
| [Unreal Engine 5] 나를 스폰한 대상 찾기 (0) | 2025.07.04 |
| [Unreal Engine 5] Hit Event와 델리게이트(Delegate) (0) | 2025.07.04 |
| [Unreal Engine 5] Projectile Movement Component (0) | 2025.07.04 |
| [Unreal Engine 5] Timer (0) | 2025.06.30 |
