Четверг, 14 Ноября 2024, 09:55

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Поиск пути по вейпоинтам 2D
SargisДата: Среда, 13 Января 2016, 14:52 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем доброго времени суток.
Друзья, во первых позвольте поздравить всех с прошедшими новогодними праздниками! biggrin Желаю всем успехов в Новом Году и много удачных проектов!
Во вторых, прошу помочь разобраться с следующей ситуацией.

Делаю 2D стратегию, наподобие Эвокрафта (Невософт).
Значит так.... Есть юнит, он должен двигаться от здания А до здания В только по вейпоинтам(красные квадраты).
Вроде бы простая задача, НО про этом должны быть соблюдены несколько условий..


1)я не могу назначить юниту фиксированный массив вейпоинтов для каждого здания, потому что зданий много и путей соответственно тоже много.
2)юнит самостоятельно должен находить нужные вейпоинты и по ним двигаться к цели.
3)Всякие там A Pathfinding Project Pro...и тому подобные плагины исключаются по разным причинам(долго рассказывать)
4)Все ГО в том числе и вейпоинты будут находится в Canvas с настройками Screen Space-Camera,Scale with Screen size,expand

Я понимаю что парой строк кода не обойтись, но может у кого то есть уже готовое решение?
За подходящий скрипт готов даже отблагодарить в виде 500-1000 руб на телефон или QIWI..

Очень прошу помочь, ситуация прям патовая, графика почти вся готова уперся в программирование. Заранее спасибо.
LapishДата: Среда, 13 Января 2016, 21:25 | Сообщение # 2
частый гость
Сейчас нет на сайте
Неоптимальный алгоритм, но как временный вариант.
Начни строить дерево из точки A в точку B. А потом уже поиском в глубину или в ширину находи сам путь.
P.S может и бредовый вариант, но первое что пришло в голову. Если что придет в голову, то напишу)

Добавлено (13 января 2016, 21:25)
---------------------------------------------
Или как-то можно впихнуть волновой алгоритм.


Сообщение отредактировал Lapish - Среда, 13 Января 2016, 21:25
KamiRoninДата: Среда, 13 Января 2016, 22:56 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Цитата Sargis ()
4)Все ГО в том числе и вейпоинты будут находится в Canvas с настройками Screen Space-Camera,Scale with Screen size,expand

Немного непонятно - если канвас будет с привязкой к камере, то при смещении камеры (например, за героем) - все поинты сместятся вместе с ней.
Если вся местность не привязана к камере - то получится разрыв - поинты уже не будут соответствовать местности - только камере.

Решал похожую задачу (исходники принадлежат заказчику) - писал простенький класс сегмента пути (либо поинт - 2 соседа, либо узел - развилка, множество связей). В нем хранились координаты (ГО) и связи с соседями.
Там логика бота была простая - встретил узел - тогда и выбрал ветку, а дальше просто "получить следующий узел сегмент" и движение.

Есть много способов решить задачу - одна из них, например, использовать бесплатные ассеты кривых - они дают возможность двигаться вдоль автоматом. А между кривыми можно положить узел - где будет выбор кривой. Просто обычно множество точек делают чтобы создать округлые пути.. а тут будет готовое решение.
И тп.


Мыслю - значит программирую...
Конструктивная критика - умных ведет к совершенству...
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
  • Страница 1 из 1
  • 1
Поиск:

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