언리얼 개인 프로젝트/언리얼엔진C++ 독학(이득우)

7.애니메이션 시스템의 설계_4)점프 구현2

현구구 2022. 3. 6. 00:28

이제 점프를

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초 남았을 때 다음 애니메이션으로 바꿔준다는 로직을 구현하지 않아도 해당 애니메이션이 끝나면 자동으로 다음 애니메이션으로 넘어 갈 수 있게 해준다. 이 방법이 더 간편할 듯