0. 개요
이전 포스트에서 게임플레이 태스크에서 정의된 함수가 델리게이트와 콜백 함수로 이루어져 있다는 것을 확인했다.
애니메이션 몽타주 중 노티파이를 이용하여 소리를 발동하거나 게임플레이 어빌리티를 발동시키는 방법을 배운다.
1. 게임플레이 이벤트
(1) Wait Gameplay Event 노드
해당 노드는 활성화 중인 ASC(어빌리티 시스템 컴포넌트)가 있는 액터에게 이벤트가 전송될 때까지 대기한다.
해당 노드에서는 태그를 이용하여 어떻게 대기하는지 지정할 수 있다.
(2) 게임플레이 태그 추가
파이어볼트를 발사하는 이벤트 태그를 생성한다.
(3) 애니메이션 노티파이 생성
애니메이션의 특정 지점에서 알림을 전달하는 Anim Notify를 생성한다.
해당 노티파이를 이용하여 이벤트를 호출할 수 있게 된다.
AnimNotify를 상속받는 블루프린트를 생성한다.
접두사로 AN, 미들네임으로 Montage를 갖는 AN_Montage_Event 블루프린트이다.
애님 노티파이의 함수인 Received Notify 함수를 오버라이드하여 사용할 것이다.
Received Notify 노드의 Mesh Comp 핀을 이용하여 컴포넌트의 주인 액터를 얻을 수 있다.
블루프린트 라이브러리의 함수인 Send Gameplay Event to Actor 노드를 이용하여 액터에게 게임플레이 이벤트를 전달할 수 있다.
이 때 Payload 핀을 사용하여 데이터를 함께 넘길 수 있다.
위와 같이 게임플레이 어빌리티의 게임플레이 태스크 노드에서 페이로드를 출력 핀으로 사용할 수 있게 된다.
이벤트를 전달받은 후 작동하는 실행 핀 또한 사용할 수 있다.
(3-1) 게임플레이 태그를 변수로 만들기
애님 노티파이 블루프린트에 직접 하드코딩하지 않고 필요할 때 태그를 변경하여 사용할 수 있도록 게임플레이 태그를 변수로 지정하여 사용한다.
(3-2) 페이로드
페이로드를 이용해서 방대한 양의 정보를 전달할 수 있다.
지금은 사용하지 않는다.
(4) 애니메이션 몽타주에 노티파이 추가
노티파이를 추가하고 싶은 타임라인 위치에 우클릭 - 노티파이 추가 - AN_Montage_Event를 지정한다.
이어서 디테일 창에서 이벤트 태그를 지정한다.
(5) GA_FireBolt 블루프린트
Wait Gameplay Event에 해당 스펠과 맞는 태그를 매칭시켜주고 테스트한다.
'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
9-4. 커스텀 어빌리티 태스크 - (2) 타겟 데이터(Target Data) 서버로 전송하기 (0) | 2024.12.09 |
---|---|
9-3. 커스텀 어빌리티 태스크 - (1) 마우스 커서 아래의 HitResult 가져오기 (0) | 2024.12.09 |
9-1. 어빌리티 태스크(Ability Tasks) (0) | 2024.12.09 |
8-10. 게임플레이 어빌리티 - (3) 투사체 생성 및 발사 (0) | 2024.12.05 |
8-10. 투사체 - (1) 투사체 생성, 투사체 움직임 컴포넌트(Projectile Movement Component) (0) | 2024.12.05 |