Оптимизация карты
В этой статье представлены все самые возможные и актуальные варианты оптимизации карты.

Оптимизация при помощи HINT и SKIP брашей
Оптимизация карты с помощью брашей HINT и SKIP может значительно улучшить ее производительность и сделать игровой процесс более плавным для игроков.

1. Понятие брашей HINT и SKIP:

Браши SKIP — Это структурные браши, которые, по сути, пропускают рендеринг определенных областей карты. Они предотвращают ненужный рендеринг скрытой или удаленной геометрии, повышая общую производительность.

Браши-HINT — Эти браши дают подсказки игровому движку, позволяя ему принимать более обоснованные решения о том, какую геометрию следует отрисовывать, а какую можно пропустить. Они помогают оптимизировать расчеты видимости.

2. Определение возможностей оптимизации:

Откройте карту в редакторе и переключитесь в режим 3D-текстурирования (Alt + P).

Найдите области, которые игроки не могут увидеть или достать, например, скрытые комнаты, крыши домов или дальние ландшафты.

Определите области со сложной геометрией или брашами, которые мешают обзору других областей.

4. Использование брашей-подсказок:

Определите области, где видимая геометрия закрыта другими брашами.

Создайте Браш-HINT, закрывающую окклюдер и область, которую он заслоняет.

Текстурируйте HINT-браш с помощью текстуры: tools/hint.

Убедитесь, что HINT-Браш не слишком большой и точно покрывает необходимую область окклюзии.

5. Компиляция и тестирование:

Сохраните и соберите карту (F9). Запустите карту в игре и проанализируйте прирост производительности. Обратите внимание на частоту кадров и плавность протекания игрового процесса.

При необходимости внесите изменения в браши SKIP и HINT. Возможно, для достижения желаемых результатов оптимизации придется экспериментировать и повторять эксперименты.

Помните, что эффективность использования HINT и SKIP брашей зависит от сложности карты и от того, насколько правильно вы их используете. Используйте их экономно и стратегически, концентрируясь на тех областях, которые больше всего выиграют от оптимизации.

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

1. Определение областей:

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

2. Создание Detail-брашей:

Для создания Detail-брашей необходимо создать новый браш или модифицировать существующий. Выберите инструмент Block Tool и создайте или измените размер браша до нужной формы.



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

3. Применение текстуры NODRAW:

После того как браш детализирован, примените текстуру ко всем ее граням. Текстура: NODRAW — Делает браш невидимой и не позволяет ей участвовать в расчетах столкновений, что повышает производительность.

4. Назначение соответствующих текстур:

После применения текстуры NODRAW выберите соответствующие текстуры для видимых граней Detail-брашей. Выберите текстуры, которые соответствуют желаемой эстетике и хорошо вписываются в общую тематику карты.

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

5. Управление освещением и тенями:

Для дальнейшей оптимизации работы Detail-брашей следует обратить внимание на управление освещением и тенями. Чтобы снизить влияние на производительность, используйте светлые сущности в областях с Detail-брашами.

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

6. Использование реквизитов деталей:

Заготовки деталей — Это готовые декоративные объекты, такие как камни, листва или мусор, которые можно разместить на карте. Использование этих реквизитов вместо создания сложных брашей не только экономит время, но и повышает производительность.

Hammer Editor предлагает широкий выбор реквизитов, которые можно легко разместить с помощью сущности: prop_detail. Заготовки карты можно сохранить при работе с картой или скачать с различных форумов. Хранятся файлы в папке: *Игра* → bin → Prefabs.

7. Использование окклюдеров:

В местах, где Detail-брашей сгруппированы вплотную друг к другу и могут закрывать обзор игроку, следует использовать окклюдеры. Окклюдеры — Это браши, которые позволяют скрыть от глаз детализированные области, улучшая общую видимость и производительность.

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

8. Компиляция и тестирование:

После оптимизации карты с помощью Detail-брашей скомпилируйте уровень и проверьте его производительность. Обратите внимание на падение частоты кадров, проблемы с видимостью или неожиданные результаты.

Итеративно дорабатывайте карту, изменяя плотность и расположение Detail-брашей, пока не добьетесь желаемого баланса между эстетикой и производительностью.

Выполнив эти шаги, можно эффективно оптимизировать карту с помощью Detail-брашей. Не забывайте регулярно проверять производительность карты и при необходимости вносить коррективы, чтобы обеспечить плавную и приятную работу игроков.
Что насчёт NODRAW ?
Оптимизация карт с использованием поверхностей NODRAW — Необходимая практика для повышения производительности и снижения накладных расходов на рендеринг. Поверхности NODRAW текстурируются текстурой: tools/toolsnodraw, которая невидима в игре и помогает блокировать ненужную видимость и расчеты геометрии.

1. Определите области для оптимизации:

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

2. Примените текстуру NODRAW:

Выберите поверхности, которые не будут видны в игре, и примените к ним текстуру: NODRAW. Сюда относятся поверхности за стенами, полом или потолком, а также любые скрытые или недоступные области.

Применить текстуру можно, выделив поверхность, нажав Shift + правую кнопку мыши, затем выбрав: Применение текстуры и выбрав tools/toolsnodraw.

3. Выемка ненужных конструкций:

В некоторых случаях целые структуры или помещения могут быть не видны, и тогда целесообразно их полностью скрыть. Для этого выделите браш, закрывающую структуру, и нажмите кнопку: Tools в верхнем меню, затем выберите: Make Hollow и настройте толщину. Это уменьшает количество ненужных брашей и повышает производительность.

4. Оптимизация сложных брашей:

Если у вас сложные браши, подумайте о дальнейшей их оптимизации. Вместо того чтобы делать весь браш сплошным, используйте инструмент: Make Hollow — Для создания оболочки нужной формы. Это уменьшает количество видимых поверхностей и повышает производительность.

5. Объедините перекрывающиеся браши:

Наложение брашей друг на друга может привести к излишнему рендерингу и вычислению видимости. Регулируйте вершины, чтобы объединить перекрывающиеся области, где это необходимо. Убедитесь, что на оставшиеся грани наложена текстура NODRAW.

6. Закройте недоступные области:

Закройте области, к которым игроки не будут иметь доступа, с помощью текстуры: Player Clip или поверхностей NODRAW. Это позволяет избежать лишних вычислений и повысить производительность за счет того, что игроки не будут заходить в невидимые части карты.

7. Скомпилируйте и протестируйте карту:

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

Помните, что оптимизация карты — Это поиск правильного баланса между визуальным качеством и производительностью. Регулярное тестирование и итерации крайне важны для получения оптимизированной карты, обеспечивающей приятный игровой процесс.
Оптимизация при помощи Ареапорталов

1. Понятие об ареапортах:

Ареапорталы — Это структурные объекты, используемые для оптимизации карт путем блокирования рендеринга областей, которые не видны игроку напрямую.

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

2. Определение возможностей:

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

Ищите места, где игроки не могут видеть непосредственно другую область, но могут попасть в нее через дверные проемы, окна или другие отверстия.

Именно в таких местах использование порталов может быть полезным.

3. Создание порталов:

Запустите Hammer Editor и откройте карту.

Выберите инструмент Block Tool и создайте браш, которая будет выполнять функцию порталов.



Поместите браш в дверной проем или отверстие, соединяющее две визуально разделенные области.

Убедитесь, что браш Ареапортал полностью закрывает проем, чтобы эффективно блокировать прямую видимость.

4. Назначение свойств ареапортала:

Выбрав браш Areaportal, нажмите Ctrl+T, чтобы вызвать окно: ToEntity.

Найдите поле: Class. Введите: func_areaportal и нажмите Enter. Таким образом, выбранный браш будет назначена сущностью areaportal.



При необходимости настройте свойства func_areaportal. Самое главное — Задать свойству: target уникальное имя, чтобы идентифицировать область, которую она блокирует.

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

5. Сборка и Тестирование:

Сохраните карту и скомпилируйте ее (F9).

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

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

Помните, что порталы эффективны при правильном и редком использовании. Чрезмерное их использование может привести к усложнению вычислений при рендеринге и свести на нет ожидаемые преимущества в производительности.

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

1. Поймите цель:

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

2. Определите проблемные области:

Начните с определения тех участков карты, которые вызывают проблемы с производительностью. К ним могут относиться области со слишком большим количеством видимых объектов или со сложной перекрывающейся геометрией.

3. Создание окклюдеров:

В редакторе вырежьте или создайте браши для создания окклюдеров. Можно также использовать существующую геометрию в качестве окклюдеров. Выберите браши, которые необходимо превратить в окклюдеры, и нажмите: Ctrl + T, чтобы вызвать панель инструментов: Texture Application. Примените текстуру: tools/occluder к выбранным брашам. Это позволит игровому движку рассматривать их как окклюдеры.

4. Настройки компиляции:

Настройте параметры компиляции, чтобы включить оптимизацию окклюдеров. В редакторе перейдите в меню: Map → Map Properties...



На вкладке: Advanced — Убедитесь, что выбрана опция: Full HDR Compile:



Также включите функцию: Occlusion, установив флажок: Occluder.

5. Окклюдерные подсказки:

Используйте подсказки для окклюдеров, чтобы подсказать движку, как работать с окклюдерами в сложных областях. Подсказки окклюдеров — это браши, расположенные рядом с окклюдерами и информирующие игровой движок о видимости между областями. Примените к этим брашам текстуру: tools/occluder_hint. Следите за их расположением и не допускайте перекрытия, так как это может привести к неэффективной работе.

6. Скомпилируйте карту:

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

7. Тестирование и оптимизация:

Загрузите скомпилированную карту и протестируйте ее, чтобы оценить прирост производительности. Используйте консоль разработчика. Консольная команда: r_drawclipbrushes 2 — Для визуализации окклюдеров и их влияния на рендеринг. Протестируйте различные области карты и внесите необходимые изменения.

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

Оптимизация карты с помощью окклюдеров в Hammer Editor позволяет значительно повысить производительность и создать более комфортные условия для игроков.
Вернуться в каталог уроков