근접 공격을 수행하는 GameplayAbility 클래스를 생성한다
해당 GA는 캐릭터의 RPG 직업군에 따라 다르게 부여되며 이전과 동일하게 Tag를 통해 발동한다
1) AuraGameplayTags 클래스


Tag를 새롭게 추가하고 해당 Tag를 지닌 GA를 발동하여 적을 공격한다
2) AuraMeleeAttack 클래스

근접공격은 피해를 주는 행위이므로 AuraDamageGameplayAbility 클래스를 상속받아 생성한다
3) AuraAbilitySystemLibrary 클래스


캐릭터가 기본적으로 갖고 있어야 할 GA를 부여하는 GiveStartupAbilities 함수를 위와 같이 수정한다
직업군에 맞는 GA를 부여해야 하므로 CharacterClassInfo를 가져오고,
CharacterClassInfo에서 CharacterClassDefaultInfo를 가져와서 캐릭터의 레벨에 맞게 기본적인 GA를 부여한다
4) AuraEnemy 클래스

수정한 함수에 맞게 기존의 로직을 수정한다
5) 언리얼 에디터
5 - 1) GA_MeleeAttack 블루프린트

AuraMeleeAttack 클래스를 상속받은 블루프린트를 생성한다
간단하게 GA가 발동되면 자신의 위치에 디버그 스피어를 그리도록 로직을 구성한다

해당 GA 블루프린트가 갖고 있어야 할 GameplayTag를 위와 같이 설정한다
5 - 2) DA_CharacterClassInfo 데이터애셋

근접공격을 수행하는 직업군인 Warrior에서 5 - 1)에서 생성한 블루프린트를 기본적으로 사용하도록 설정한다
5 - 3) BTT_Attack 블루프린트

Behavior Tree에서 수행하는 Task인 BTT_Attack 블루프린트의 로직을 위와 같이 변경한다
로컬 변수인 Attack Tag는 5 - 1)의 블루프린트에서 설정한 Tag와 동일하도록 설정한다
- 최종 실행 결과
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 몬스터 근접 공격 - 3) 플레이어의 피격 여부 판단 (0) | 2025.09.27 |
|---|---|
| 몬스터 근접 공격 - 2) 모션 워핑의 사용 (0) | 2025.09.26 |
| 몬스터 AI - 최종) EQS를 사용한 원거리 몬스터 AI 설정 (0) | 2025.09.21 |
| 몬스터 AI - 5) Task 클래스를 이용한 몬스터의 공격 구현 (0) | 2025.09.20 |
| 몬스터 AI - 4) 추적 AI & 적과 GE를 적용하는 Actor 클래스 개선 (0) | 2025.09.20 |