Основы освещения HDR

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)日本語 (ja)Русский (ru)中文 (zh)Translate (Translate)

Обзор

Source Engine поддерживает два независимых набора карт освещения в .BSP, первый - HDR(en) (High Dynamic Range), второй - LDR (Low Dynamic Range). LDR-освещение - по сути, освещение из Half Life 2. С таким освещение нам приходилось подсвечивать слишком темные области дополнительными источниками света и текстурами, чтобы их можно было заметить. Но с HDR можно просто использовать авто-экспозицию, осветляя чрезмерно затененные области без "фальшивого" света. Единственный недостаток поддержки и LDR, и HDR - слишком большой размер .BSP-файла.


Note.pngПримечание:Half-Life 2 и моды с версией SDK до Августа 2008 (pre-Augusy 06 SDK) не поддерживают HDR.

Основы компилирования карт

Проще простого - перекомпилировать существующую карту в последней версии Vrad(en)

Сделать это очень легко, при использовании встроенного в Hammer компилятора:

  1. Откройте файл .VMF в редакторе Hammer.
  2. Выберите Run Map(en) в Меню файла.
  3. Установите BSP, VIS и RAD в Normal.
  4. В секции RAD поставьте галочку напротив HDR.
  5. Нажмите OK для компиляции.
Note.pngПримечание:В логе работы VRAD(en) Вы заметите, что процесс выполняется дважды, когда включен HDR. Все правильно. VRAD необходимо создать отдельное освещение для режимов LDR и HDR.

Аргументы командной строки VRAD для HDR

Если встроенный в Hammer компилятор Вы не используете, следующие команды командной строки (прошу прощения за тавтологию) VRAD помогут Вам: -both, -ldr, -hdr и -final. Теперь файл .BSP содержит два набора карт освещения - для LDR и HDR. Чтобы скомпилировать оба, добавьте команду -both в VRAD(en). При компиляции только LDR добавьте -ldr, но если только HDR - -hdr. Следующая новая команда -final повышает качество фонаря и отраженного света, используя больше времени CPU для расчета лучей.

Warning.pngПредупреждение:Использование -final может значительно увеличить время просчета VRAD, поэтому-то команда предназначена для окончательного просчета карты. Эта опция значительно сокращает артефакты освещения, чаще всего проявляющихся внутри помещений от light_environment(en).

Запуск HDR в The Source Engine

Установка HDR-режима движка в ярлыке. Нажмите для увеличения.

Движок Source может быть запущен в обоих режимах: HDR и LDR. Если карта имеет скомпилированную карту освещения HDR, и соответствующий режим (HDR) включен в Настройках Видео игры, то HDR автоматически включится, когда карта загрузится. Из-за отдельных карт освещения, создающихся для HDR и LDR, cubemap должны быть как для HDR, так и для LDR режимов.

Еще HDR может быть включен или отключен через командную строку при запуске игры: +mat_hdr_enabled 0/1

  • 0 для включения LDR, 1 для включения HDR. Карты освещенности будут перезагружены, если значение изменится во время игры.

+mat_hdr_level 0/1/2

  • Установите 0 для отключения HDR, 1 для включения LDR и блюма на картах с HDR и 2 для полноценного HDR и блюма (там, где это поддерживается)

Запуск игры с включенным HDR

Для включения HDR и блюминга во время игры, добавьте +mat_hdr_enabled 1 +mat_hdr_level 2 одним из следующих методов:

  • В диалоговом окне Run Map редактора Hammer добавьте команду в Additional game parameters.
  • Нажать Правой Кнопкой Мыши на игре в Steam и выбрать Properties (Свойства), нажать Set launch options... (Установить параметры запуска...) и ввести команду.
  • Создать ярлык игры на Рабочем столе, затем добавить команду в Свойствах ярлыка.
  • Если Вы используете .BAT-файлы для запуска движка, то можно использовать команду прямо в нем.
Note.pngПримечание:Это не включит HDR в видеокартах, не поддерживающих саму технологию HDR.

Сборка HDR и LDR cubemap

Для HDR карт Вы должны запустить buildcubemaps в обоих режимах - HDR и LDR - для правильного построения Cubemaps(en): For an HDR map, you need to run buildcubemaps in both HDR and LDR modes to build proper cubemaps(en):

  1. Скомпилируйте Ваш уровень с включенной опцией HDR во Vrad(en).
  2. Загрузите уровень в игре. Движок, по умолчанию, должен выбрать HDR на карте. Если у Вас выключен HDR, то введите mat_hdr_enabled 1 в [[[Ru/Console|консоли]](en), как и следующие три команды.
  3. Введите buildcubemaps для построения HDR Cubemaps.
  4. Введите mat_hdr_enabled 0 для переключения в режим LDR (потребуется время для перезагрузки карт освещения).
  5. Введите buildcubemaps для построения LDR Cubemaps.
Note.pngПримечание:Вы должны это делать постоянно, иначе Cubemaps будут отображаться некорректно.

Выбор HDR-Skybox

Выбор HDR-Skybox, используя Map Propeties. Нажмите для увеличения.

Улучшить качество HDR-эффектов Вы можете с помощью HDR-Skybox(en).

Для выбора HDR-Skybox в редакторе Hammer:

  1. Зайдите в Map properties (Свойства карты) в Map menu(en) (Меню карты).
  2. Введите название HDR-Skybox в поле Skybox Texture Name (Название текстуры Skybox) (например, sky_exemple_hdr. Просмотрите Список Skybox(en) для обзора доступных Skybox.
  3. Перекомпилируйте карту с новым Skebox.

Образец карты sdk_hdr_examle.vmf в SDK включает энтити для этой демонстрации.

Note.pngПримечание:Этот файл находится в папке карты 'dod' в sourcesdk_content.

Посмотрите Создание HDR-Skybox(en).

Посмотрите также

Настройки HDR_освещения(en) - для большей информации по кастомизации настроек HDR.

Создание HDR-Skybox(en)

env_tonemap_controller

Продвинутый HDR(en)