__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Я и делаю статичный граф. Динамический во время игры проверяется, очевидно же.
Посмотрел как в том же сталкере всё это устроено. Навскидку что могу сказать - калечная трасса. Там есть проверка на ббоксы, но она не использовалась, видимо слишком часто давала недостоверные результаты.
Поэтому все тесты - через луч. Ессно, там куча нодов попадает куда не следовало бы.
Добавлено 21-03-2023 в 11:33:
Я исхожу из того, что трасса в игре и трасса в компиляторе навигации должна быть идентичной. Мы же вычисляем в оффлайне всё то, что можно проделать в реалтайме, но не нужно. т.к. можно рассчитать предварительно.
Эх, опять куча подготовительной работы, загрузи то, загрузи это.
Дядя Миша писал: Динамический во время игры проверяется, очевидно же.
Расскажи подробнее как навигация работает у динамических объектов.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Расскажи подробнее как навигация работает у динамических объектов.
Цитата:
Дядя Миша писал: Я абсолютно ничего не знаю о построении графов, ну только про алгоритм A* кое-что слышал.
На данный момент времени ты в этом шаришь лучше меня. Я понятия не имею как там всё устроено. Я могу только рассказать, как сделал бы лично я. Но не буду. Сначала надо разобраться со статикой. Мне эта задача представляется куда более сложной. Потому что динамики - мало. В том же сталкере может быть одна-единственная дверь на гигантском уровне.
А вот статики там дохрена и пойди найди ещё путь среди всех этих йолок и сосен.
Дядя Миша писал: На данный момент времени ты в этом шаришь лучше меня.
Честно говоря - не шарю вообще. В Юнити с этим тоже проблема, и каких то универсальных решений для динамики я не видел. Разве что как то прибивать гвоздями к ним статичный навмеш что тоже задача нетривиальноя. По поводу дверей я думаю тоже стоит разделять навмеш на какую то сетку или сегменты чтобы их можно было отключать если туда разместили какое то препятствие, наверное в сталкере такая сетка из точек для этого и нужна. Но это чисто мои догадки, как на самом деле, я не знаю.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Для начала надо загрузить колоизацию, которую рассчитал makebsp.
Когда у нас есть колоизация, то мы можем вытворять разные интересные штуки (в штанах).
Дядя Миша
Мне кажется что навмеш вообще сомнительная фигня. Он слишком избыточен на больших дистанциях, где этого не требуется, а на вблизи наоборот очень грубый где наоборот требуется большая точность. Кажется что для поиска по всей карте достаточно использовать обычные точечные ноды которые просто показывают нам что они друг друга видят, что то вроде регулярной сетки лайтгрида (это можно использовать и для летающих нпц), а вот в области видимости нпц уже строить в реальном времени детальную сетку навигации включая динамические объекты. Причем с дистанцией можно детализацию этой сетки уменьшать.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
У регулярной сетки есть один большой минус - она иногда промахивается мимо дверных проёмов и прочих узких мест. Подгонять геометрию под сетку тоже весьма сомнительное дело.
Дядя Миша писал: У регулярной сетки есть один большой минус - она иногда промахивается мимо дверных проёмов и прочих узких мест. Подгонять геометрию под сетку тоже весьма сомнительное дело.
Это как пример, возможно есть более эффективный способ расстановки этих нодов, главное чтобы они видели друг друга, так то их много не нужно.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Потому что динамики - мало. В том же сталкере может быть одна-единственная дверь на гигантском уровне.
А вот статики там дохрена и пойди найди ещё путь среди всех этих йолок и сосен.
У меня сложилось впечетление что динамики в сталкере мало потому что ИИ не умеет их обходить и как-то взаемодействовать, что видно по модам на машины всякие, НПС просто прут в них если поставить ее на пути. Тоже самое если через какой-то спавнер спавнить большие пропы. Есть мелкие пропсы на локациях где полтергеи, но опять же, они такие что НПС столкнут их просто с пути.
Если не ошибаюсь они то и не шибко аномалии обходят, кроме статичных расставленных маппером, и не редко мододелы делают НПС неуязвимыми к ним и огню чтобы они не дохли в них и в кострах. С кострами вообще рофл, но там правда чуть другой баг, там НПС просто спавнятся в центре лагера когда игрок на локацию переходит, а это костер и сгорают, хотя с другой стороны оно создавало свою особую атмосферу в ТЧ, будто сталкера такие суровые челы что провинившегося просто сжигают в костре травя анекдоты, бедный Волк, сколько играл, он всегда оказывался сожжённым в костре на Армейских Складах.
Я поначалу превращал ячейки навмеша в полигоны, полигоны в брашы, брашы записывал в карту, а карту смотрел в кварке, но во первых эти самые карты могли легко достигать полгигабайта в размерах и кварк их очень долго открывает (но всё-таки открывает), а во вторых (и это главное), смотреть на навмеш в сферическом ваккууме удобно лишь до поры до времени, а потом всё-же хочется оценить его в совокупности с препятствиями. Первые эксперименты в картинках:
Добавлено 23-03-2023 в 19:58:
У вас разумеется возникнет вопрос, почему навмеш залазит под солиды, отвечу - потому что никакого тестирования на солиды в построении этого навмеша ещё не участвовало. Выброшены только ячейки, которые не смогли получить нормальный размер 32х32.
Интересно как оно отработает на склонах, на том же грасстресте
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Склоны не проблема, проблема не попадание в ячейки регулярной сетки. По крайней мере в текущей принятой концепции. Да и пока оно никак не работает, я просто меш строю и визуализирую его.
Zbot используют вроде навмеши или навзоны. Отлично бегают. Эти боты еще используются в л4д и ксго. И код есть. Совместить бы их вейпоинты с хл монстрами...