본문 바로가기

Unreal/Udemy 강의

Unreal Engine 4 C++ The Ultimate Shooter Course Section 4-13

Jumping Animations

기존에 점프 애니메이션이 없어서 이번에 추가해주도록 하자.

먼저 이를 위한 스테이트 머신을 생성해주자.

 

그리고 아래와 같이 구성해주자.

움직임 없음/걷는 중 -> 점프 -> 착지 모션이다.

 

이어서 규칙을 정해주고 Duration 값도 더 짧게 수정해주었다.

idle/jogs -> Jumps

 

 

Jumps -> Jump_Land

 

Jump_Land -> Idle/Jogs 에는 2가지 조건을 걸었다.

하나는 자연스럽게 넘어가도록 옵션을 걸었고, 나머지 하나는 In Air 여부이다.

In Air 여부가 중요한 것이 Idle/Jogs -> Jumps로 넘어가는 애니메이션 순서를 확실하게 체크하기 위해 사용된다.

착지 도중에도 여전히 In Air 상태인데, Idle/Jogs로 확실히 넘어가지 않고 Jumps로 넘어가는 사태가 발생할 수 있다.

이러면 애니메이션 도중에 또 다른 애니메이션이 재생되므로 부자연스러운 전환 동작을 보이게 된다.

(점프 동작이 동기화되지 않음)

 

각 애니메이션도 할당해주자.

Idle/Jogs

 

착지 애니메이션의 경우 Apply Additive 기능을 이용하여 기존 애니메이션에 더해주었다.

Jump_Land

 

Jump의 경우 여러 애니메이션이 존재하여 또 따로 스테이트 머신으로 생성하였다.

Jumps
Jumps 스테이트 머신

 

마지막 Jump_PreLand 애니메이션 같은 경우 재생 속도가 너무 빨라서 다소 조정해주었다.

 

이제 이렇게 만든 Locomotion을 또 따로 Cached로 저장해주었다.

 

그리고 새롭게 만든 스테이트 머신을 토대로 기존 내용들을 정리해주자.

기존에 Ground Locomotion을 사용했지만 이번 Locomotion에 해당 내용이 포함되어있고,

이에 따라 Locomotion으로 대체했다.