Как плавно переместить объект к нужной позиции без потери скорости?

Я бы использовал Vector3.Lerp, но он уменьшает скорость в конце(не совсем так, но так легче объяснить)


Ответы (1 шт):

Автор решения: Yaroslav

Lerp замедляет скорость в конце? Брешешь.

private void Start () {
    StartCoroutine(LerpCoroutine(transform, 1f, new Vector3(10, 10, 0));
}

private IEnumerator LerpCoroutine (Transform trans, float time, Vector3 target) {
    float Timer = 0;
    Vector3 Base = trans.localPosition;
    while (Timer < time) {
         trans.localPosition = Vector3.Lerp(Base, target, Timer/time);
        yield return null;
        Timer += Time.deltaTime;
    }
    trans.localPosition = target;
}
→ Ссылка