Навигация. Что это?

Вы наверняка слышали, что карты под Left4Dead и Left4Dead2 имеют дополнительные "карты навигации". По этим картам, боты ориентируются в пространстве и понимают, что где находится, где можно отсидеться, где лестницы и проемы. В отличие от CS:S, вы не можете переложить большую долю проблемы генерации карты навигации на плечи самой игры, вам придется решать ее самостоятельно. Мы не будем сейчас разбирать, как строить навигацию для вашей карты, это тема отдельного урока, сейчас мы просто разберем типы навигационных зон и сферы их применения.
Для начала, список навигационных зон и их значение:

AVOID
Информирует NPC, что этих областей следует избегать

BATTLEFIELD
Определяет область эпической битвы. Монстры и зараженные будут появляться и набегать в данные области. Все выжившие должны находиться среди этой области, для правильной работы события PanicEvent.

BATTLESTATION
Область стратегически выгодная для обороны (узкий проход, тупик, угол). Боты выживших будут учитывать эти области навигации как стратегические объекты и будут их оборонять от нападения (при условии, что игрок находится поблизости от таких зон. В противном случае боты будут защищать игрока).

BREAKABLEWALL (Left 4 Dead 2)
Указывает зараженным, что стену можно сломать. Рассматривается в этом уроке.

CHECKPOINT
Определяет безопасные области на карте. Игра начинается, как только выжившие покидают эту область навигации и заканчивается как только закрывается дверь за последним выжившим. Этими областями навигации размечаются области расположенные в убежищах.

CLIFF
Указывает игре на высоко расположенные уступы, падение с которых вызовет гибель игрока или выход его из строя. Области маркируются автономно в момент генерации навигационной сетки.

CROUCH
Указывает ботам на необходимость присесть. Например для преодоления низкого пролома в стене. Обычно маркируется автономно при выполнении команды nav_analyze.

DONT_HIDE
Обозначает области не пригодные для укрытий

DOOR
Обозначает дверные проемы. Располагается в них же. Обычно размечается автономно при выполнении команды nav_analyze.

EMPTY
Предотвращает появление бродящих зомби. Применимо для маркировки мест, в которых вы хотите избежать генерацию зомби.
Внимание! Игнорируется ботами выживших и особыми зараженными.

ESCAPE_ROUTE
Основной путь по карте от начала до конца, связывает старт/чекпоинт/финал. Следует генерировать с помощью команды nav_analyze. При разметке в ручную, может порождать ошибки. Данная разметка помогает искусственному интеллекту игры принимать решения о генерации волн зомби и особых зараженных опираясь на манеру прохождения выживших и процент преодоления маршрута.

FINALE
Указывает области завершения кампании и контролирует появление ВСЕХ инфицированных в определенной последовательности. Как только игра получает команду "FINALE" (выжившие вызвали эвакуацию), области промаркированные как "FINALE" заполняются инфицированными. Следует маркировать этим атрибутом большие площади для масштабности битв. Обязательно должны содержать и маркировку BATTLEFIELD.

JUMP
Маркировка областей доступных только зараженным, и означает, что для того, чтобы достигнуть этой области, необходимо подпрыгнуть. Размечается автономно при выполнении команды nav_analyze.

LYINGDOWN (Left 4 Dead 2)
Генерирует лежащих инфицированных поднимающихся при приближении выживших.

MOB_ONLY
Маркировка навигационных областей доступных только мобам. Не маркируется вручную, только автономно.

NOT_CLEARABLE
Данным атрибутом маркируются области на открытой местности или в больших помещениях для генерации инфицированных. Используются если область находиться в поле зрения игрока, но не видима ему (например за туманом). Считается областью генерации инфицированных, если не находится в поле зрения игрока. Области промаркированные этим атрибутом следят за полем зрения игроков и при появлении области не находящейся в поле зрения хотя бы одного игрока вызывает генерацию инфицированных.

NO_HOSTAGES
Не используется

NO_JUMP
Не используется

NO_MERGE
Не используется

NO_MOBS
Предотвращает генерацию мобов. Размечается вручную.

NOTHREAT
Предотвращает появление Танка, Ведьмы и особых зараженных.

OBSCURED
Влияет на количество и порядок генерации зараженных. Очень важный элемент навигации, необходимо использовать осторожно и с умом. Применяется в двух случаях:
1. Обозначает, что область недоступна для выживших и позволяет искусственному интеллекту генерацию зараженных. Используется в изолированных переулках и других областях недоступных для обзора выжившим.
2. Позволяет генерацию зараженных даже в пределах прямой видимости выживших. Полезно при густом тумане и наличии растительности (кусты и деревья, являясь Entity-объектами считаются игрой "прозрачными" для взгляда). Поле зрения выживших-ботов так же блокируется во избежание "суперзрения".

OBSTACLE_TOP
Этим атрибутом маркируются области поверх - блоков, небольших заборчиков, бетонных разделителей. Информируют мобов о необходимости перелезть через препятствие. Обычно размечается автономно при выполнении команды nav_analyze.

PLAYERCLIP
Не используется

PLAYER_START
Этот атрибут используется только на первой карте кампании в точке старта. В дальнейшем, на последующих картах игроки будут появляться относительно Entity-объекта info_landmark.

PRECISE
Используется для отметки узких путей, например балка между домами.

RESCUE_CLOSET
Пометка "спасательного шкафа". Размечается автономно при выполнении команды nav_analyze.

RESCUE_VEHICLE
Разметка зоны в которую должны перейти выжившие для эвакуации. Используется только в финале и остается заблокированным до выполнения "FinaleEscapeVehicleReadyForSurvivors" (прибытие эвакуационного транспорта). Данные области должны полностью покрывать пол эвакуационного транспорта при прибытии его на место.

RUN
Не используется

STOP
Не использыется

STOP_SCAN
Редко применяется. В основном вокруг лестниц для поочередного прохода ее ботами.

STAIRS
Указывает ботам, что они идут по ступенькам для отображения соответствующей анимации.

STAND
Не используется

TANK_ONLY
Области навигации предназначенные только для Танка. Размечается автономно при выполнении команды nav_analyze рядом с физическими объектами подходящими для использования в качестве оружия.

THREAT
Размечается автономно при выполнении команды nav_analyze. Предназначены для генерации Ведьмы и Танка.

TRANSIENT
Области, которые можно заблокировать для прохождения.

UNDERWATER
Области промаркированные этим атрибутом означают наличие воды. Размечается автономно при выполнении команд nav_analyze и nav_generate.

WALK
Указывают ботам на необходимость перейти с бега на шаг.

Вот и все. Большинство навигационных областей сами подсказывают вам свое назначение своим названием, остальное мы вам рассказали.

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.