VRAD
VRAD — это инструмент командной строки , он берёт уже готовый BSP и добавляет в него данные об освещении. Статическое и заготовленное освещение функционируют через radiosity алгоритм.
VRAD может:
- Генерировать карты освещения ;
- Генерировать окружающий свет ;
- Генерировать освещение граней или целых объектов, к примеру prop_static и detail props .
VRAD является самым медленным из компиляторов. Оптимизация освещения может помочь ускорить процесс, если на карте нет утечек .
«8...9...»
не переживайте, дело в том, что на каждый новый просчёт карты освещения тратится всё больше времени.«.mdl»
модели, которые не имеют «.dx80.vtx»
будут проигнорированы компилятором VRAD. Скопируйте «.dx90.vtx»
файл и переименуйте его в «.dx80.vtx»
чтобы исправить это. [todo tested in?]- Имеется бат-файл, который будет делать это автоматически: Скачать (разместите файл в папке с моделью и запустите бат-файл.)
«.mdl»
файлы, имеющие заголовок «IDST1»
не будут обработаны для VBSP , и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить. Это можно исправить, изменив заголовок на «IDST0»
в HEX редакторе или перекомпилировав модель не в « Left 4 Dead Studiomdl », таком как Source 2013. Можно так же использовать программу Crowbar . [todo tested in?]«-final»
(несмотря на то, что показано 100% использование процессора). Исправление этого бага для Source 2013 доступно здесь, а отредактированные DLL библиотеки доступны здесь. Valve также выпустила патч для VRAD Counter-Strike: Global Offensive, который исправляет эту проблему. [todo tested in?]- Совет:С помощью 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 .
Опции
Используйте эти комбинации в режиме эксперта или в bat-файле.
Эффекты
- -ldr
- Компилировать освещение в Низком Динамическим Диапазоне.
- -hdr
- Компилировать освещение в Высоком Динамическим Диапазоне .
- -both
- Компилировать освещение как в LDR, так и в HDR.
- -fast
- Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты.
- Примечание:
-fast
приведёт к появлению случайных неправильно окрашенных пятен в тёмных областях карты.
Не используйте эту опцию для исправления проблем с освещением.
- -final
- Улучшает качество light_environment и непрямого света, затрачивая больше времени на лучи.
- -extrasky <integer >
- Прослеживает в
N
раз больше лучшей для непрямого освещения и неба. (-final
то же самое, что и-extrasky 16
; normal соответствует-extrasky 1
)
- -lights <filename>.rad
- Загружает пользовательский файл освещения в дополнение к
lights.rad
и файлу освещения непосредственно для этой карты. В этом параметре необходимо указывать расширение файла.
- -bounce <integer >
- Устанавливает максимальное число лучей света. (по умолчанию:
100
).
- -smooth <integer >
- Устанавливает порог для групп сглаживания , в градусах (по умолчанию:
45
).
- -softsun <float >
- Рассматривает солнце как источник освещения в этой степени. Создаёт мягкие тени. Рекомендуемые значения
0–5
, по умолчанию0
. Идентично параметруSunSpreadAngle
дляlight_environment
, Используйте его вместо этого.
- -StaticPropLighting (Во всех играх начиная с )
- генерирует освещение по вершинам prop_static; всегда включено для энтити light_spot. Отключает энтити info_lighting на пропах без карт рельефа на текстуре . Не работает на пропах с картами рельефа на текстуре во всех играх, кроме .
- Предупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.
- -StaticPropPolys (Во всех играх начиная с )
- Использовать актуальные меши ваших статичных пропов вместо их мешей столкновения для генерации теней. Это ведёт к более точному созданию теней.
- -TextureShadows (Во всех играх начиная с )
- Генерировать тени карты освещения из $translucent поверхностей моделей (НЕ брашей), которые указаны в файле освещения и используются с prop_static . Обычно требуют включенного параметра
-StaticPropPolys
. - Примечание:Поверхность требует низкомасштабной карты освещения , чтобы большинство текстур теней были узнаваемыми.
- Примечание:По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.
- -aoscale <float > (Во всех играх начиная с )
- Определяет масштаб интенсивности моделируемой окклюзии VRAD. По умолчанию
1.0
. - Совет:Valve используют 1.5 для новой Dust 2.
- -aoradius <float > (только в )
- Устанавливает радиус имитации окклюзии VRAD. Нужно сделать: Узнать, как именно.
- -aosamples <integer > (только в )
- Как много сэмплов использовать для имитации окклюзии VRAD.
- -StaticPropBounce <integer > (только в )
- Число симуляции световых отражений статических пропов. По умолчанию
0
. - Совет:Valve используют 3 отражения статических пропов для новой Dust 2.
- Примечание:У любого статического пропа можно отключить световые отражения через ключ "Enable Bounced Lighting".
- -StaticPropLightingFinal (только в )
- Компилирует освещение более высокого качества для статических пропов.
- -StaticPropLightingOld (только в )
- Использовать старый алгоритм освещения для пропов, на них свет влияет сильнее всего.
- -choptexlights (только в )
- Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.
- -transferscale <float > (только в )
- Масштабный коэффициент передачи света. Увеличенные значения заставляют поверхности передавать больше света (предлагается масштаб
2–4
). По умолчанию1.0
.
- -satthresh <float > (только в )
- Порог, определяющий насыщенность цвета материала. Используется вместе с
-satthreshscale
. По умолчанию 0.4.
- -satthreshscale <float > (только в )
- Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 3.0.
Производительность
- -low
- Запуск процесса с низким приоритетом.
- -threads <integer >
- Указать количество задействованных ядер цпу, максимум
16
. Используя патч vrad_dll вы можете расширить предел до32
.
- -mpi
- Использовать VMPI для распределения вычислений (не актуально).
- -mpi_pw <string >
- Использовать пароль для определённых VMPI шаблонов-режимов.
- -noextra
- Отключить суперсэмплинг. Карта станет более яркой, а тени неточными.
- -chop <integer >
- Наименьшее число ширины люкселей для патчей отражения, используемых на краях. (По умолчанию:
4
)
- -maxchop <integer >
- Самое грубое допустимое число ширины люкселей в патче, используемое на поверхностях интерьера. (По умолчанию:
4
)
- -dispchop <integer >
- Наименьшая приемлемая ширина люкселей в поверхностях патча дисплейсментов. (По умолчанию:
8
)
- -LargeDispSampleRadius
- Это можно использовать, если на поверхности есть пятна отражённого света. Компиляция займёт больше времени, но она соберёт свет в более обширных областях.
- -compressconstant <integer >
- Сжать карты освещения , цветовая вариация которых меньше, чем данное значение.
- -fastambient
- Использовать низкое качество выборки для каждого листа, чтобы сэкономить время вычисления.
- -StaticPropSampleScale <integer > (только в )
- Регулирует освещение, сгенерированное для каждой вершины проп статик.
- медленно: 16 (высокое качество); по умолчанию:
4
(нормальное качество); быстро:0.25
(низкое качество) - Примечание:Параметр
-final
эквивалентен значению16
параметра-StaticPropLightingScale
.
Режим отладки
- -rederrors
- подсвечивает люксели без сэмплов
- -vproject <directory>
- -game <directory>
- Указать путь к VPROJECT (Game Info).
- -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 <integer >
- Установить максимальный размер сэмплов для дисплейсментов (по умолчанию:
512
).
- -FullMinidump
- Написать большой минидамп при ошибке.
- -OnlyStaticProps
- Выполнять только прямое освещение prop static (или же простое освещение?).
- -StaticPropNormals
- Когда освещаются static props, просто отображать направление нормалей.
- -noskyboxrecurse
- Отключить рекурсию для 3d skybox (тени скайбокса на карту).
- -nossprops
- Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.
Файлы статического освещения
Файл освещения представляет собой обычный TXT документ VRAD , который вы можете править. Он указывает какие материалы могут излучать статическое освещение. Ваши «.rad»
файлы должны находиться в той же папке, где и gameinfo.txt .
Также:
lights.rad
, является глобальным файлом (используется всеми картами).- Для автозагрузки файла освещения, нужно использовать
«<имя карты>.rad»
. файл должен быть расположен там же, где и«<имя карты>.vmf»
. - Любое количество файлов освещения могут быть добавлены в карту, если использовать -lights параметр.
Правила-Условия
Чтобы файлы освещения работали правильно, на каждую отдельную текстуру должна идти отдельная строка по следующему шаблону:
<material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity>
- Материал должен покрывать грани обычных брашей (
hdr_
значение не обязательно). Размер текстуры в хаммере напрямую влияет на степень яркости.
- Примечание:Текстуры, которые не лежат в папке Light, а находятся просто в materials, должны иметь перед своим именем слеш /ИМЯ_ТЕКСТУРЫ.
noshadow <имя текстуры>
- Запрещает данной текстуре отбрасывать тень.
forcetextureshadow <путь к модели>.mdl
- Включает тестирование полупрозрачной тени для модели, когда VRAD запускается с
-TextureShadows
. нужно указать папку расположения модели. ldr:
hdr:
- Префиксы для выполнения в режиме LDR или HDR.
hdr:ldr:
- Строки, начинающиеся с обоих тегов (в таком порядке), всегда будут игнорироваться VRAD. Может использоваться для добавления комментариев или быстрого отключения некоторых параметров.
См. также
|