Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Компилятор освещения VRAD

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

VBSPVVISVRADBSPZIP

VRAD VRAD — это инструмент командной строки(en), который использует имеющийся BSP-файл и добавляет в него данные об освещении. Статичное и заготовленное освещение распостраняется VRAD на весь мир карты посредством алгоритма излучения света.

Что делает VRAD:

VRAD является самым долгим из компиляторов, из-за прогрессирующего количества операций расчёта. Оптимизация освещения(en) может помочь ускорить процесс, если на карте нет утечек(en).

Tip.pngСовет:Если процесс компиляции словно завис на «8...9...» не переживайте, дело в том, что на каждую последующую итерацию расчёта карты освещения тратится всё больше времени.
Warning.pngПредупреждение:VRAD сильно использует ресурсы процессора во время компиляции!
Icon-Bug.pngБаг:Если в Half-Life 2: Episode One Half-Life 2: Episode One или Left 4 Dead Left 4 Dead во время компиляции освещения в HDR(en) происходит сбой, прочтите это(en).
Icon-Bug.pngБаг:В серии игр Left 4 Dead Left 4 Dead, «.mdl» модели, которые не имеют «.dx80.vtx» будут проигнорированы компилятором VRAD. Скопируйте «.dx90.vtx» файл и переименуйте его в «.dx80.vtx» чтобы исправить это.
Имеется бат-файл, который будет делать это автоматически: Скачать (разместите файл в папке с моделью и запустите бат-файл.)
Icon-Bug.pngБаг:К тому же, «.mdl» файлы, имеющие заголовок «IDST1» не будут обработаны для VBSP(en), и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить. Это можно исправить, изменив заголовок на «IDST0» в HEX редакторе или перекомпилировав модель не в «Left 4 Dead Left 4 Dead Studiomdl(en)», таком как Source 2013 Source 2013. Можно так же использовать программу Crowbar(en).
Icon-Bug.pngБаг:Уже как минимум 5–10 лет по состоянию на октябрь 2017 года, все известные вариации VRAD компилятора имеют проблему с многоядерными процессорами, вследствие чего нагрузка на процессоре может достигать до 100%, а по факту будет нагружено не более нескольких ядер. Это ощутимо заметно в режиме компиляции «-final» (несмотря на то, что показано 100% использование процессора). Исправление этого бага для Source 2013 Source 2013 доступно здесь, а отредактированные DLL библиотеки доступны здесь. Valve также выпустила патч для VRAD Counter-Strike: Global Offensive Counter-Strike: Global Offensive, который исправляет эту проблему.
Icon-Bug.pngБаг:Иногда на картах освещения могут быть слишком чёрные тени и грубые переходы от света к темноте.
Tip.pngСовет:С помощью Source Engine BSP Lightmap Editor можно вручную редактировать уже запечённую карту освещения у готового «.bsp» файла.

Синтаксис

vrad [options...] <bsp file>

Пример:

"Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01

Это сгенерирует и встроит в файл карты как стандартное освещение, так и данные для широкого диапазона яркости(en) с детализацией по каждой вершине для prop_static(en).

Параметры

Используйте эти комбинации в режиме эксперта(en) или в bat-файле.

Эффекты

-ldr
Компилировать освещение в малом диапазоне яркости.
Warning.pngПредупреждение:Insurgency и Counter-Strike: Global Offensive не поддерживают LDR. Для правильного освещения используйте -both или -hdr
-hdr
Компилировать освещение с Широким Динамическим Диапазоном(en) яркости.
-both
Компилировать освещение как в LDR, так и в HDR.
-fast
Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты.
Note.pngПримечание:-fast приведёт к появлению случайных неправильно окрашенных пятен в тёмных областях карты.
Не используйте эту опцию для исправления проблем с освещением.
-final
Улучшает качество light_environment и непрямого света, затрачивая больше времени на лучи.
-extrasky <целое число(en)>
Прослеживает в N раз больше лучшей для непрямого освещения и неба.
(-final то же самое, что и -extrasky 16; normal соответствует -extrasky 1)
-lights <filename>.rad
Загружает пользовательский файл освещения в дополнение к lights.rad и файлу освещения непосредственно для этой карты. В этом параметре необходимо указывать расширение файла.
-bounce <целое число(en)>
Устанавливает максимальное количество отражений лучей света. (по умолчанию: 100).
-smooth <целое число(en)>
Устанавливает порог для групп сглаживания(en), в градусах (по умолчанию: 45).
-luxeldensity <normal(en)>
Уменьшает масштаб всех люкселей(en). По умолчанию (максимальное значение) 1.
Warning.pngПредупреждение:Устновка слишком малого значения может привести к дефектам освещения.
-softsun <число с плавающей запятой(en)>
Рассматривает солнце как объёмный источник рассеянного света. Создаёт мягкие тени. Рекомендуемые значения 0–5, по умолчанию 0. Идентично параметру SunSpreadAngle для light_environment, Используйте его вместо этого.
-StaticPropLighting  (Во всех играх начиная с Half-Life 2: Episode Two)
Рассчитывает освещение по вершинам на объектах prop_static(en); всегда включено для объекта light_spot. Не учитывает точку освещения(en) для расчёта освещения объектов без карт рельефа на текстуре(en) или $phong(en) . Не работает на prop_static(en) с картами рельефа на текстуре во всех играх, кроме Counter-Strike: Global Offensive.
Warning.pngПредупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для объектов, которым это не требуется, чтобы сохранить наименьшй размер файла.
Note.pngПримечание:Чтобы в Counter-Strike: Global Offensive получить правильное освещение на статичных реквизит-объектах, нужно запустить VRAD с этим параметром.
-StaticPropPolys  (Во всех играх начиная с Half-Life 2: Episode Two)
Использовать для создания теней непосредственно модели prop_static(en) вместо их габаритов столкновений(en) для получения более точного отображения теней.
-TextureShadows  (Во всех играх начиная с Half-Life 2: Episode Two)
Генерировать тени карты освещения из $translucent поверхностей моделей (НЕ брашей), которые указаны в файле освещения и используются с prop_static(en). Обычно требуют включенного параметра -StaticPropPolys.
Note.pngПримечание:Поверхность требует низкомасштабной карты освещения(en), чтобы большинство текстур теней были узнаваемыми.
Note.pngПримечание:По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.
-aoscale <число с плавающей запятой(en)> (Во всех играх начиная с Counter-Strike: Global Offensive)
Определяет масштаб интенсивности имитации VRAD прикрытия рассеяного света. По умолчанию 1.0.
Tip.pngСовет:Valve используют 1.5 для новой Dust 2.
-aoscale - Примеры
-aoradius <число с плавающей запятой(en)> (только в Insurgency)
Устанавливает радиус для имитации VRAD прикрытия рассеяного света.
Нужно сделать: Узнать, как именно.
-aosamples <целое число(en)> (только в Insurgency)
Как много образцов использовать VRAD для имитации прикрытия рассеяного света.
-StaticPropBounce <целое число(en)> (только в Counter-Strike: Global Offensive)
Число отражений света на статичных реквизит-объектах для симуляции. По умолчанию 0.
Tip.pngСовет:Valve используют 3 отражения на статичных реквизит-объектов в новом Dust 2.
Note.pngПримечание:У любого статичного реквизит-объекта можно отключить световые отражения через ключ "Enable Bounced Lighting".
-StaticPropLightingFinal  (только в Counter-Strike: Global Offensive)
Компилирует освещение более высокого качества для статичных реквизит-объектов.
-StaticPropLightingOld  (только в Counter-Strike: Global Offensive)
Использовать старый алгоритм освещения для реквизит-объектов, на них свет влияет сильнее всего.
-choptexlights  (только в Black Mesa)
Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.
-extratransfers  (только в Black Mesa)
Включить масштабирование передачи света.
-transferscale <число с плавающей запятой(en)> (только в Black Mesa)
Масштабный коэффициент передачи света. Увеличенные значения заставляют поверхности передавать больше света (предлагается масштаб 2–4). По умолчанию 1.0.
-satthresh <число с плавающей запятой(en)> (только в Black Mesa)
Порог, определяющий насыщенность цвета материала. Используется вместе с -satthreshscale. По умолчанию 0.4.
-satthreshscale <число с плавающей запятой(en)> (только в Black Mesa)
Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 3.0.

Производительность

-low
Запуск компилятора как процесса с низким приоритетом.
-threads <целое число(en)>
Указать количество задействованных процессоров/ядер, максимум 16. Используя патч vrad_dll(en) вы можете расширить предел до 32.
-mpi
Использовать VMPI(en) для распределения вычислений (не актуально).
-mpi_pw <строка(en)>
Использовать пароль для определённых VMPI шаблонов-режимов.
-noextra
Отключить суперсэмплинг. Карта станет более яркой, а тени неточными.
-chop <целое число(en)>
Наименьшее число ширины люкселей(en) для патчей отражения, используемых на краях. (По умолчанию: 4)
-maxchop <целое число(en)>
Самое грубое допустимое число ширины люкселей(en) в патче, используемое на поверхностях интерьера. (По умолчанию: 4)
-dispchop <целое число(en)>
Наименьшая приемлемая ширина люкселей(en) в поверхностях патча дисплейсментов. (По умолчанию: 8)
-LargeDispSampleRadius
Это можно использовать, если на поверхности есть пятна отражённого света. Компиляция займёт больше времени, но она соберёт свет в более обширных областях.
-compressconstant <целое число(en)>
Сжать карты освещения(en), цветовая вариация которых меньше, чем данное значение.
-fastambient
Использовать грубую выборку образцов рассеянного освещения для экономии времени вычисления.
-noao  (только в Insurgency Day of Infamy)
Отключить компиляцию имитации прикрытия рассеяного света для карты освещения.
-StaticPropSampleScale <целое число(en)> (только в Counter-Strike: Global Offensive)
Регулирует освещение, сгенерированное для каждой вершины объекта prop_static(en).
медленно: 16 (высокое качество); по умолчанию: 4 (нормальное качество); быстро: 0.25 (низкое качество)
Note.pngПримечание:Параметр -final эквивалентен значению 16 параметра -StaticPropLightingScale.


Отладка

-rederrors
выделяет красным цветом люксели(en) без сэмплов
-vproject <directory>
-game <directory>
Переопределяет переменную среды VPROJECT(en).
-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 <целое число(en)>
Установить максимальный размер сэмплов для деформированных поверхностей (по умолчанию: 512).
-FullMinidump
Записывает полные кадры памяти при сбое компиляции.
-OnlyStaticProps
Выполнять освещение реквизит-объектов (prop_static)(en) только от источников света.
-StaticPropNormals
В случае освещения реквизит-объектов, просто отображать направление нормалей.
-noskyboxrecurse
Отключить рекурсию в объёмное небо (тени из короба неба в мире).
-nossprops
Полностью отключить самозатенение статичных реквизит-объектов (когда существует тень от бочки, даже на карте без освещения).
-dumppropmaps  (только в Source 2013 Multiplayer)
Вывести вычисленные карты освещения статичных реквизит-объектов в виде TGA файлов.

Параметры режима отладки

If VRAD is compiled in debug mode or the #if ALLOWDEBUGOPTIONS preprocessor is removed, additional options are available.

-scale <число с плавающей запятой(en)>
Scale lighting by this value.
-ambient <цвет КЗС(en) 0-1>
Apply a minimum ambient lighting value to the map.
-sky <число с плавающей запятой(en)>
[Уточнить]
-notexscale
[Уточнить]
-coring <число с плавающей запятой(en)>
Luxels with values dimmer than this are treated as completely black, and don't get supersampled.

Файлы статичного освещения

Основная статья:  Ru/RAD file

Смотреть также