XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
BlackStuff

offline
Опыт: 1,656
Активность:
проверка на проходимость
Как проверить, может ли юнит пройти в указанную точку?
К примеру, точка окружена другими юнитами, туда нельзя пройти, но при отдаче приказа, наш юнит всё равно побежит туда и наткнется на живую преграду. Можно запустить dummy по маршруту, но проблема в том, что проверка должна быть моментальной, а dummy будет тратить на это время, если же двигать его триггерно, то он может наткнуться на любое другое препятствие.
Старый 23.12.2010, 00:19
agentex

offline
Опыт: 34,834
Активность:
никак, как сумашедший вариант писать свой паффайдинг и двигать тригерно
Старый 23.12.2010, 00:32
BlackStuff

offline
Опыт: 1,656
Активность:
1 - что есть паффайдинг? (я безграмотный)
2 - уточню, в пошаговых стратегиях всё это реализовано, а мне это нужно как раз для пошаговой игры (ходы по клеткам (как в heroes), например, когда вокруг свободной клетки стоят войска, пешим юнитам туда не пройти, могут только летающие или телепортирующиеся).
Старый 23.12.2010, 00:49
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
BlackStuff, ну можно сделать так - пикни юнита-цель и проверь вокруг него клетки (скажем их будет 8 (3 сверху, по 1 по бокам и 3 снизу)) и если все они заняты - значит к юниту подойти нельзя.
Vampirrr добавил:
В худшем случае таймером с периодиком в 0.01 двигать дамми по маршруту проверяя, нет ли препятствия.
Старый 23.12.2010, 00:55
BlackStuff

offline
Опыт: 1,656
Активность:
Это можно, но будет смотреться коряво, когда юниты, управляемые компом, будут делать то же самое (хоть это и нечастая ситуация). И просто очень интересно, как это реализовано в heroes (там всё заранее рассчитано)...
Можно двигать по маршруту, но это долго, т.к. комп будет проводить автобой, желаемая длительность которого - не более 10-15 секунд, иначе получится тягомотина и никакого интереса для игрока.
Старый 23.12.2010, 00:57
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
BlackStuff:
Это можно, но будет смотреться коряво
Я немного не понял, почему это будет смотреться коряво? Кто тебе мешает создать невидимого даммика со способностью locust? Там вообще смотреться ничего не будет и проверка длится будет не более секунды.
Vampirrr добавил:
А герои делались не на движке варкрафта и уж точно программировались не в Jass xD
Vampirrr добавил:
Кстати, в варианте с клетками даже даммики ненужны..Создать 1 рект и двигать его вокруг цели, проверяя есть ли в нем юнит. При каждом нахождении юнита увеличивай переменную. Если в конце перменная равна количеству квадратов вокруг цели - цель окружена преградами.
Старый 23.12.2010, 01:14
BlackStuff

offline
Опыт: 1,656
Активность:
Vampirrr, благодарю, навел на нужную мысль, таким образом можно проверить все клетки, открытые для хода юнита, заблокировать лишние. Тему можно закрывать.
Старый 23.12.2010, 02:11
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
BlackStuff, я когда то маялся подобным, советую почитать про A*, но офк на Варе это толково все равно не реализуемо.
Старый 23.12.2010, 04:54
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
MF, я шахматы делал, с более-менее похожей, но все же более извращенной системой, где выяснял, куда может пойти та или иная фигура и все отлично работало. А с ректом, если зная возможные позиции юнитов и имея ограниченное кол-во возможных вариантов, можно замутить вполне нормальную системку..Но все равно много работы.
Старый 23.12.2010, 05:43
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Vampirrr, Шахматы это немного не то. A* - конечно не полный перебор и один из самых оптимальных способов поиска пути, но тем не менее ресурсоемок. Хотя вызываться он будет только при отдаче команды, в любом случае, автору темы придется попотеть дабы реализовать его.
Старый 23.12.2010, 05:49
Diaboliko
Silenced by Diaboliko
offline
Опыт: 16,108
Активность:
В целом, попробуй поискать на хайве(увы у меня трафика тютю...)
И что такое А*?
Старый 23.12.2010, 06:48
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Ну как то так
Старый 23.12.2010, 07:02
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 05:19.