애니메이션 몽타주의 노티파이를 활용해 원하는 타이밍에 공격을 판정하는 기능 추가
애니메이션 노티파이가 발동되면 판정을 위한 GA를 트리거해 발동
새로운 GA가 발동되면 공격 판정을 위한 AT를 실행
GAS에서 제공하는 타겟액터를 활용해 물리 공격 판정을 수행
판정 결과를 시각적으로 확인할 수 있도록 드로우 디버그 기능 제공
UAnimNotify_GASAttackHitCheck 애님 노티파이는 ArenaBattleGAS 모듈에 존재합니다.
ArenaBattle 모듈이 먼저 활성화 된 이후 ArenaBattleGAS 모듈이 PostDefault로 로딩됩니다.
기존에 애님 노티파이를 사용하기 위해 ABCharacterBase 클래스에서 콤보 몽타주를 로딩하였는데, 애님 노티파이가 활성화되지 않은 상태에서 해당 몽타주를 재생하면 애님 노티파이를 인식할 수 없습니다.
따라서 ArenaBattleGAS 모듈에 존재하는 ABGASCharacterPlayer 클래스에서 몽타주를 로딩합니다.
게임플레이 어빌리티에서 대상에 대한 판정(주로 물리 판정)을 구현할 때 사용하는 특수한 액터
AGameplayAbilityTargetActor 클래스를 상속받아서 구현
예제에서는 즉각적인 타겟팅 기능만 구현
타겟 액터에서 판정한 결과를 담은 데이터
타겟 데이터를 여러개 묶어 전송하는 것이 일반적인데 이를 Target Data Handle이라고 함
AT에서 타겟 액터 지연 스폰 호출 후 TA에서 액터의 초기 변수 설정
AT에서 스폰 완료 후 TA에서 StartTargeting() 함수 호출
이때 AT를 발동한 소스 액터를 가져와 저장
타겟이 확정되면 최종 타겟 데이터 생성
최종 타겟 데이터를 AT가 전달받으면 태스크 종료

https://github.com/dnjfs/ArenaBattle_GAS/commit/ad59a6f41a4b618b43495765d129b0ff99edb54f
애니메이션 노티파이 설정
애님노티파이 추가하여 몽타주에 세팅
BPGA_AttackHitCheck의 어빌리티 트리거에 Character.Action.AttackHitCheck 태그 설정
애님 노티파이 전달 시 태그를 통해 게임플레이 이벤트 전송, 어빌리티 트리거 발동
공격 판정 구현
GA에서 AT 실행, AT에서 TA 생성
MakeTargetData()에서 HitResult 검출하여 AT에 반환