티스토리 뷰
시작이 예측 되지 않기 때문에 방금 이동하기 시작했다는 것을 감지하여 이전 프레임에서 현재위치를 예측
마찰과 같이 걷는 물리에서 사용하는 것과 같은 동일한 매개 변수를 사용.
먼저 현재 속도에 따라 멈출 시간을 계산
TimeToStop = CapsuleSpeed2D / (BreakingFriction * CapsuleSpeed2D + BrakingDeceleration);
이 값을 가지고 멈출 곳을 쉽게 찾을 수 있다.
StoppingLocation = CurrentLocation + Velocity2D * TimeToStop + 0.5 * ((-BreakingFriction) * Velocity2D - BreakingDeceleration * VelocityNormal2D) * TimeToStop * TimeToStop;
이 모든 것을 2D 공간에서 처리한다 (Z를 제거). 정확하게 예측할 수 없기 때문에 캐릭터의 속도는 2D에서 일정 (기울기에 관계없이 수평 변위가 동일).
정지위치가 짧기 때문에 이 값으로 잘 동작하지만 더 먼 거리를 예측하려면 실제 물리 시뮬레이션을 실행해야 할 것. 분명히 훨씬 비용이 비싸지 만, 경사와 장애물을 감지 할 수 있다.
'프로그래밍 > Unreal Engine4' 카테고리의 다른 글
VIVE (SteamVR) Load Streaming Level 문제 (0) | 2018.10.22 |
---|---|
GENERATED_BODY , GENERATED_UCLASS_BODY 매크로 (0) | 2018.07.10 |
텍스쳐에서 원하는 UV의 칼라값 가져오기 (0) | 2018.04.17 |
루트 컴포넌트 (0) | 2018.04.17 |
언리얼 오브젝트 ( Class Default Object ) (0) | 2018.04.17 |