Основы освещения HDR
Обзор
Source Engine поддерживает два независимых набора карт освещения в .BSP, первый - HDR (High Dynamic Range), второй - LDR (Low Dynamic Range). LDR-освещение - по сути, освещение из Half Life 2. С таким освещение нам приходилось подсвечивать слишком темные области дополнительными источниками света и текстурами, чтобы их можно было заметить. Но с HDR можно просто использовать авто-экспозицию, осветляя чрезмерно затененные области без "фальшивого" света. Единственный недостаток поддержки и LDR, и HDR - слишком большой размер .BSP-файла.
Основы компилирования карт
Проще простого - перекомпилировать существующую карту в последней версии Vrad
Сделать это очень легко, при использовании встроенного в Hammer компилятора:
- Откройте файл .VMF в редакторе Hammer.
- Выберите Run Map в Меню файла.
- Установите BSP, VIS и RAD в Normal.
- В секции RAD поставьте галочку напротив HDR.
- Нажмите OK для компиляции.
- Примечание:В логе работы VRAD Вы заметите, что процесс выполняется дважды, когда включен HDR. Все правильно. VRAD необходимо создать отдельное освещение для режимов LDR и HDR.
Аргументы командной строки VRAD для HDR
Если встроенный в Hammer компилятор Вы не используете, следующие команды командной строки (прошу прощения за тавтологию) VRAD помогут Вам: -both
, -ldr
, -hdr
и -final
. Теперь файл .BSP содержит два набора карт освещения - для LDR и HDR. Чтобы скомпилировать оба, добавьте команду -both
в VRAD . При компиляции только LDR добавьте -ldr
, но если только HDR - -hdr
. Следующая новая команда -final
повышает качество фонаря и отраженного света, используя больше времени CPU для расчета лучей.
-final
может значительно увеличить время просчета VRAD, поэтому-то команда предназначена для окончательного просчета карты. Эта опция значительно сокращает артефакты освещения, чаще всего проявляющихся внутри помещений от light_environment
.Запуск HDR в The Source Engine
Движок 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-файлы для запуска движка, то можно использовать команду прямо в нем.
Сборка 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 :
- Скомпилируйте Ваш уровень с включенной опцией HDR во Vrad .
- Загрузите уровень в игре. Движок, по умолчанию, должен выбрать HDR на карте. Если у Вас выключен HDR, то введите
mat_hdr_enabled 1
в [[[Ru/Console|консоли]] , как и следующие три команды. - Введите
buildcubemaps
для построения HDR Cubemaps. - Введите
mat_hdr_enabled 0
для переключения в режим LDR (потребуется время для перезагрузки карт освещения). - Введите
buildcubemaps
для построения LDR Cubemaps.
Выбор HDR-Skybox
Улучшить качество HDR-эффектов Вы можете с помощью HDR-Skybox .
Для выбора HDR-Skybox в редакторе Hammer:
- Зайдите в Map properties (Свойства карты) в Map menu (Меню карты).
- Введите название HDR-Skybox в поле Skybox Texture Name (Название текстуры Skybox) (например,
sky_exemple_hdr
. Просмотрите Список Skybox для обзора доступных Skybox. - Перекомпилируйте карту с новым Skebox.
Образец карты sdk_hdr_examle.vmf
в SDK включает энтити для этой демонстрации.
Посмотрите Создание HDR-Skybox .
Посмотрите также
Настройки HDR_освещения - для большей информации по кастомизации настроек HDR.