티스토리 뷰

시작이 예측 되지 않기 때문에 방금 이동하기 시작했다는 것을 감지하여 이전 프레임에서 현재위치를 예측

마찰과 같이 걷는 물리에서 사용하는 것과 같은 동일한 매개 변수를 사용.

먼저 현재 속도에 따라 멈출 시간을 계산

TimeToStop = CapsuleSpeed2D / (BreakingFriction * CapsuleSpeed2D + BrakingDeceleration);

이 값을 가지고 멈출 곳을 쉽게 찾을 수 있다.

StoppingLocation = CurrentLocation + Velocity2D * TimeToStop + 0.5 * ((-BreakingFriction) * Velocity2D - BreakingDeceleration * VelocityNormal2D) * TimeToStop * TimeToStop;

이 모든 것을 2D 공간에서 처리한다 (Z를 제거). 정확하게 예측할 수 없기 때문에 캐릭터의 속도는 2D에서 일정 (기울기에 관계없이 수평 변위가 동일).
정지위치가  짧기 때문에 이 값으로 잘 동작하지만  더 먼 거리를 예측하려면 실제 물리 시뮬레이션을 실행해야 할 것. 분명히 훨씬 비용이 비싸지 만, 경사와 장애물을 감지 할 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함