Суббота, 20 Апреля 2024, 06:09

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Path following
Path following
Car3manДата: Пятница, 11 Марта 2016, 21:58 | Сообщение # 1
был не раз
Сейчас нет на сайте

Малиновый квадрат - "Движущийся объект"
Синие точки - Точки по которым должен двигаться объект
Оранжевая стрелка - направление объекта
Желтая - направление на точку к которой надо стремится
Зеленная пунктирная линия это как должен себя вести объект
P.S. Второй объект, это тот же что и первый но некоторое время спустя.

Вообщем хочу сделать вот такое движение по точкам, я это сделал,но не как хотел.
На данный момент имею, объект который при достижение определенного расстояния с нужной точкой меняет свой направление на следующую, при этом
двигаясь вперед относительно себя, но сейчас это очень резкое смена направление (transform.LookAt)

P.S. Пробовал в LookAt в качестве аргумента использовать не сразу следующую точку,а вектор полученный через Lerp
Код
TargetPoint = Vector3.Lerp(TargetPoint, PointController.Instance.Points[NumCurrentPoint + 1].transform.position, LerpRotation * Time.deltaTime);
        transform.LookAt(PointController.Instance.Points[NumCurrentPoint + 1].transform.position);

Но при большой скорости объекта, объект начинает хаотично вращаться.

Как сделать, движение как на картинке?


Сообщение отредактировал Car3man - Пятница, 11 Марта 2016, 22:01
ЛевшаДата: Пятница, 11 Марта 2016, 22:16 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Цитата Car3man ()
Как сделать, движение как на картинке?

x * Time.deltaTime


X.cor.R (Prologue)

Сообщение отредактировал Левша - Пятница, 11 Марта 2016, 22:16
Car3manДата: Пятница, 11 Марта 2016, 22:41 | Сообщение # 3
был не раз
Сейчас нет на сайте
Левша,
Код
TargetPoint = Vector3.Lerp(TargetPoint, PointController.Instance.Points[NumCurrentPoint + 1].transform.position, LerpRotation * Time.deltaTime);
        transform.LookAt(PointController.Instance.Points[NumCurrentPoint + 1].transform.position);
ты про это?

Добавлено (11 марта 2016, 22:41)
---------------------------------------------
Все, я сделал.

Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Path following
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг