14.09.2009, 12:05 | #1 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Генерация маршрутов
Тут вроде наиболее близкая тема для моего вопроса:
Имеем мод Zuti Стоит задача в генераторе миссий сгенерировать маршрут для транспорта, чтоб он шел по дороге. Есть уже проверенные способы или какие идеи для этого? На дороге используются только точки поворотов. Самый простой способ, это нарисовать в ПР несколько маршрутов и затем вставлять их.. но это прокатит для статичных карт. Для динамичных же, для разнообразия маршрутов, необходимо рисовать много десятков маршрутов, на некоторых - за сотню. Трудоемко. Без привязки к дорогам можно делать, но не айс. То по лесам, то по полям, то по воде поедут. Дополнительная проблема - привязка к мостам. Повторяю - задача для автоматической генерации точек, имея начало и конец. |
14.09.2009, 16:06 | #2 |
Модератор
|
|
14.09.2009, 17:01 | #3 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Который по движущейся наземке для догфайта.
Да не в нем суть. А в том что появилась возможность запустить колонны ехать, но не по заранее нарисованным в ПР маршрутам, а чтоб софт генерил маршруты в файл mis. По двум точкам - начало и конец. Вопрос не совсем в тему форума, но именно тут тусуются креативщики. Не на сухом же спрашивать... |
14.09.2009, 19:27 | #4 | |
Модератор
|
Цитата:
|
|
14.09.2009, 20:07 | #5 | |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Цитата:
Для маршрута же необходимы именно точки поворотов. Это сокращает значительно объем данных. Вот если б вытащить повороты только.. это значительно облегчит задачу. Но и в этом случае боюсь время обсчета будет значительным. Хотя, и не столь критичным. Тут примерно посчитал. Чтоб на Крым сделать достаточное количество маршрутов - придется минимум 60-80 маршрутов нарисовать. Но пока это самый реальный способ, учитывая мосты. Последний раз редактировалось JGr124_boRada; 14.09.2009 в 20:18. |
|
14.09.2009, 20:13 | #6 |
Местный
|
Ну, идея-то есть. В полном редакторе уже есть код поиска пути. Даже примерно понятно где он там (классы Path, PPoint, PNodes, PathFind). Но там все несколько запутано, так сразу не совсем понятно как это применить вне полного редактора.
|
14.09.2009, 20:21 | #7 | |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Цитата:
Вот выдрать бы алгоритм - в редакторе это делается двумя инсертами - начало и конец, все остальное софт. |
|
14.09.2009, 20:23 | #8 | |
Местный
|
Цитата:
Хотя бы по основным дорогам. Тупо, в ручную, из одного края к другому. Там же будут все повороты и мосты. Останется только все это отсортировать и можно генерить маршруты. Ну и наконец, как-то же редактор их создает, значит копая глубже можно вытащить вообще сам алгоритм и прикрутить его к генератору миссий. А, уже написали. Последний раз редактировалось Karabas-Barabas; 14.09.2009 в 20:26. |
|
14.09.2009, 20:36 | #9 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Это я уже сделал. Получил несколько списков
Попробовал такой алгоритм: беру точку старта. Ищу к ней ближайшую на дороге ( неоптимизировано, долго ищу) Затем от неё в ту или другую сторона по списку тупо копирую точки. тут проблема - посчитать дистанцию, пока только по прямой между стартом и следующей точкой. Но вот например провести маршрут имея 2 точки - два города например.. тут уже клинит мою голову. Только перебор - обсчитываем несколько маршрутов и берем тот который ближе всего подходит.. черт.. такие массивы получаются... |
14.09.2009, 20:49 | #10 |
Местный
Регистрация: 15.06.2009
Сообщений: 114
|
Вручную тяжко будет.
Гляньте на карту Нормандия1 хотя бы. з/ы/ перебор маршрутов это из теории графов - алгоритм не сильно сложный (вложенные циклы, рекурсивные вызовы + стек). Сложнее построить сам граф, все его отрезки от поворота до поворота и точки ветвлений (перекрестки). Грубо говоря, оцифровать все дороги. Вот как это сделать на автомате, пока не представляю. Последний раз редактировалось LePage; 14.09.2009 в 21:26. |
14.09.2009, 21:17 | #11 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Тут можно подойти так - "хватит и 10 колонн на карте", и тогда проблем нет. Но если делать что-то более красивое и логичное, колонны направлять от складов и заводов к точкам снабжения, а пункты меняются каждую миссию, На ГФ, например, если место позволяет. то точки для целей находятся в каждом квадрате, да и не по одной зачастую...
|
14.09.2009, 21:36 | #12 |
Местный
Регистрация: 15.06.2009
Сообщений: 114
|
Можно конечно попробовать провести трассировку дорог из map_T.tga на предмет точек поворота.
Вопрос - кто знает - к чему привязаны координаты в Иле? |
14.09.2009, 21:42 | #13 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Что значит к чему? 1 пиксел = 200 метрам на map_t
|
14.09.2009, 22:41 | #14 |
Модератор
|
Как сказать ... Кнопки Save As... в блоках дорог сохраняют дороги из map_t в виде отдельных файлов (они там нарисованы черным по белому) Тобто получается 2-битный файл и сделать трассировку такого, ПМСМ, задача для программера не из сложных ... я так думаю (с)
|
14.09.2009, 22:50 | #15 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
А, это да. Но я программер-самоучка поневоле. Для меня сложно.
|
15.09.2009, 13:15 | #16 |
Местный
Регистрация: 15.06.2009
Сообщений: 114
|
Грубо говоря верхний левый угол 00000.00 00000.00
Правый нижний хххххх.00 ххххх.00 Я имею ввиду те координаты что стоят в файле миссии: (пример) [0_Chief_Road] 500.00 43500.00 20.00 0 70 5.555555820465088 6300.00 43500.00 20.00 6500.00 43700.00 20.00 9900.00 43700.00 20.00 10100.00 43900.00 20.00 .... и все это в метрах? |
15.09.2009, 13:51 | #17 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
0 = левый нижний угол.
Цифры в метрах. |
15.09.2009, 15:10 | #18 |
Модератор
|
Упс Тогда видится два варианта ... Или привлекать SJack'а (прошу простить великодушно, что в третьем лице ) - товарищ, как-никак, программер, или идти на поклон к народу, поддерживающему нынче АДВ - там ведь, ЕМНИП, колонны путешествуют по карте ... нет?
|
15.09.2009, 15:24 | #19 |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
Жив разве еще АДВ?
Не.. на поклон не пойду никуда. Лоб уже расшиб. Сделаю как смогу. Я только подсказки прошу. |
15.09.2009, 17:51 | #20 | |
Местный
|
Цитата:
Сами ГТ не дадут, а админам с АДВ не разрешат давать.... |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|