Задать вопрос
DredWulf
@DredWulf

Как сделать анимацию Line Renderer в UNITY 3D (c#)?

Имеется вот такая лягушка)))
5f9c0a1f16798483824400.png

Проблема:
При нажатии левой кнопки мыши её язык должен плавно выдвигаться из точки 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, он же конец языка лягушки) достигает нужного места. Как сделать это анимированно, чтобы он плавно достигал этой точки?
  • Вопрос задан
  • 425 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
flexer1992
@flexer1992
Unity Developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы