오버 슈트 나 진동없이 차량을 특정 지점으로 이동하고 정지 시키려면 어떻게해야합니까? 차단할 수 있지만 즉시

자, 우리는 2D 위치, 속도, 각속도 및 드래그 / 마찰을 가진 이 질문에 대한 대답에서 설명한 것과 같은 비히클을 가지고 있다고 생각하십시오 . 가변적 인 양만큼 가속 및 차단할 수 있지만 즉시 죽지 않거나 최고 속도에 즉시 도달 할 수는 없습니다. 오버 슈트 나 진동없이 특정 지점으로 이동하여 가능한 가장 빠른 시간에 정지하려면 어떻게해야합니까?

나는 다음과 같은 것을 생각하고 있었다 :

  • 목표 위치로 돌립니다.
  • 가속하다
  • “다음 틱을 적용하면 대상을 오버 슈트 할 것입니까?”
  • 오버 슈트가 발생하면 휴식 시간을 일정량 적용하십시오.

나는 이것이 해결 된 문제라고 확신하며 내가 설명한 방법보다 더 좋은 방법이있을 것입니다.



답변

자율적 캐릭터의 조향 동작 . 검색 및 도착을 확인하십시오.


답변

미적분을 사용하면 속도와 최대 감속 속도를 알고 있으면 최소 정지 거리를 알 수 있습니다. 이를 염두에두고 특정 시점에서 정지하기 위해 브레이크 (반올림 / 양자화 오류는 제외)를 적용해야하는 시점을 정확하게 알 수 있습니다.

자, 수학보다 더 나은 누군가가 실제 공식을 게시 할 것입니다 …


답변

제어 문제입니다. 목표까지의 거리와 같은 일종의 “오류”측정에 비례하여 입력을 변경해야합니다. 이 질문에 대한 답변도 참조하십시오.

목표 추적 : 회전 포탑을 가속 및 감속 할시기는 언제입니까?


답변

때로는 게임 개발에서 바로 가기를 사용해야합니다. 여기서 지름길은 임펄스 (impulse)라고하며, 물리적으로 말하면 매우 짧은 시간에 적용되는 매우 큰 힘입니다. 시간이 지남에 따라 통합하는 대신 매개 변수에 직접 변경으로 적용하면됩니다. 속도를 0으로 설정하십시오.

문제는 바로 가기를 사용 하시겠습니까?


답변