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

From Valve Developer Community
Jump to: navigation, search
English 日本語 简体中文

Обзор

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


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

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

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

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

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

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

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

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

Запуск 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:Это не включит HDR в видеокартах, не поддерживающих саму технологию HDR.

Сборка HDR и LDR cubemap

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

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

Выбор HDR-Skybox

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

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

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

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

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

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

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

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

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

Создание HDR-Skybox

env_tonemap_controller

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