вернуться на beanet.ru вернуться к списку проектов вернуться на главную страницу сборника

Тема: Утечки (leaks)


Ключевые слова: утечка, дыра, leaked

См. также:
Список используемых понятий, сокращений и обозначений

перейти к общему списку

Обозначают "дыры" на карте, ведущие в "окружающее ее пространство". Другой случай - если на карте проблемы с объектом func_areaportal или func_areaportalwindow (кольцевая утечка). Для обнаружения утечек используется команда меню Map -> Load PointFile.

Правильно построенной считается такая карта, на которой игровое пространство закрыто со всех сторон обычными брашами. Иначе говоря - игрок (равно как и NPC) не может "увидеть" или попасть во внешнюю область относительно карты.
Не нужно путать внешнюю область карты с эффектом неба (skybox), которое по сути - иллюзия.
Зазор между брашами, ограничивающие карту энтити или специальные браши (т.е. Displacement-браш, водный браш), вырезанный и не закрытый кусок браша на границе карты и тому подобные случаи считаются "дырами" карты. Т.е. сквозь них могут "смотреть наружу" игрок и отдельные NPC, а также любой из компиляторов карты. Это считается ненормальным.
"Окружающее пространство" - внешняя область относительно карты, все теоретически доступное, не ограниченное брашами место для создания карты, которое мы видим в редакторе Hammer. На самом деле в игре оно уже не существует и не должно обрабатываться движком. В этой области недопустимо расположение игрока и других энтити.

Если на карте есть утечки, время компиляции увеличивается (при неизменных параметрах освещения на карте) - косвенный признак, указывающий на ошибку, поскольку увеличивается объем для расчета освещения. В игре могут появиться различные проблемы ("плывет" изображение, игрок проваливается сквозь землю и т.п.). Более точное указание на утечку - сообщения, оканчивающиеся словом leaked! в журнале (логе) компиляции.
Для окончательного обнаружения утечки используйте команду меню Map -> Load PointFile сразу после компиляции карты (желательно). Если при этом открывается окно выбора файла - утечек на карте нет, нажмите кнопку Отмена.

В противном случае на карте появится красная ломаная линия, которая показывает одну из существующих утечек. Необходимо просмотреть ее траекторию, учитывая следующее:
  • линия, проходящая через центр какой-либо грани (или энтити), указывает на утечку сквозь энтити или нестандартный браш;
  • линия, проходящая между брашами, указывает на неплотное прилегание их друг ко другу;
  • каждая энтити заключена в параллелепипед, определяющий ее условные границы (bounding box). Этот параллелепипед также способен вызвать утечку, даже если ограниченная им энтити лежит в пределах карты.
Рекомендуется следующий способ проверки на утечки: откомпилировать карту с отключенными VVIS и VRAD, а также с установленным флагом Don't run map after compiling. Просмотреть начало журнала компиляции - каждая строка с окончанием leaked! указывает на утечку, координаты в этой строке указывают на конкретное место; либо выполнить пункт меню Map -> Load PointFile (см. выше) для визуального поиска.

Замечание: если красная линия утечки мешает работать над картой, используйте команду меню Map -> Unload PointFile, чтобы ее убрать. Только не забывайте: в этом случае утечки на карте все равно остаются, просто они не отображаются.



Статьи (рус):
Статьи (eng):

перейти к общему списку

Номер статьи: 17

Сборник полезной информации по созданию модификаций на движке Valve Source Engine (игры Half-Life 2, Episode One, Episode Two)