언리얼/개발일지

언리얼5 공부 및 개발일지 7일차 어빌리티 시스템 능력 구현

gksdydrkfl의 공부방! 2023. 9. 30. 04:49

게임 어빌리티 능력을 사용하기 위해 먼저 GameplayAbility 와 AbilitySystemComponent를 상속받아 클래스를 만들어 주었다. AbilitySystemComponent에서는 전에 만들어 두었던 PlayerController의 입력부분에 입력받고 AbilitySystemComponent 에서 처리를 시켜주게 만들어주었다.

 

방금 만든 BVAbilitySystem를 상속받아 KatanaBaseAttack 클래스를 만들어 주었다.

 

AbilitySystem을 사용하기위해 Tag를 자주 사용하기때문에 전역변수로 사용할 수 있게 만들어 주었다.

디자인패턴중 싱글톤 패턴이다.

 

이제 애니메이션 몽타주에서 사용할 AnimNotify클래스를 상속받아 NextAttackCheck와 EndAttackCheck클래스를 만들어주었다. 

 

준비해둔 애니메이션 시퀀스를 이용해 몽타주를 만들어 주었다.

총3개의 공격모션이 필요하기때문에 섹션 이름에 Attack1,Attack2, Attack3을 만들어 주고 애님 노티파이를 만들었던 클래스에 알맞은 타이밍에 맞게 NextAttackCombo와 EndAttackCombo를 설정해 주었다.

 

애니메이션 블루프린트에서 슬롯을 추가해 연결시켜 주었다.

 

KatanaBaseAttack 클래스를 이용해 블루프린트를 만들고 설정 해주었다.

카타나의 기본공격은 좌클릭으로 할것이기때문에 LMB를 설정 해주었다.

 

이제 게임을 플레이해보면 콤보공격이 이루어 지고있다.