Unreal Engine/기능 구현 / / 2025. 7. 4. 20:24

[Unreal Engine 5] 데미지 적용(On Take Any Damage)

반응형

언리얼 엔진에서 액터에 데미지를 적용하는 이벤트를 만들고 적용할 수 있다.

당연히 데미지를 입히고, 데미지를 입는 두 가지 기능이 모두 구현되어야 한다.

 

# 공격 객체

1. UGameplayStatics::ApplyDamage(피해 대상, 데미지량, 피해를 유발한 플레이어의 컨트롤러, 공격자, 데미지 타입)

 

 

# 피해 객체

2. *(AActor*).OnTakeAnyDamage.AddDynamic(this, 데미지 적용 함수 주소)

 

 

 

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

1. 피격 대상이 nullptr이 아니고

2. 피격 대상이 공격 대상인 나 자신이 아니고

3. 피격 대상이 나를 소유한 액터가 아니라면

피격된 대상은 내가 아니라고 할 수 있다.

 

또, 충돌이 발생한 후, 충돌을 일으킨 대상(발사체)을 제거해주어야 이벤트가 계속 호출되지 않고 한 번만 호출된다.

 

 

피격자는 체력 감소

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유