1. GA_RangedAttack 원거리 공격 게임플레이 어빌리티
AuraProjectileSpell을 상속받는 게임플레이 어빌리티를 생성한다.
해당 어빌리티는 새총 고블린이 사용할 것이다.
2. 원거리 공격 할당
(1) BP_SlingshotRock 생성
AuraProjectile을 상속받는 블루프린트 클래스를 생성한다.
새총 고블린이 발사할 투사체 블루프린트를 만든다.
(2) 스태틱 메시 컴포넌트 추가
(3) 발사체 초기 설정
투사체 움직임(Projectile Movement) 컴포넌트를 클릭하여 디테일을 수정한다.
발사체 중력 스케일을 추가해 중력을 활성화한다.
(4) GA_RangedAttack 게임플레이 어빌리티 설정
투사체 클래스와 데미지 클래스를 적용한다.
// 데미지 타입에 대해 루프
for (auto& Pair : DamageTypes)
{
const float ScaledDamage = Pair.Value.GetValueAtLevel(GetAbilityLevel());
UAbilitySystemBlueprintLibrary::AssignTagSetByCallerMagnitude(SpecHandle, Pair.Key, ScaledDamage);
}
GE_Damage에서 Set by Caller에 의해 DamageTypes의 태그-데미지 쌍에 따라 데미지를 가져와 설정하게 되어있다.
이에 따라서 커브를 생성한다.
(5) CT_Damage 커브 테이블에 원거리 공격 데미지 커브 추가
(6) GA_RangedAttack에 Damage Types 쌍 지정
키에 해당하는 게임플레이 태그를 Damage.Physical로 지정한다.
해당 태그를 Damage의 다른 타입(불, 전기, 아케인)으로 지정하면 해당 타입의 투사체를 발사하게 할 수도 있다.
'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
15-3. AI 원거리 공격 - (3) 새총 고블린 공격 몽타주 (0) | 2025.01.03 |
---|---|
15-2. AI 원거리 공격 - (2) 원거리 공격 어빌리티 부여 (0) | 2025.01.03 |
14-8. AI 근거리 공격 - (7) 아군 공격 방지, 몬스터 디졸브 효과 생성하기 (0) | 2025.01.02 |
14-7. 몬스터 - (5) 구울 몬스터 생성, 피격 반응 버그 수정 (0) | 2025.01.02 |
14-6. AI 근거리 공격 - (6) 무기 소켓이 없는 몬스터의 근접 공격 (0) | 2024.12.30 |