https://zzugest1.tistory.com/68
UE5) 플레이어 애니메이션
https://zzugest1.tistory.com/67 UE5) 총알 충돌 구현https://zzugest1.tistory.com/66 UE5) 플레이어 물체 발사https://zzugest1.tistory.com/65 이동과 마우스 회전이 가능한 플레이어에서 물체를 발사하는 기능을 구
zzugest1.tistory.com
지난 글에서 플레이어의 이동시 애니메이션을 추가해보았다. 다음으로 점프를 구현해보겠다.

평상시 상태와 이동시의 애니메이션을 만든 애니메이션 클래스의 상태기계에서 점프노드를 추가해준다.

Idle/Move에서 선을 이어 스테이트 추가를 해준다음 이름을 바꿔준다. Jump를 더블클릭하면 Idle/Move와 마찬가지로 재생할 애니메이션을 선택할 수 있다. 여기서 다운받은 적절한 점프 모션을 검색해서 추가하면 된다.

그 다음 Idle/Move와 Jump 노드를 있는 선을 더블클릭해준다. 이는 Idle/Move에서 Jump 노드로 갈 조건을 뜻한다.

처음에 Result 노드만 있을텐데 여기에 Is Falling을 검색해 이어준다. 이 함수는 캐릭터가 공중에 있으면 True를 반환하는 함수이다. Target을 이전에 만든 CharacterData에 이어주면 형변환을 해주며 이어준다. 컴파일 후 재생하면 한번 뛰면 점프하는 애니메이션을 땅에 다시 닿아도 계속 반복재생하는 것을 볼 수 있다. 이는 점프하는 동안, 착지 시의 애니메이션을 추가하지 않아서 그렇다.
평상시 -> 점프 -> 점프 중 -> 착지 -> 평상시 상태가 일반적인 캐릭터의 움직임이므로 이를 노드로 추가하면

이렇게 순환하게 만들 수 있다. Fall, Land노드는 각각 점프 중 떨어지는 애니메이션, 착지 시 애니메이션을 재생하도록 만들면 된다. 우선 Jump -> Fall로 가기 위한 조건으로

Time Remaining(ratio) (점프 애니메이션 시퀀스)는 이 애니메이션의 남은 재생시간을 비율로 반환하는 함수이다. 이를 1보다 작은 적당한 시간으로 지정하면(점프 애니메이션의 남은 시간이 0.3보다 작으면) 떨어지는 애니메이션을 재생하도록 할 수 있다.
Fall -> Land 노드로 가기 위한 조건으로

단순하게 Idle/Move -> Jump 로 가기 위한 조건의 반대이다.
Land -> Idle/Move로 가기 위한 조건으로

Time Remaining(ratio) (착지 시 애니에이션 시퀀스 이름) 을 검색해 적당한 숫자보다 작으면 평상시 상태로 돌아가게 하면 된다.

평상시-> 점프 -> 낙하 -> 착지 -> 평상시로 돌아오는 모습이다.
'언리얼 엔진' 카테고리의 다른 글
UE5) 소켓 (0) | 2025.03.10 |
---|---|
UE5) 애니메이션 몽타주 (0) | 2025.03.10 |
UE5) 플레이어 애니메이션 (0) | 2025.03.05 |
UE5) 총알 충돌 구현 (0) | 2025.02.21 |
UE5) 플레이어 물체 발사 (0) | 2025.02.20 |