Ru/VRAD
VRAD это инструмент командной строки, он берет уже готовый BSP и добавляет в него данные об освещении. Статическое и заготовленное освещение функционируют через radiosity алгоритм.
VRAD может:
- Генерировать карты освещения
- Генерировать окружающий свет
- Генерировать освещение граней или целых объектов, к примеру prop_static и detail prop
VRAD является самым медленным из компиляторов. оптимизация освещения может помочь ускорить процесс, если на карте нет утечек.

9...
не переживайте, дело в том, что на каждый новый просчет карты освещения тратится всё больше времени.

.mdl
модели, которые не имеют .dx80.vtx
будут проигнорированы компилятором VRAD. Скопируйте .dx90.vtx
файл и переименуйте его в .dx80.vtx
чтобы исправить это. [нужно проверить в ?]Имеется бат-файл, который будет это делать автоматически: [1] (разместите файл в папке с моделью и запустите бат-файл.)

.mdl
файлы, имеющие заголовок IDST1
не будут обработаны для VBSP, и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить; это можно исправить, изменив заголовок на IDST0
в HEX редакторе или перекомпилировав модель в не L4D Studiomdl, таком как Source 2013. Можно так же использовать Crowbar. [нужно проверить в ?]
-final
(несмотря на то, что показано 100% использование процессора). Исправление этого бага для Source 2013 доступно здесь, а отредактированные библиотеки DLL доступны здесь. Valve также выпустила патч для VRAD CS GO, который исправляет эту проблему. [нужно проверить в ?]
Совет:С помощью Source Engine BSP Lightmap Editor можно вручную редактировать УЖЕ ЗАПЕЧЕННУЮ карту освещения у готовой
.bsp
.
Синтаксис
vrad [options...] <bsp file>
Пример:
"Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01
Это сгенерирует, а так же встроит и стандартные, и High Dynamic Range данные освещения с детализацией по каждой вершине для prop_static.
Опции
Используйте эти комбинации в режиме эксперта или в бат-файле.
Эффекты
- -ldr
- -hdr
- -both
- Компилировать ли стандартное или High Dynamic Range освещение, либо оба.
- -fast
- Быстрый и грязный свет. Не используйте этот параметр при релизе.
Примечание:
-fast
приведет к появлению случайно окрашенных пятен в темных областях.
- -final
- Улучшает качество light_environment и непрямого света, затрачивая больше времени на лучи.
- -extrasky <целое число >
- Прослеживает в
N
раз больше лучшей для непрямого освещения и неба. (-final
то же самое, что и-extrasky 16
; normal соответствует-extrasky 1
)
- -lights <filename>.rad
- Загружает пользовательский файл освещения в дополнение к
lights.rad
и файлу освещения непосредственно для этой карты. В этот параметре необходимо указывать расширение файла.
- -bounce <целое число >
- Устанавливает максимальное число лучей света. (по умолчанию:
100
).
- -smooth <целое число >
- Устанавливает порог для групп сглаживания, в градусах (по умолчанию:
45
).
- -softsun <число с плавающей запятой >
- Рассматривает солнце как источник освещения в этой степени. Создает мягкие тени. Рекомендуемые значения
0-5
, по умолчанию0
. Идентично параметруSunSpreadAngle
дляlight_environment
, Используйте его вместо этого.
- -StaticPropLighting (Во всех играх начиная с
)
- генерирует освещение по вершинена prop_staticах; всегда включено для энтити light_spot. Отключает энтити info_lighting на пропах без карт рельефа на текстуре. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме
.
Предупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.
- -StaticPropPolys (Во всех играх начиная с
)
- Использовать актуальные меши ваших static props для генерации теней вместо использования их мешей столкновения. Это ведет к более точному созданию теней.
- -TextureShadows (Во всех играх начиная с
)
- Генерировать тени карты освещения из $translucent поверхностей моделей (НЕ брашей), которые указаны в файле освещения и используются с prop_static. Обычно требуют включенного параметра
-StaticPropPolys
. Примечание:Поверхность требует низкомасштабной карты освещения, чтобы большинство текстур теней были узнаваемыми.
Примечание:По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.
- -aoscale <число с плавающей запятой > (Во всех играх начиная с
)
- Определяет масштаб интенсивности моделируемой окклюзии VRAD. По умолчанию
1.0
. Совет:Valve используют 1.5 для новой Dust 2.
- -aoradius <число с плавающей запятой > (только в
)
- Устанавливает радиус имитации окклюзии VRAD. Нужно сделать: Узнать, как именно.
- -aosamples <целое число > (только в
)
- Как много сэмплов использовать для имитации окклюзии VRAD.
- -StaticPropBounce <целое число > (только в
)
- Число симуляции световых отражений статических пропов. По умолчанию
0
. Совет:Valve используют 3 три отражения статических пропов для новой Dust 2.
Примечание:У любого статического пропа можно отключить световые отражения через ключ "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 <целое число > (только в
)
- Регулирует освещение, сгенерированное для каждой вершины проп статик.
- медленно: 16 (высокое качество); по умолчанию:
4
(нормальное качество); быстро:0.25
(низкое качество) Примечание:Параметр
-final
эквивалентен значению16
параметра-StaticPropLightingScale
.
Режим отладки
- -rederrors
- подсвечивает люксели без сэмплов
- -vproject <directory>
- -game <directory>
- Указать путь к VPROJECT (Game Info).
- -insert_search_path <directory>
- Нужно сделать: Что это такое?
- -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
- Когда освещаются static props, просто отображать направление нормалей.
- -noskyboxrecurse
- Отключить рекурсию для 3d skybox (тени скайбокса на карту).
- -nossprops
- Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.
Файлы статического освещения
Файл освещения представляет собой обычный TXT документ VRAD, который вы можете править. Он указывает какие материалы могут излучать статическое освещение. Ваши .rad
файлы должны находиться в той же папке, где и gameinfo.txt.
Также:
lights.rad
, является глобальным файлом (используется всеми картами).- Для автозагрузки файла освещения, нужно использовать
<имя карты>.rad
. файл должен быть расположен там же, где и<имя карты>.vmf
. - Любое количество файлов освещения могут быть добавлены в карту, если использовать the
-lights
параметр .
Правила-Условия
Чтобы файлы освещения работали правильно, на каждую отдельную текстуру должна идти отдельная строка по следующему шаблону:
<material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity>
- Материал должен покрывать грани обычных брашей (
hdr_
значение не обязательно). Размер текстуры в хаммере напрямую влияет на степень яркости.
Примечание:На самом деле не текстура излучает свет, это делает обычный light энтити, который расставляется движком на расстоянии каждые 4 люкселя. Иногда быстрее и разумней будет сделать это вручную в хаммере.
Примечание:Текстуры, которые не лежат в папке Light, а находятся просто в materials, должны иметь перед своим именем слеш /ИМЯ_ТЕКСТУРЫ.

noshadow <имя текстуры>
- Запрещает данной текстуре отбрасывать тень.
forcetextureshadow <путь к модели>.mdl
- Включает тестирование полупрозрачной тени для модели, когда VRAD запускается с
-TextureShadows
. нужно указать папку расположения модели. ldr:
hdr:
- Префиксы для выполнения в режиме LDR или HDR.
hdr:ldr:
- Строки, начинающиеся с обоих тегов (в таком порядке), всегда будут игнорироваться VRAD. Может использоваться для добавления комментариев или быстрого отключения некоторых параметров.
Обратите внимание также на
|