- 개요
프로젝트에서 사용할 GameplayAbility의 조상 클래스를 생성하고 플레이어 캐릭터에 적용한다
1) 조상 GA 클래스 - AuraGameplayAbility 클래스

위와 같이 UGameplayAbility를 상속받아 프로젝트에서 사용할 조상 어빌리티 클래스를 생성하였다
프로젝트에서는 해당 클래스를 상속받아 오버라이드하여 어빌리티 클래스를 사용한다
2) 조상 캐릭터 클래스 - AuraCharacterBase 클래스

게임의 초창기에 캐릭터에게 부여할 어빌리티를 저장하는 TArray 프로퍼티를 추가한다
추가한 TArray 프로퍼티는 AddCharacterAbilities 함수를 이용하여 ASC에 부여된다

AddCharacterAbilities 함수의 로직은 위와 같다
AuraASC를 가져오고 Authority를 확인하여 서버인지 검증하고
ASC로부터 AddCharacterAbilities 함수를 호출하여 TArray에 저장된 어빌리티를 ASC에 부여한다
3) ASC 클래스 - AuraAbilitySystemComponent 클래스

캐릭터로부터 받은 어빌리티를 ASC에 부여하기 위한 AddCharacterAbilities 함수를 추가한다

AddCharacterAbilities 함수의 로직은 위와 같다
인자로 받은 GA가 저장된 TArray를 순회하면서 해당 GA를 사용하기 위한 GASpec을 생성한다
이후 생성한 GASpec의 GA를 프로젝트의 GA로 캐스트하여 ASC에 부여한 후 실행한다
*** Gameplay Ability는 부여된 후 Activate하지 않으면 동작하지 않는다 ***
4) 플레이어 캐릭터 클래스 - AuraCharacter 클래스

PossessBy 함수에서 AddCharacterAbilities 함수를 호출하여 어빌리티를 부여한 후 동작시킨다
5) 언리얼 에디터


위와 같은 로직으로 구성한 테스트용 Gameplay Ability 블루 프린트를 생성한다
따라서 최종적으로 어빌리티가 적용된 후 5초 후에 어빌리티가 종료된다

생성한 어빌리티를 위와 같이 적용하였다
- 최종 실행 결과
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| GameplayAbility - 4) 길찾기 시스템 구현 (0) | 2025.08.11 |
|---|---|
| GameplayAbility - 3) Lyra의 입력 시스템 도입 (0) | 2025.08.09 |
| GameplayAbility - 1) Gameplay Ability에 대하여 (0) | 2025.08.08 |
| 스탯창 UI - 최종) 스탯창 UI와 AttributeSet의 연동 (0) | 2025.08.03 |
| 스탯창 UI - 3) AttributeInfo 데이터애셋 클래스와 BlueprintFunctionLibrary 클래스 (0) | 2025.08.01 |