언리얼 엔진

언리얼엔진 공부 복습용 -13- 공격모션(3) [캐릭터 BP의 변수 애니메이션BP에서 사용하기]

인똑이 2023. 10. 3. 20:33

우선 우리의 캐릭터 BP를 열고 함수를 4가지정도 추가해주자.

 

변수 명 True Fals
Equipping 무기를 장착 중 무기를 장착 끝
CanMove 움직일 수 있음 움직일 수 없음
Drawn 무기를 뽑았나? 무기를 뽑지 않았나?
UnEquipping 무기 해제 중 무기 해제 끝

크게 애니메이션을 재생할 4가지 변수를 만들어 주었다.

 

그 후 EquiptSword라는 커스텀이벤트를 만들어보자.

무기를 뽑는다면 어떻게될것인가.

우선 무기를 뽑을때는 장착중이므로 Equipping은 true 그리고 움직일 수 없으므로 캐릭터의 조작과 CanMove는 False로 만들었다.

 

이후 검뽑는 모션 재생을 위해 우리가 예전에 만들었단 ABP를 보자.

예전에는 점프와 속도 계산을위한것만 있었는데 이제 플레이어에대한 많은정보가 필요하니 BP_Player 형변환한 변수를 저장해주도록하겠다.

Equipping과 UnEquipping 만 추가해주었다. 다른 2개는 BP_Player에서 이벤트를 진행시킬지 말지를 결정하기 때문에 애니메이션에서는 필요가없다.

 

이제 이걸 BP_Player에 있는값과 동기화 시키자.

 

아주간단하게 커스텀이벤트를 만들고 BP_Player값을 참조하여 변수들의 값을 지정해주었다.

 

그럼이제 준비는끝 예전에 만든 애니메이션 그래프의 스테이트 머신을 살펴보면

이렇게밖에없는데 BS_Move에서 검뽑는 모션을 추가해주자.

자그럼 이제 DrawSowrdStart는 어떻게 가게만들면될까? 점프랑 똑같다. 

바로 Equpping이 True이면 해당 애니메이션을 재생하게 만들어주는것이다.

 

각각 다음 애니메이션재생을위한 조건을 설정해주고, 이제 Equipping을 진행알 이벤트를 다시 살펴보자.

 

우선 프로젝팅 세팅에서 검을뽑을 키를 지정해주고

BP_Player로 넘어와서

이렇게 1번을 누르면 무기를 뽑은상태가 아니라면 EquipSword 이벤트를 진행시키게 만들었다. 이제 한번 인게임에서 제대로 노티파이와 애니메이션이 작동하는지 보자.

 

아주 잘되는것같다. 검집어 넣는것은 이처럼 똑같이 하면되니 여기선 생략하도록하겠다!

다음엔이제 검을뽑고 움직이는것과 검을 휘두른것을 살펴보자.