Как плавно повернуть игровой объект лицом( по Y-ку ) к другому?
Здравствуйте.
Суть в том, что при создании "движения" для персонажа потребовалось поворачивать его лицом к объекту, до которого он бежит.
Как проходит "движение":
После клика создается GameObject, к которому бежит персонаж, по прибытию GameObject удаляется.
Метод LookAt не подходит, потому что поворачивает персонажа к объекту мгновенно.
Пробовал сделать через Quaternion.Lerp, Quaternion.RotateTowards, вообще не реагирует на это и не поворачивается.
Кто знает, как быть, прошу помочь. Заранее большое спасибо.
В Update'е, если игрок получал таргет для бега, я пытался его развернуть к этому объекту.(Он создается только после клика).
Код примерно такой:
GameObject endPoint;
...
endPoint = Instantiate(...) as GameObject;
...
transform.rotation = Quaternion.Lerp(transform.rotation, endPoint.transform.rotation, Time.deltatime * rotateSpeed);
kos_dev При идеально равномерном FPS у вас Time.deltatime * rotateSpeed будет всегда давать одно и то же значение, соответственно лерп будет тоже давать одно и то же. В лерп по сути надо передавать процент от 0 до 1. Например, вы хотите чтобы ваш объект повернулся за 3 секунды. Соответвенно в лерп вам нужно передать currentTime/3.0f. А currentTime каждый Update увеличивать на deltaTime. Это один из вариантов - зависит от того что нужно сделать. Но он будет работать.