Как оптимизировать карту в Hammer Editor: 10 шагов (с изображениями)

Оглавление:

Как оптимизировать карту в Hammer Editor: 10 шагов (с изображениями)
Как оптимизировать карту в Hammer Editor: 10 шагов (с изображениями)
Anonim

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

Шаги

Оптимизируйте карту в Hammer Editor, шаг 1
Оптимизируйте карту в Hammer Editor, шаг 1

Шаг 1. Закройте комнаты

Это обязательно. Если на карте есть ЛЮБЫЕ утечки, компилятор не сможет определить границы карты и попытается отобразить все на карте сразу. Что еще хуже, любые порталы области, кисти-подсказки и окклюдеры на карте не будут работать, что сделает их бесполезными. Кроме того, вода не будет отображаться правильно, если на карте есть утечки.

  • На рис. 1а помещение явно не герметично. Если вы скомпилируете эту карту с этой утечкой, vvis (часть компиляции, которая определяет данные о видимости) не сможет определить границы карты, поскольку висливы просто «просочатся» в черную пустоту за пределами нашей карты.
  • На рис. 1б помещение заделано и будет правильно скомпоновано.
  • Чтобы проверить наличие утечек, сначала убедитесь, что на карте есть хотя бы один объект (например, «info_player_start»), иначе это не сработает. Сохраните и скомпилируйте BSP, нажав F9 или выбрав File -> Run Map. Выберите "Нормальный" для Запустите BSP, и выберите "Нет" для обоих Запустить VIS а также Запустите RAD (также не забудьте проверить «Не запускать игру после компиляции» коробка). После завершения компиляции закройте журнал компиляции и перейдите в раздел «Карта» -> «Загрузить файл точки». Если есть какие-либо утечки, он попросит вас подтвердить операцию (например, «Загрузить файл точек по умолчанию? [C: / Program Files / ----]). Выберите« Да », и вы увидите выступающую красную линию. от ближайшего объекта * через область утечки. (* Вот почему вам нужен объект, кисть или точка, на вашей карте. Это не работает с кистями мира или деталей.) Закройте утечку, перекомпилируйте BSP и загрузите точечный файл. Если все запечатано, он должен просто перейти в пустую папку в Steam / steamapps / GAMERTAG / GAME / mapsrc папка. Всегда проверяйте наличие утечек перед публикацией карты.
Оптимизируйте карту в Hammer Editor, шаг 2
Оптимизируйте карту в Hammer Editor, шаг 2

Шаг 2. Создайте кисти с помощью «tools / toolsnodraw»

Убедитесь, что вы всегда создаете кисти с инструменты / инструменты сначала текстурировать, а затем текстурировать только то, что игрок может видеть с его точки зрения. Если вы собираетесь видеть только одну сторону стены, то текстурируйте только эту видимую сторону.

Оптимизируйте карту в Hammer Editor, шаг 3
Оптимизируйте карту в Hammer Editor, шаг 3

Шаг 3. Уменьшаем количество кистей и граней

По возможности старайтесь создавать геометрию с помощью нескольких больших кистей, а не тысячи маленьких. Чем больше кистей, тем больше граней, а чем больше граней, тем меньше производительность и время компиляции. Итог: если вы можете создать сложную геометрию с помощью одной или двух кистей, зачем использовать что-то большее?

На рис. 3а показаны две кисти: левая была создана с помощью инструмента «Арка», который создал 8-стороннюю кисть с 40 гранями, а правая была сделана из одной обрезанной кисти с 11 гранями. Последнее было достигнуто с помощью инструмента Clipping Tool (Shift + X). Для достижения последнего рекомендуется сначала создать желаемую геометрическую форму с помощью инструмента «Арка» для справки. Затем создайте кисть той же длины, ширины и высоты, что и эталонная дуга, и поместите ее немного выше эталона. Выберите кисть и обрежьте углы. (вам может потребоваться изменить размер сетки («-» для уменьшения, «+» для увеличения) и / или вручную переместить вершины (Shift + V) опорной дуги для привязки к ближайшей точке сетки.) Теперь у вас есть геометрически идентичная кисть, но только с меньшим количеством граней

Оптимизация карты в редакторе Hammer Шаг 4
Оптимизация карты в редакторе Hammer Шаг 4

Шаг 4. Используйте кисти для детализации

Кисти мира блокируют видимость, запечатывают карту и разделяют BSP на «листья», которые, по сути, являются способом компилятора определять, что можно и что нельзя увидеть в любой момент и в любом месте. Кисти детализации были разработаны так, чтобы по существу быть «невидимыми» для компилятора. Единственными кистями, которые должны быть мировыми кистями, являются стены, пол и потолок комнаты. Практически все остальное в комнате, которое не является рабочим объектом и не сильно блокирует зрение игрока, должно быть привязано к кисти func_detail (связать с помощью Ctrl + T). Поскольку кисти деталей не блокируют видимость, они не будут компилироваться в vvis вычислений и не разбивает карту на большее количество вислистов (что в большинстве случаев хорошо). Имейте в виду, что он также не закроет карту. Просто убедитесь, что все кисти мира запечатывают карту и проблем быть не должно.

Оптимизация карты в Hammer Editor Шаг 5
Оптимизация карты в Hammer Editor Шаг 5

Шаг 5. Правильно используйте порталы и кисти-подсказки

Порталы с областями и кисти-подсказки - отличные способы ограничить видимость и повысить производительность, если все сделано правильно. Тем не менее, вы не должны размещать их в каждом коридоре и окне, так как количество для расчета того, что должно быть отрисовано и когда, вполне может превзойти простую визуализацию всей комнаты сразу. Вместо этого вам следует разделять комнаты только с большим количеством деталей. Это избавит ваш компьютер от необходимости визуализировать множество ненужных объектов и поможет повысить производительность, не создавая большой нагрузки на вычисления видимости.

Оптимизация карты в редакторе Hammer Шаг 6
Оптимизация карты в редакторе Hammer Шаг 6

Шаг 6. Используйте окклюдеры (экономно)

Окклюдеры похожи на портал с закрытой областью, поскольку он не отображает то, что находится за ним. Однако он отличается от портала с закрытой областью тем, что ему не нужно закрывать комнату (он может быть отдельно стоящим и не касаться мировых кистей), и он блокирует только 3D-модели (также известные как реквизит). Этот инструмент очень дорог с точки зрения использования памяти, поэтому вам следует использовать окклюдеры только в том случае, если за отдельно стоящей стеной есть дорогая 3D-модель, которую нельзя закрыть площадными порталами.

Оптимизируйте карту в Hammer Editor, шаг 7
Оптимизируйте карту в Hammer Editor, шаг 7

Шаг 7. Добавьте трехмерные скайбоксы

Не обязательно, но это поможет увеличить карту без значительного снижения FPS (кадров в секунду). 3D-скайбоксы обычно создаются для «больших» открытых карт, но их можно сделать и для внутренней карты, если вы можете видеть внешний вид через окно или что-то в этом роде. 3D-скайбоксы очень дешевы в рендеринге и могут сделать небольшую карту в 16 раз больше, поскольку 3D-скайбоксы имеют масштаб 1/16 в Hammer, а затем масштабируются во время компиляции.

Оптимизация карты в Hammer Editor Шаг 8
Оптимизация карты в Hammer Editor Шаг 8

Шаг 8. Добавьте туман

На больших открытых картах туман может ограничить количество деталей, которые визуализируются, и может сделать вашу карту более реалистичной в процессе. Просто добавьте объект env_fog_controller на свою карту. На опции «Включить туман» в Свойства объекта на вкладке выберите «Да». Затем отредактируйте Плоскость отсечения по оси Z по своему вкусу, который удалит все кисти после этого расстояния, исключив возможность рендеринга ненужных объектов движком (Плоскость отсечения по оси Z значение должно быть больше, чем Конец тумана ценить).

Оптимизация карты в редакторе Hammer Шаг 9
Оптимизация карты в редакторе Hammer Шаг 9

Шаг 9. Не сходите с ума от Lightmap Scale

Масштаб карты освещения по существу определяет, насколько резкие или размытые тени отображаются на геометрии. Большие числа ухудшают качество теней, но могут повысить производительность. Напротив, более низкий масштаб карты освещения увеличивает визуальные эффекты теней, но может значительно снизить производительность. Слишком большой или слишком маленький масштаб карты освещения может привести к нереалистичному световому эффекту, который будет либо слишком тусклым, либо слишком резким, соответственно. Масштаб карты освещения по умолчанию для всех кистей равен 16, что является сбалансированной областью между визуальными эффектами и производительностью.

Оптимизация карты в Hammer Editor Шаг 10
Оптимизация карты в Hammer Editor Шаг 10

Шаг 10. Если на вашей карте есть вода, поместите на карту объект «water_lod_control»

Эта сущность определяет, как далеко вы должны быть от «дорогой» воды, чтобы она перешла на «дешевую» воду. Дорогая вода выглядит намного более реалистичной, чем дешевая, и поэтому стоит дороже с точки зрения использования памяти и вычислений на компьютере. Более короткое переходное расстояние даст более дешевую воду на меньшем расстоянии и, следовательно, потеряет много визуального качества на расстоянии, но также увеличит производительность.

подсказки

  • Смещения не блокируют видимость, поэтому, чтобы убедиться, что карта запечатана, создайте кисть мира с инструменты / инструменты текстуру под смещением и скрепите ею карту (т.е. углы этой кисти должны касаться углов скайбокса). Как и на первом этапе, всегда убедитесь, что карта запечатана, иначе практически все упомянутые методы оптимизации будут выброшены из окна в черную пустоту движка Source.
  • При создании ареапорталов (путем создания кисти с текстурой инструменты / toolsareaportal и привязав его к func_areaportal), очень важно, чтобы стороны ареапортала, которые не просматриваются, касались мировых кистей. Например, если вы хотите разместить ареапортал в дверном проеме, но у этого дверного проема есть рамка, привязанная к func_detail, вы должны нет иметь кисть areaportal, касающуюся дверной коробки, потому что это func_detail (и поскольку кисти func_detail не влияют на видимость, журнал компиляции вернется с утечкой). Вместо этого ареапортальная кисть должна касаться стен, потолка и пола двери (все они должны быть мировыми кистями), пересекая дверную коробку. Не беспокойтесь, что дверная рама может образоваться "z-образным вырезом"; кадр по-прежнему будет правильно отображаться в игре… он просто есть в редакторе Hammer, чтобы компилятор мог использовать его во время vvis.
  • В этой статье предполагается, что у вас есть базовые знания об интерфейсе Hammer Editor (создание кистей, размещение объектов, связывание объектов и т. Д.).
  • При создании кистей-подсказок текстурируйте только грани, действующие как плоскости подсказки (грани, которые будут разделять BSP) с помощью tools / toolshint текстура. Текстурируйте все остальные грани кисти, не выступая в качестве плоскости подсказки, с помощью tools / toolsskip, иначе вы создадите больше вислифов, чем хотите.
  • Вы можете связать состояние открытого / закрытого портала области с рабочей дверью, такой как func_door, func_door_rotating или аналогичным объектом. Для этого двери, с которой вы хотите связать портал ареала, нужно уникальное «имя». (Дайте имя, дважды щелкнув дверь, чтобы открыть ее Свойства объекта окно и дайте ему простое имя под Имя на вкладке Информация о классе.) После того, как дверь названа, перейдите на портал области. Свойства объекта и прокрутите вниз до «Имя связанной двери» и выберите дверь, с которой вы хотите связать портал области. Также (и это очень важно) вам нужно установить Начальное состояние портала к Начальное состояние двери. Это гарантирует, что когда дверь закрывается, портал области закрывается вместе с ней. Если вам интересно, что именно диктуют состояния открытого / закрытого ареапортала, если ареапортал открыт, отображаются все висливы, которые видны через другую сторону ареапортала. И наоборот, если ареапортал закрыт, то ничего за пределами ареапортала не будет отображаться. Так что, если есть открытый коридор, в который вы всегда сможете заглянуть, Начальное состояние портала области следует установить в положение "Открыто", а не "Закрыто". И когда вы связаны с дверью, вы все равно не сможете видеть за дверью, поэтому установите для него значение Closed, если дверь появляется закрытой (если только у нее нет прозрачного окна, которое тогда у вас должно быть установлено в areaportal на Open и надевать Даже не удосужился привязать его к двери).

Предупреждения

  • Никогда не создавайте сложную кисть с помощью Hollow Tool. Вершины (углы кистей) будут пересекаться друг с другом и создадут большой беспорядок.
  • Используйте окклюдеры только в крайнем случае. Это очень интенсивно использует память, поэтому, если опору можно запечатать в комнате с ареапорталами или если можно разделить висливы с помощью подсказок и пропустить кисти, откажитесь от использования окклюдеров.
  • Открытые ареапорталы потребляют гораздо больше памяти, потому что висливы рассчитываются в реальном времени. Рекомендуется как можно чаще использовать закрытые ареальные порталы или кисти-подсказки.

Рекомендуемые: