1. ABP_Slingshot 새총 애니메이션 블루프린트
(1) 스테이트 머신 생성
새총의 Idle 상태를 Main으로 하는 스테이트 머신을 생성한다.
(2) SKM_Goblin 소켓 이름 변경
고블린의 오른손 소켓 이름을 변경한다.
(3) ABP_Slingshot 이벤트 그래프 수정
블루프린트가 초기화되면 Owner의 메시를 가져온다.
매 틱마다 메시에서 오른손 소켓을 가져와 멤버 변수로 설정한다.
(4) ABP_Slingshot 애님 그래프 수정
본 트랜스폼 노드를 사용하여 오른손 소켓에 대한 이동과 회전을 가져올 것이다.
해당 노드의 디테일 창에서 새총의 본에 가져온 이동과 회전을 적용한다.
(5) BP_Goblin_Slingshot 새총 고블린 무기에 애님 클래스 할당
Weapon 컴포넌트를 클릭하고 애님 클래스를 지정한다.
2. 새총 발사 몽타주 재생
(1) ABP_Slingshot 애님 그래프 수정
기본값으로 true를 가지는 멤버 변수를 생성한다.
부울로 포즈 블렌딩을 사용하여 고블린이 파우치를 잡고 있지 않을 때는 새총이 Idle 애니메이션 상태로 있을 것이다.
(2) AM_Montage_Goblin_Slingshot 몽타주 수정
기본적으로 에셋에 있는 스켈레톤 노티파이 두 개를 이용하여 돌을 놓는 지점과 다시 파우치를 잡는 지점에 노티파이를 생성한다.
(3) AuraCharacterBase - 무기를 블루프린트에 노출시키기
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Combat")
TObjectPtr<USkeletalMeshComponent> Weapon;
무기의 메시를 가져와 사용하기 위해 블루프린트에 노출시킨다.
(4) ABP_Goblin_Slingshot
이제 새총 고블린에게서 무기의 메시를 가져와 멤버 변수로 지정할 것이다.
(4-1) Release Rock 애님 노티파이
해당 노티파이가 작동하면 HoldingPouch 변수를 false로 만들고 새총이 전진하는 몽타주를 재생한다.
ABP_Slingshot 멤버변수가 유효하지 않으면 다시 Owner를 가져와 캐스팅 후 Set한다.
(4-2) Grab Pouch 애님 노티파이
이제 새총이 제대로 당겨지고 놓아지는지 확인한다.
3. 디버그
(1) 카메라 충돌 수정
생성되는 투사체인 BP_SlingshotRock이 카메라와 충돌한다면 콜리전을 수정하여 카메라 채널을 무시하도록 한다.
(2) 새총 고블린이 이동할 때 미끄러짐
애니메이션 초기화 이벤트에서 부모의 함수 호출한다.
'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
16-2. AI 마법 공격 - (2) 고블린 주술사 몽타주 (0) | 2025.01.03 |
---|---|
16-1. AI 마법 공격 - (1) 고블린 주술사 (0) | 2025.01.03 |
15-4. AI 원거리 공격 - (4) 원거리 공격 (0) | 2025.01.03 |
15-3. AI 원거리 공격 - (3) 새총 고블린 공격 몽타주 (0) | 2025.01.03 |
15-2. AI 원거리 공격 - (2) 원거리 공격 어빌리티 부여 (0) | 2025.01.03 |