В Source Engine персонажи передвигаются очень плавно и точно по всей карте (что выглядит естественно). Они не дергаются, бегая туда-сюда, если нашли какое-то препятствие как в GoldSrc. И они без проблем следуют за игроком по коридорам, комнатам и по лестнице, когда как в GoldSrc они могут где-то запнуться, вернуться или даже остановиться.
Вопрос: возможно ли улучшить навигацию в GoldSrc примерно до уровня Source? Если да, то на сколько сложно и долго? (я не спрашиваю какие строки в каких файлах поменять, с этим я сам справлюсь, но от помощи все равно не откажусь).
Заранее спасибо
P.S. Пока что есть идея найти (если есть) размеры сетки навигации и попробовать увеличить точность. Но пока что не могу проверить, есть ли она вообще.
invision20 Я заинтресован в этой теме, но ответ на твой вопрос ничего не изменит. Допустим, я скажу, что это сложно и долго.
На своем опыте скажу, что большую роль играет грамотная расстановка нодов на карте, а не волшебный код. Чтобы монстры сами шли до игрока (причем, до правильного игрока в мультиплеере) я, практически, ничего инновационного не писал, просто использовал код, что вальве оставила. Касательно монстров в хл есть очень много чего, нужно просто знать как это приспособить. Так что советую хорошенько так посидеть за чаем и сорцами хл.
Crystallize
Спасибо, я посмотрел этот туториал но мне кажется он не решит проблемы с запинаем и движением из стороны в сторону при следовании за игроком. Я проверю это точно когда освобожусь.
PLut
Возможно я ошибаюсь, но разве ноды в GoldSource не выставляют вручную в хаммере только для корректировки движения? На сколько мне известно, в игре ноды для движения сами генерируются как в Source.
~ X ~ В сорцах сервера коэс глянь LocalNav - это навигация, что юзают заложники в коэс, там много чего интересного есть, в т.ч. прыжки, лазание по лестницам. Самое главное - оно не юзает ноды, я добавлял заложников в чистую хл за пару минут и они хорошенько бегали везде.
invision20 На нодах основана вся навигация, попробуй заставить монстров пройти всю карту самостоятельно без нодов.
Вот посмотри откуда до куда монстры доходят сами по нодам, без них они бы остались стоять на месте и сыпали ошибки в консоль:
invision20 Ясен красен, можешь присмотреться, что монстры в видео бегут не сразу к игроку, так как строго следуют путям, построенным по нодам.
Вот еще забавный кадр, были проблемы когда монстры останавливались на ступеньках только потому, что со ступеньки не могли увидеть нод на верху лестницы, пришлось ставить нод на каждую ступеньку. И оно того стоило.
В первой и во второй халфе код навигации монстров совпадает на 80% примерно. Просто во второй халфе исправили баг с эвентами, из-за которых монстры регулярно ловят жуткие тупняки. Там же ИИ анимационно-зависимый - даётся команда, играется анимация, из анимации посылается эвент, как сигнал для ИИ. Короче оно регулярно проскакивает из-за чего монстры подолгу тупят на одном месте. Если починить эти стрёмные моменты, то монстры становятся такие же бодрые как и в хл2.
>проблемы когда монстры останавливались на ступеньках только потому, что со ступеньки не могли увидеть нод на верху лестницы, пришлось ставить нод на каждую ступеньку. И оно того стоило.
Этому нодеграфу бы местами вручную задавать связи, вечно он тупит с построением на ровном месте.
Код графа явно кем-то отдельно написан (мб аутсорсинг?) т.к. п стилю и вообще всему сильно отличается от остального кода (а уж сколько там грязи и неприятностей...)
Цитата:
Дядя Миша писал: Если починить эти стрёмные моменты, то монстры становятся такие же бодрые как и в хл2.
А ты уже починил? Это про пропуск эвентов между кадрами что-ли?
Цитата:
PLut писал: ~ X ~ В сорцах сервера коэс глянь LocalNav
Дашь поглядеть?
Это там, где навмеши используются или там вообще ничего не используется?
Кстати, у меня закралось такое подлое чувство, что перенести код заложников на монстров помешает какой-нибудь очередной затык в эмуляции движения в движке...