이제 점프를
1.점프 시작
2.점프 중
3.점프 종료
이렇게 세가지로 나누기 위해 애님블루프린트를 열어
점프와 땅위 만 있었던 노드를
이런 식으로 바꾸어준다
Ground->JumpStart 에서는 IsInAir 가 True 이면 JumpStart애니메이션이 작동되도록 노드를 연결하고
JumpStart->JumpLoop 에서 JumpStart 애니메이션이 0.1초 남았을 때 JumpLoop 애니메이션이 작동되도록 노드를 연결한다
JumpLoop->JumpEnd 에서 캐릭터가 땅에 도달해서 IsInAir가 False가 되면 JumpEnd 애니메이션으로 넘어가도록 노드를 짠다
JumpEnd -> Groud 에서 JumpEnd 애니메이션이 0.1초가 남았을 때 Ground 애니메이션으로 넘어가도록 노드를 짜주면 완성이다
컴파일하고 플레이 해보면 점프모션 3가지가 정상 작동하는것을 볼 수 있다
노드 연결부위에 Automatic Rule Based on Sequence Player In State 옵션을 체크하면 위와같이 애니메이션이 0.1초 남았을 때 다음 애니메이션으로 바꿔준다는 로직을 구현하지 않아도 해당 애니메이션이 끝나면 자동으로 다음 애니메이션으로 넘어 갈 수 있게 해준다. 이 방법이 더 간편할 듯
'언리얼 개인 프로젝트 > 언리얼엔진C++ 독학(이득우)' 카테고리의 다른 글
8.애니메이션 시스템 활용_1)공격모션 (0) | 2022.03.06 |
---|---|
7.애니메이션 시스템의 설계_2)스테이트 머신,점프 구현1 (0) | 2022.03.05 |
7.애니메이션 시스템의 설계_1)달리기와 멈춤 애니메이션 (0) | 2022.03.05 |
6.캐릭터 제작과 컨트롤_5)컨트롤 방식 변경 (0) | 2022.03.05 |
6.캐릭터 제작과 컨트롤_4)디아블로방식 컨트롤 구현 (0) | 2022.03.05 |