정확한 점프높이&시간 계산하기

MoOrY·2023년 1월 14일
0

언리얼 엔진

목록 보기
5/41

출처:
https://superyateam.com/2019/10/29/setting-up-ue4-character-jumps/

점프 높이
위의 비디오에는 높이와 시간에 대한 속도와 중력 의존성을 설명하는 두 가지 중요한 공식이 있습니다.

그리고

여기서 v 0 은 초기 수직 속도, h – 점프 높이, t h – 높이에 도달하는 시간, g – 중력

참고로 UE4에서는 중력 스케일 및 점프 Z 속도 변수를 사용하여 중력 및 초기 수직 속도만 구성할 수 있습니다.
높이와 시간은 이러한 변수에 따라 다릅니다.

완료하는 데 1초가 걸리는 100cm 높이의 점프를 원한다고 가정해 보겠습니다.
그러면 중력은 다음과 같아야 합니다.

또는 UE4의 관점에서 중력 스케일은 0.8163 이어야 합니다.

반면 수직 속도는 다음과 같아야 합니다.

코드 예:

//0.001020375은 계산한 중력값(단위: sec^2)를 언리얼 GravityScale로 변환시켜 주는 매직넘버)

RisingGravity = (-2.f (RisingDistance + GetDefaultHalfHeight() )
/ (RisingSecond
RisingSecond)) * -0.001020375f;

RisingUpValue = (2.f * RisingDistance) / RisingSecond;

점프 거리
점프 거리 설정으로 넘어갑시다. 비디오에는 다시 두 가지 공식이 있습니다.

그리고

여기 에서 v x – 수평 속도 및 x h – 점프 피크까지의 거리.
Add Movement Input 을 사용 하여 수평 속도를 제어하므로 v x 는 최대 속도 UE4 변수 와 일치 합니다.
그리고 x h 는 구성할 수 없습니다.

이것이 전혀 작동하는지 다시 확인합시다. 나는 1초 점프를 원하고 120cm 길이입니다.
초기 수직 속도를 변경하지 않고 수평 속도를 조정합니다.

결과:

profile
필기용 블로그입니다.

0개의 댓글