애니메이션 특정 프레임에 쏠 UAnimNotify를 상속받은 UAnimNotify_GASAttackHitCheck클래스 생성
특정 시점에 UAnimNotify_GASAttackHitCheck::Notify가 호출
UAnimNotify_GASAttackHitCheck::Notify 내부에서 UAbilitySystemBlueprintLibrary::SendGameplayEventToActor 호출
블루프린트에서 AnimationNotify를 UAnimNotify_GASAttackHitCheck로, SendGameplayEventToActor 인자로 날릴 Tag를 세팅
UABGA_AttackHitCheck라는 GameplayAbility를 생성해준다
- 해당 GA가 필요한 이유는 노티파이로 이 GA의 활성화(ActivateAbility 호출) 시켜줘야 하기 때문이다
- 해당 GA의 ActivateAbility 내부에서
- 노티파이가 발생할때 GA를 활성화 하는 방법은 Ability Triggers 라는 세팅을 통해 가능하다. 이 세팅을 하면 노티파이에서 SendGameplayEventToActor 함수가 ASC에게 날려준 태그에 해당 GA가 반응한다
Ability Task(이하 AT)를 추가
- AT가 필요한 이유는 CreateTask로 자신을 생성한 GA가 델리게이트를 구독하고 있고, AT는 TargetActor(이하 TA)의 델리게이트를 구독하고 있기 때문
Target Actor가 필요한 이유
- 게임플레이 어빌리티에서 대상에 대한 판정(주로 물리 판정)을 구현할 때 필요
Target Actor 주요 함수
StartTargeting : 타겟팅 시작
ConfirmTargetingAndContinue : 타겟팅을 확정하고 이후 남은 어빌리티 태스크 진행
ConfirmTargeting : 타겟팅만 확정
CancelTargeting : 타겟팅 취소
게임 어빌리티 타겟 데이터
- 타겟 액터에서 판정한 결과를 담은 데이터(ex. HitResult, 판정된 다수의 액터 포인터, 시작/끝 지점)
- 게임 어빌리티 타겟 데이터 여러개를 담고 있는 것을 Gameplay Ability Target Data Handle이라고 함
Reference
이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템| 이득우 - 인프런 강의
현재 평점 5.0점 수강생 1,040명인 강의를 만나보세요. 언리얼 엔진5의 게임플레이 어빌리티 시스템을 활용해 RPG게임의 각종 스킬 시스템을 효과적으로 구현하는 방법을 학습합니다. 게임플레이
www.inflearn.com
[UE GAS] 공격 판정 시스템의 구현
게임플레이 이벤트를 사용해 게임플레이 어빌리티를 트리거하는 방법의 학습 타겟액터를 사용한 물리 판정의 구현 어빌리티 태스크와 타겟액터 사이세 발생하는 실행 흐름의 이해 목차 공격
designerd.tistory.com
'공부 > UE' 카테고리의 다른 글
[UE] AttributeSet을 생성만 해줘도 자동으로 ASC가 인식하는 이유 (0) | 2025.09.20 |
---|---|
[UE] 각종 Ability가 GAS의 ActorInfo에 접근할 수 있는 이유 (0) | 2025.09.20 |
[UE] TSubclassOf vs TObjectPtr (0) | 2025.06.28 |
[UE5] CDO(Class Default Object) (0) | 2025.05.31 |
[UE5] c++ 코드 수정 후 게임에 반영하는 방법 (0) | 2025.05.24 |