Компилятор освещения VRAD
 VRAD — это инструмент командной строки, который использует имеющийся BSP-файл и добавляет в него данные об освещении. Статичное и заготовленное освещение распостраняется VRAD на весь мир карты посредством алгоритма излучения света.
 VRAD — это инструмент командной строки, который использует имеющийся BSP-файл и добавляет в него данные об освещении. Статичное и заготовленное освещение распостраняется VRAD на весь мир карты посредством алгоритма излучения света.
Что делает VRAD:
- Рассчитывает карты освещения;
- Рассчитывает освещение рассеяным светом;
- Рассчитывает освещение по вершинам геометрии, например для реквизит-объектов (prop_static);
- Рассчитывает освещение для объектов целиком, например для мелких реквизит-объектов (detail props).
VRAD является самым долгим из компиляторов, из-за прогрессирующего количества операций расчёта. Оптимизация освещения может помочь ускорить процесс, если на карте нет утечек.
 Совет:Если процесс компиляции словно завис на
Совет:Если процесс компиляции словно завис на «8...9...» не переживайте, дело в том, что на каждую последующую итерацию расчёта карты освещения тратится всё больше времени. Предупреждение:VRAD сильно использует ресурсы процессора во время компиляции!
Предупреждение:VRAD сильно использует ресурсы процессора во время компиляции! Баг:Если в
Баг:Если в  Half-Life 2: Episode One или
 Half-Life 2: Episode One или  Left 4 Dead во время компиляции освещения в HDR происходит сбой, прочтите это.
 Left 4 Dead во время компиляции освещения в HDR происходит сбой, прочтите это. Баг:В серии игр
Баг:В серии игр  Left 4 Dead,
 Left 4 Dead, «.mdl» модели, которые не имеют «.dx80.vtx» будут проигнорированы компилятором VRAD. Скопируйте «.dx90.vtx» файл и переименуйте его в «.dx80.vtx» чтобы исправить это.- Имеется бат-файл, который будет делать это автоматически: Скачать (разместите файл в папке с моделью и запустите бат-файл.)
 Баг:К тому же,
Баг:К тому же, «.mdl» файлы, имеющие заголовок «IDST1» не будут обработаны для VBSP, и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить. Это можно исправить, изменив заголовок на «IDST0» в HEX редакторе или перекомпилировав модель не в « Left 4 Dead Studiomdl», таком как
 Left 4 Dead Studiomdl», таком как  Source 2013. Можно так же использовать программу Crowbar.
 Source 2013. Можно так же использовать программу Crowbar. Баг:Уже как минимум 5–10 лет по состоянию на октябрь 2017 года, все известные вариации VRAD компилятора имеют проблему с многоядерными процессорами, вследствие чего нагрузка на процессоре может достигать до 100%, а по факту будет нагружено не более нескольких ядер. Это ощутимо заметно в режиме компиляции
Баг:Уже как минимум 5–10 лет по состоянию на октябрь 2017 года, все известные вариации VRAD компилятора имеют проблему с многоядерными процессорами, вследствие чего нагрузка на процессоре может достигать до 100%, а по факту будет нагружено не более нескольких ядер. Это ощутимо заметно в режиме компиляции «-final» (несмотря на то, что показано 100% использование процессора). Исправление этого бага для  Source 2013 доступно здесь, а отредактированные DLL библиотеки доступны здесь. Valve также выпустила патч для VRAD
 Source 2013 доступно здесь, а отредактированные DLL библиотеки доступны здесь. Valve также выпустила патч для VRAD  Counter-Strike: Global Offensive, который исправляет эту проблему.
 Counter-Strike: Global Offensive, который исправляет эту проблему. Баг:Иногда на картах освещения могут быть слишком чёрные тени и грубые переходы от света к темноте.
Баг:Иногда на картах освещения могут быть слишком чёрные тени и грубые переходы от света к темноте. Совет:С помощью Source Engine BSP Lightmap Editor можно вручную редактировать уже запечённую карту освещения у готового Совет:С помощью Source Engine BSP Lightmap Editor можно вручную редактировать уже запечённую карту освещения у готового- «.bsp»файла.
Синтаксис
vrad [options...] <bsp file>
Пример:
"Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01
Это сгенерирует и встроит в файл карты как стандартное освещение, так и данные для широкого диапазона яркости с детализацией по каждой вершине для prop_static.
Параметры
Используйте эти комбинации в режиме эксперта или в bat-файле.
Эффекты
- -ldr
- Компилировать освещение в малом диапазоне яркости.
- -hdr
- Компилировать освещение с Широким Динамическим Диапазоном яркости.
- -both
- Компилировать освещение как в LDR, так и в HDR.
- -fast
- Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты.
 Примечание: Примечание:- -fastприведёт к появлению случайных неправильно окрашенных пятен в тёмных областях карты.
 Не используйте эту опцию для исправления проблем с освещением.
- -final
- Улучшает качество light_environment и непрямого света, затрачивая больше времени на лучи.
- -extrasky <целое число>
- Прослеживает в Nраз больше лучшей для непрямого освещения и неба. (-finalто же самое, что и-extrasky 16; normal соответствует-extrasky 1)
- -lights <filename>.rad
- Загружает пользовательский файл освещения в дополнение к lights.radи файлу освещения непосредственно для этой карты. В этом параметре необходимо указывать расширение файла.
- -bounce <целое число>
- Устанавливает максимальное количество отражений лучей света. (по умолчанию: 100).
- -smooth <целое число>
- Устанавливает порог для групп сглаживания, в градусах (по умолчанию: 45).
- -luxeldensity <normal>
- Уменьшает масштаб всех люкселей. По умолчанию (максимальное значение) 1. Предупреждение:Устновка слишком малого значения может привести к дефектам освещения. Предупреждение:Устновка слишком малого значения может привести к дефектам освещения.
- -softsun <число с плавающей запятой>
- Рассматривает солнце как объёмный источник рассеянного света. Создаёт мягкие тени. Рекомендуемые значения 0–5, по умолчанию0. Идентично параметруSunSpreadAngleдляlight_environment, Используйте его вместо этого.
- -StaticPropLighting  (Во всех играх начиная с  ) )
- Рассчитывает освещение по вершинам на объектах prop_static; всегда включено для объекта light_spot. Не учитывает точку освещения для расчёта освещения объектов без карт рельефа на текстуре или $phong . Не работает на prop_static с картами рельефа на текстуре во всех играх, кроме  . .
 Предупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для объектов, которым это не требуется, чтобы сохранить наименьшй размер файла. Предупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для объектов, которым это не требуется, чтобы сохранить наименьшй размер файла.
- -StaticPropPolys  (Во всех играх начиная с  ) )
- Использовать для создания теней непосредственно модели prop_static вместо их габаритов столкновений для получения более точного отображения теней.
- -TextureShadows  (Во всех играх начиная с  ) )
- Генерировать тени карты освещения из $translucent поверхностей моделей (НЕ брашей), которые указаны в файле освещения и используются с prop_static. Обычно требуют включенного параметра -StaticPropPolys.
 Примечание:Поверхность требует низкомасштабной карты освещения, чтобы большинство текстур теней были узнаваемыми. Примечание:Поверхность требует низкомасштабной карты освещения, чтобы большинство текстур теней были узнаваемыми.
 Примечание:По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture. Примечание:По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.
- -aoscale <число с плавающей запятой> (Во всех играх начиная с  ) )
- Определяет масштаб интенсивности имитации VRAD прикрытия рассеяного света. По умолчанию 1.0.
 Совет:Valve используют 1.5 для новой Dust 2. Совет:Valve используют 1.5 для новой Dust 2.
- -aoscale - Примеры 
- -aoradius <число с плавающей запятой> (только в  ) )
- Устанавливает радиус для имитации VRAD прикрытия рассеяного света. Нужно сделать: Узнать, как именно.
- -aosamples <целое число> (только в  ) )
- Как много образцов использовать VRAD для имитации прикрытия рассеяного света.
- -StaticPropBounce <целое число> (только в  ) )
- Число отражений света на статичных реквизит-объектах для симуляции. По умолчанию 0.
 Совет:Valve используют 3 отражения на статичных реквизит-объектов в новом Dust 2. Совет:Valve используют 3 отражения на статичных реквизит-объектов в новом Dust 2.
 Примечание:У любого статичного реквизит-объекта можно отключить световые отражения через ключ "Enable Bounced Lighting". Примечание:У любого статичного реквизит-объекта можно отключить световые отражения через ключ "Enable Bounced Lighting".
- -StaticPropLightingFinal  (только в  ) )
- Компилирует освещение более высокого качества для статичных реквизит-объектов.
- -StaticPropLightingOld  (только в  ) )
- Использовать старый алгоритм освещения для реквизит-объектов, на них свет влияет сильнее всего.
- -choptexlights  (только в  ) )
- Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.
- -transferscale <число с плавающей запятой> (только в  ) )
- Масштабный коэффициент передачи света. Увеличенные значения заставляют поверхности передавать больше света (предлагается масштаб 2–4). По умолчанию1.0.
- -satthresh <число с плавающей запятой> (только в  ) )
- Порог, определяющий насыщенность цвета материала. Используется вместе с -satthreshscale. По умолчанию 0.4.
- -satthreshscale <число с плавающей запятой> (только в  ) )
- Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 3.0.
Производительность
- -low
- Запуск компилятора как процесса с низким приоритетом.
- -threads <целое число>
- Указать количество задействованных процессоров/ядер, максимум 16. Используя патч vrad_dll вы можете расширить предел до32.
- -mpi
- Использовать VMPI для распределения вычислений (не актуально).
- -mpi_pw <строка>
- Использовать пароль для определённых VMPI шаблонов-режимов.
- -noextra
- Отключить суперсэмплинг. Карта станет более яркой, а тени неточными.
- -chop <целое число>
- Наименьшее число ширины люкселей для патчей отражения, используемых на краях. (По умолчанию: 4)
- -maxchop <целое число>
- Самое грубое допустимое число ширины люкселей в патче, используемое на поверхностях интерьера. (По умолчанию: 4)
- -dispchop <целое число>
- Наименьшая приемлемая ширина люкселей в поверхностях патча дисплейсментов. (По умолчанию: 8)
- -LargeDispSampleRadius
- Это можно использовать, если на поверхности есть пятна отражённого света. Компиляция займёт больше времени, но она соберёт свет в более обширных областях.
- -compressconstant <целое число>
- Сжать карты освещения, цветовая вариация которых меньше, чем данное значение.
- -fastambient
- Использовать грубую выборку образцов рассеянного освещения для экономии времени вычисления.
- -StaticPropSampleScale <целое число> (только в  ) )
- Регулирует освещение, сгенерированное для каждой вершины объекта prop_static.
- медленно: 16 (высокое качество); по умолчанию: 4(нормальное качество); быстро:0.25(низкое качество)
 Примечание:Параметр Примечание:Параметр- -finalэквивалентен значению- 16параметра- -StaticPropLightingScale.
Отладка
- -rederrors
- выделяет красным цветом люксели без сэмплов
- -vproject <directory>
- -game <directory>
- Переопределяет переменную среды VPROJECT.
- -insert_search_path <directory>
- Добавляет путь к директории для поиска дополнительного содержимого (как записи в Gameinfo.txt). Полезно, если по какой-либо причине необходимо хранить некоторые ресурсы отдельно от основной модификации.
- -v
- -verbose
- Включает вывод подробного отчёта.
- -novconfig
- Не запускать игру при наличии ошибок с Vconfig (при проблемах с поиском контента игры.
- -dump
- Выводит патчи в отладочные файлы.
- -dumpnormals
- Записывать нормали в отладочные .txt файлы.
- -debugextra
- Помещает данные отладки в карты освещения для визуализации суперсэмплинга.
- -dlightmap
- Принудительно использовать разнонаправленные карты освещения вместо прямого освещения.
- -stoponexit
- Ожидать нажатия кнопки, для выхода (закрытия окна).
- -nodetaillight
- Не освещать объекты элементы-детали (или func_details?).
- -centersamples
- Переместить сэмплы в центр.
- -loghash
- Записать хэш таблицы в samplehash.txt.
- -onlydetail
- Освещать только малкие реквизит-объекты и per-leaf освещение.
- -maxdispsamplesize <целое число>
- Установить максимальный размер сэмплов для деформированных поверхностей (по умолчанию: 512).
- -FullMinidump
- Записывает полные кадры памяти при сбое компиляции.
- -OnlyStaticProps
- Выполнять освещение реквизит-объектов (prop_static) только от источников света.
- -StaticPropNormals
- В случае освещения реквизит-объектов, просто отображать направление нормалей.
- -noskyboxrecurse
- Отключить рекурсию в объёмное небо (тени из короба неба в мире).
- -nossprops
- Полностью отключить самозатенение статичных реквизит-объектов (когда существует тень от бочки, даже на карте без освещения).
- -dumppropmaps  (только в  ) )
- Вывести вычисленные карты освещения статичных реквизит-объектов в виде TGA файлов.
Параметры режима отладки
If VRAD is compiled in debug mode or the #if ALLOWDEBUGOPTIONS preprocessor is removed, additional options are available.
- -scale <число с плавающей запятой>
- Scale lighting by this value.
- -ambient <цвет КЗС 0-1>
- Apply a minimum ambient lighting value to the map.
- -sky <число с плавающей запятой>
- [Уточнить]
- -notexscale
- [Уточнить]
- -coring <число с плавающей запятой>
- Luxels with values dimmer than this are treated as completely black, and don't get supersampled.
Файлы статичного освещения
Смотреть также
- QRAD and HLRAD -  GoldSrc counterparts. GoldSrc counterparts.
- VRAD2 & VRAD3 -  Source 2 counterparts. Source 2 counterparts.
- Теория компиляции карт
- Основы освещения HDR
- VRAD HDR Crash Fix
- Static Props show up black
| 
 | |||||||||||||||||||||||||||||








































