본문 바로가기
공부/Unreal Engine 5

[언리얼5] 범위공격(feat. 로켓런처)

by MY블로그 2024. 3. 20.

멀티플레이 슈팅 게임 프로젝트를 만들며 단순한 사격뿐만아닌 수류탄, 로켓런처등 넓은 범위를 공격하기위한 무기를 만들며 방사선상 공격에 대하여 정리.

 

일반적인 공격에 대해서는 OnTakeAnyDamage 에 피격시 이벤트를 바인딩하여 사용.

좌 : 커스텀 클래스 / 우 : Actor 클래스
커스텀 클래스에서 피격시 이벤트

이때 데미지를 주는 액터에서 충돌시 원형범위(Radial)에 있는 다른 액터들에게 범위에따라 다른 데미지를 전달할 수 있는 함수를 사용 할 수 있다.

UGameplayStatics::ApplyRadialDamageWithFalloff 를 사용.

이때 매개변수는 적당히 설정 해주는데 만일 범위공격이 특정 액터에게 피해를 주지 않는다면 TArray<AActor*>() 매개변수를 해당 액터 클래스로 지정해 주도록 한다. 비어있는 배열을 넣을 경우 공격한 본인도 데미지를 입을 수 있다.

투사체(로켓)클래스의 데미지 전달 함수

댓글