Unity Vector2.MoveTowards заикаться - PullRequest
       0

Unity Vector2.MoveTowards заикаться

0 голосов
/ 25 октября 2019

Я не могу создать плавное движение объекта Unity 2d. Я использую функцию Vector2.MoveTowards(position, destination, speed * Time.deltaTime). Я буквально создаю пустой 2D-проект, помещаю его в один 64x64 PNG, создаю один скрипт и присоединяю к этому объекту.

Вид проекта Код

Я также попытался использовать, Обновить, FixedUpdate, LateUpdate, округлить результаты MoveTowards, изменить настройки времени, подать в суд на Time.deltaTime, Time.smoothDeltaTime, Time.fixedDeltaTime. Также пытался вычислить пройденное расстояние вручную (вместо MoveTowards) на основе пройденных миллисекунд между вызовами FixedUpdate (). Это буквально пустой проект с одним скриптом и одним объектом, и он заикается. Ресурсы компьютера доступны, приоритет Unity установлен на Realtime или High.

1 Ответ

0 голосов
/ 25 октября 2019

Использование deltaTime может вызвать заикание при более низких частотах кадров или при более высоких скоростях движения. Попробуйте использовать движение deltaTime в сочетании с lerping или интерполированным твердым телом :
Пример для lerping:

transform.position = Vector3.Lerp(transform.position, wantedPosition, Time.deltaTime * lerpSpeed);

Пример для перемещения сHardbody:

myRigidbody.MovePosition(wantedPosition);

Но это всего лишь фрагменты, так что смотрите в документации. Для использования интерполяции с жестким телом Unity создала учебник . И я думаю, вы можете найти много других руководств ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...