Вторник, 26 Ноября 2024, 14:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Движение
Valik_FenkoДата: Четверг, 02 Июня 2016, 11:58 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Сотрите есть юниты,они выделяются и двигаются в заданую точку.Как мне сделать чтоб они не проходили сквозь друг друга, число не могли.Я двигал через MoveToward
Потом попробовал через controller.Move,юниты не проходят через друг друга,но постоянно двигаются по заданому вектору постоянно ускоряясь если я заного попытаюсь задать точку куда идти нид,а мне нужно чтобы они двигались от клеточки к клеточке,при этом не проходили через друг друга.У меня стоит проверка если юнит не дошел до следующей клеточки то двигаем его ,следовательно он будет "терется" об другого юнита если тот будет на его пути пока не дойдёт(как в 3 варике).Но как мне движение нормально сделать через конроллер?То есть чтобы он строго двигался от x,y,z до x1,y1,z1 и при этом не проходил через другие коллайдеры

Можно и другой способ движения.Мне главное чтобы юниты не могли пройти через друг друга и чтобы я мог двигать их с определённой скоростью в координаты (Vector3)


Сообщение отредактировал Valik_Fenko - Четверг, 02 Июня 2016, 14:31
TLTДата: Четверг, 02 Июня 2016, 15:49 | Сообщение # 2
Сейчас на сайте
Сделать реакцию на столкновения.

Дао, выраженное словами, не есть истинное Дао.
berilДата: Четверг, 02 Июня 2016, 17:53 | Сообщение # 3
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Ох тяжелый текст написан, читать невозможно.
Если по клеткам ходят, проверяй есть в клетке уже юнит.
Если просто вперед ходят то проверяй с помошью луча есть ли впереди юнит
Если как в варике то используй NavMesh его в последних версиях подрихтовали, он не так много ресурсов жрет как как кажется wink




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
SaiteiДата: Четверг, 02 Июня 2016, 17:58 | Сообщение # 4
старожил
Сейчас нет на сайте
Цитата Valik_Fenko ()
Сотрите есть юниты,они выделяются и двигаются в заданую точку.Как мне сделать чтоб они не проходили сквозь друг друга, число не могли

У каждого юнита есть свой ограничивающий объём (например, AABB (axis-aligned bounding box)).

Чтобы юниты не проходили сквозь друг друга надо проверять столкновения между их ограничивающими объёмами.
К тому же, как заметил beril, можно кидать лучи в сторону движения юнита + проверять столкновение с другими юнитами:
если было столкновение, то смотрим на расстояние до точки столкновения + тем или иным способом регулируем скорость юнита, чтобы его AABB не проник в AABB другого юнита
  • Страница 1 из 1
  • 1
Поиск:

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