Я моделирую автомобили, проезжающие через дорожную сеть, с учетом четырех столбцов данных time
, id
, x
и z
, где автомобиль с идентификатором id
находится в x,0,z
во время t
Вот пример:
t id x z
957,1,-1.50,250.07
958,1,-1.50,232.39
959,1,-4.50,209.72
960,1,-4.50,193.05
961,1,-4.50,176.39
962,1,-4.50,159.72
963,1,-4.50,143.05
...
В настоящее время я могу порождать автомобили и обновлять их позиции по мере истечения времени и в соответствии с данными.Я застрял на том, как более реалистично симулировать движение автомобиля, вместо того, чтобы машина просто выскочила из точки в точку.
Я использую Vector.Lerp
, но он скачет без последовательного, плавного движения:
car.transform.position =
Vector3.Lerp(car.transform.position, nextPosition, Time.deltaTime);
Каждую секунду я проверяю данные выше, чтобы найти координаты автомобиля в текущую секунду,Эти координаты передаются как nextPosition
в вышеуказанную функцию Lerp
.Это означает, что автомобиль «Лерпинг» от точки к точке каждую секунду.
Как мне сделать движение более плавным?Обновление позиции происходит каждую секунду, и, следовательно, автомобиль должен достичь следующей позиции за 1 секунду.