Имеется вот такая лягушка)))
Проблема:
При нажатии левой кнопки мыши её язык должен плавно выдвигаться из точки A(рот) в точку B(место клика). Для отрисовки языка используется Line Renderer (компонент Unity).
Существует вот такой код:
private LineRenderer line;
public Vector3 initialPos, targetPos;
void Start()
{
line = gameObject.GetComponent<LineRenderer>();
}
private void Update()
{
// получаем координаты места клика (преобразовуя их из пиксельных координат в мировые)
targetPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
// необходимо постоянно устанавливать значение -1, так как при нажатии кнопки мыши
//устанавливается -10, что прячет объект вне обзора камеры
targetPos.z = -1;
// если нажимается ЛКМ, то
if (Input.GetMouseButton(0))
{
// первый аргумент стартовая точка - это ноль в API для LineRenderer
// второй аргумент место положения этого конца линии
line.SetPosition(0, initialPos);
line.SetPosition(1, targetPos);
}
}
Конец линии (под номером 1, он же конец языка лягушки) достигает нужного места. Как сделать это анимированно, чтобы он плавно достигал этой точки?