Ru/VRAD: Difference between revisions
< Ru
Jump to navigation
Jump to search
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
(Update translate.) |
||
Line 1: | Line 1: | ||
{{LanguageBar}} | {{LanguageBar|title=Компилятор освещения VRAD}} | ||
{{src topicon}} | {{src topicon}} | ||
{{map compile pipeline|source1}} | {{map compile pipeline|source1}} | ||
Line 5: | Line 5: | ||
{{toc-right}} | {{toc-right}} | ||
{{vrad|4}} — это инструмент {{L|command-line|командной строки}}, который использует имеющийся BSP-файл и добавляет в него данные об освещении. Статичное и заготовленное освещение распостраняется VRAD на весь мир карты посредством алгоритма [[Wikipedia:Radiosity (3D computer graphics)|излучения света]]. | |||
VRAD | Что делает VRAD: | ||
* | * Рассчитывает {{L|lightmap|карты освещения}}; | ||
* | * Рассчитывает {{L|Ambient light|рассеяное освещение}}; | ||
* | * Рассчитывает освещение по вершинам геометрии, например для {{L|Prop static|prop_static}}; | ||
* Рассчитывает освещение для объектов целиком, например для {{L|Detail props|detail props}}. | |||
VRAD является самым | VRAD является самым долгим из компиляторов, из-за прогрессирующего количества операций расчёта. {{L|Lighting optimization|Оптимизация освещения}} может помочь ускорить процесс, если на карте нет {{L|Leak|утечек}}. | ||
{{tip|Если процесс компиляции словно завис на <code>«8...9...»</code> не переживайте, дело в том, что на | {{tip|Если процесс компиляции словно завис на <code>«8...9...»</code> не переживайте, дело в том, что на каждую последующую итерацию расчёта карты освещения тратится всё больше времени.}} | ||
{{warning|VRAD сильно | {{warning|VRAD сильно использует ресурсы процессора во время компиляции!}} | ||
{{bug|hidetested=1|Если в {{ep1|4}} или {{Left 4 Dead|4}} во время компиляции освещения в {{L|HDR}} происходит сбой, прочтите {{L|VRAD HDR Crash Fix|это}}.}} | {{bug|hidetested=1|Если в {{ep1|4}} или {{Left 4 Dead|4}} во время компиляции освещения в {{L|HDR}} происходит сбой, прочтите {{L|VRAD HDR Crash Fix|это}}.}} | ||
Line 36: | Line 37: | ||
"Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01 | "Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01 | ||
Это сгенерирует | Это сгенерирует и встроит в файл карты как стандартные, так и данные освещения {{L|HDR|широкого диапазона яркости}} с детализацией по каждой вершине для {{L|Prop static|prop_static}}. | ||
== | ==Параметры== | ||
Используйте эти комбинации в {{L|expert compile mode|режиме эксперта}} или в bat-файле. | Используйте эти комбинации в {{L|expert compile mode|режиме эксперта}} или в bat-файле. | ||
===Эффекты=== | ===Эффекты=== | ||
{{ColumnBox|count=2|{{CLParam|-ldr|Компилировать освещение в | {{ColumnBox|count=2|{{CLParam|-ldr|Компилировать освещение в малом диапазоне яркости. {{warning|suf=:ru|{{insurgency}} и {{csgo}} не поддерживают LDR. Для правильного освещения используйте -both или -hdr}} | ||
{{CLParam|-hdr|Компилировать освещение | {{CLParam|-hdr|Компилировать освещение с {{L|HDR|Широким Динамическим Диапазоном}} яркости.}} | ||
{{CLParam|-both|Компилировать освещение как в LDR, так и в HDR.}}}} | {{CLParam|-both|Компилировать освещение как в LDR, так и в HDR.}}}} | ||
{{CLParam|-fast|Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты. | {{CLParam|-fast|Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты. | ||
Line 51: | Line 52: | ||
{{CLParam|-extrasky|param=int|Прослеживает в <code>N</code> раз больше лучшей для непрямого освещения и неба. {{clr}}(<code>-final</code> то же самое, что и <code>-extrasky 16</code>; normal соответствует <code>-extrasky 1</code>)}} | {{CLParam|-extrasky|param=int|Прослеживает в <code>N</code> раз больше лучшей для непрямого освещения и неба. {{clr}}(<code>-final</code> то же самое, что и <code>-extrasky 16</code>; normal соответствует <code>-extrasky 1</code>)}} | ||
{{CLParam|-lights <filename>.rad|Загружает пользовательский [[#Lights_files|файл освещения]] в дополнение к <code>lights.rad</code> и файлу освещения непосредственно для этой карты. В этом параметре необходимо указывать расширение файла.}} | {{CLParam|-lights <filename>.rad|Загружает пользовательский [[#Lights_files|файл освещения]] в дополнение к <code>lights.rad</code> и файлу освещения непосредственно для этой карты. В этом параметре необходимо указывать расширение файла.}} | ||
{{CLParam|-bounce|param=int|Устанавливает максимальное | {{CLParam|-bounce|param=int|Устанавливает максимальное количество отражений лучей света. (по умолчанию: <code>100</code>).}} | ||
{{CLParam|-smooth|param=int|Устанавливает порог для {{L|smoothing group|групп сглаживания}}, в градусах (по умолчанию: <code>45</code>).}} | {{CLParam|-smooth|param=int|Устанавливает порог для {{L|smoothing group|групп сглаживания}}, в градусах (по умолчанию: <code>45</code>).}} | ||
{{CLParam|-luxeldensity|param=normal|Уменьшает масштаб всех {{L|luxel|люкселей}}. По умолчанию (максимальное значение) <code>1</code>.}} | {{CLParam|-luxeldensity|param=normal|Уменьшает масштаб всех {{L|luxel|люкселей}}. По умолчанию (максимальное значение) <code>1</code>.}} | ||
{{CLParam|-softsun|param=float|Рассматривает солнце как источник | {{CLParam|-softsun|param=float|Рассматривает солнце как объёмный источник рассеянного света. Создаёт мягкие тени. Рекомендуемые значения <code>0–5</code>, по умолчанию <code>0</code>. Идентично параметру <code>SunSpreadAngle</code> для <code>light_environment</code>, Используйте его вместо этого.}} | ||
{{CLParam|-StaticPropLighting| | {{CLParam|-StaticPropLighting|Рассчитывает освещение по вершинам на объектах {{ent|prop_static}}; всегда включено для объекта {{ent|light_spot}}. Не учитывает {{L|info_lighting|точку освещения}} для расчёта освещения объектов без {{L|bump maps|карт рельефа на текстуре}} или {{L|phong}}. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме {{csgo}}. | ||
: {{warning|suf=:ru|Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.}} | : {{warning|suf=:ru|Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.}} | ||
: {{note|suf=:ru|Чтобы в {{csgo}} получить правильное освещение на ваших статических пропах, вам нужно будет запустить VRAD с этим параметром.}}|game={{since|{{Ep2}}}}}} | : {{note|suf=:ru|Чтобы в {{csgo}} получить правильное освещение на ваших статических пропах, вам нужно будет запустить VRAD с этим параметром.}}|game={{since|{{Ep2}}}}}} | ||
{{CLParam|-StaticPropPolys|Использовать | {{CLParam|-StaticPropPolys|Использовать для создания теней непосредственно модели статичных объектов вместо их {{L|collision mesh|габаритов столкновений}}. Это ведёт к более точному отображению теней.|game={{since|{{Ep2}}}}}} | ||
{{CLParam|-TextureShadows|Генерировать тени карты освещения из {{ent|$translucent}} поверхностей моделей (НЕ брашей), которые указаны в [[#Lights_files|файле освещения]] и используются с {{L|prop_static}}. Обычно требуют включенного параметра <code>-StaticPropPolys</code>. | {{CLParam|-TextureShadows|Генерировать тени карты освещения из {{ent|$translucent}} поверхностей моделей (НЕ брашей), которые указаны в [[#Lights_files|файле освещения]] и используются с {{L|prop_static}}. Обычно требуют включенного параметра <code>-StaticPropPolys</code>. | ||
: {{note|suf=:ru|Поверхность требует низкомасштабной {{L|lightmap|карты освещения}}, чтобы большинство текстур теней были узнаваемыми.}} | : {{note|suf=:ru|Поверхность требует низкомасштабной {{L|lightmap|карты освещения}}, чтобы большинство текстур теней были узнаваемыми.}} | ||
: {{note|suf=:ru|По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.}}|game={{since|{{Ep2}}}}}} | : {{note|suf=:ru|По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.}}|game={{since|{{Ep2}}}}}} | ||
{{CLParam|-aoscale|param=float|Определяет масштаб интенсивности | {{CLParam|-aoscale|param=float|Определяет масштаб интенсивности моделируемого прикрытия VRAD. По умолчанию <code>1.0</code>. | ||
: {{tip|Valve используют 1.5 для новой Dust 2.}}|game={{since|{{csgo}}}}}} | : {{tip|Valve используют 1.5 для новой Dust 2.}}|game={{since|{{csgo}}}}}} | ||
{{CLParam|-aoradius|param=float|Устанавливает радиус имитации | {{CLParam|-aoradius|param=float|Устанавливает радиус имитации прикрытия VRAD. {{todo|Узнать, как именно.}}|game={{only|{{Insurgency}}}}}} | ||
{{CLParam|-aosamples|param=int|Как много сэмплов использовать для имитации | {{CLParam|-aosamples|param=int|Как много сэмплов использовать для имитации прикрытия VRAD.|game={{only|{{Insurgency}}}}}} | ||
{{CLParam|-StaticPropBounce|param=int|Число симуляции | {{CLParam|-StaticPropBounce|param=int|Число симуляции отражений света для статичных реквизит-объектов. По умолчанию <code>0</code>. | ||
: {{tip|suf=:ru|Valve используют 3 отражения | : {{tip|suf=:ru|Valve используют 3 отражения статичных реквизит-объектов в новом Dust 2.}} | ||
: {{note|suf=:ru|У любого | : {{note|suf=:ru|У любого статичного реквизит-объекта можно отключить световые отражения через ключ "Enable Bounced Lighting".}}|game={{only|{{csgo}}}}}} | ||
{{CLParam|-StaticPropLightingFinal|Компилирует освещение более высокого качества для | {{CLParam|-StaticPropLightingFinal|Компилирует освещение более высокого качества для статичных реквизит-объектов.|game={{only|{{csgo}}}}}} | ||
{{CLParam|-StaticPropLightingOld|Использовать старый алгоритм освещения для | {{CLParam|-StaticPropLightingOld|Использовать старый алгоритм освещения для реквизит-объектов, на них свет влияет сильнее всего.|game={{only|{{csgo}}}}}} | ||
{{CLParam|-choptexlights|Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.|game={{only|{{BMS}}}}}} | {{CLParam|-choptexlights|Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.|game={{only|{{BMS}}}}}} | ||
{{CLParam|-extratransfers|Включить масштабирование передачи света.|game={{only|{{BMS}}}}}} | {{CLParam|-extratransfers|Включить масштабирование передачи света.|game={{only|{{BMS}}}}}} | ||
Line 79: | Line 80: | ||
===Производительность=== | ===Производительность=== | ||
{{ColumnBox|count=2|{{CLParam|-low|Запуск процесса с низким приоритетом.}} | {{ColumnBox|count=2|{{CLParam|-low|Запуск компилятора как процесса с низким приоритетом.}} | ||
{{CLParam|-threads|param=int|Указать количество задействованных ядер | {{CLParam|-threads|param=int|Указать количество задействованных процессоров/ядер, максимум <code>16</code>. Используя {{L|Increased_Thread_Limit_for_Compile_Tools|патч vrad_dll}} вы можете расширить предел до <code>32</code>.}} | ||
{{CLParam|-mpi|Использовать {{L|Vmpi|VMPI}} для распределения вычислений (не актуально).}} | {{CLParam|-mpi|Использовать {{L|Vmpi|VMPI}} для распределения вычислений (не актуально).}} | ||
{{CLParam|-mpi_pw|param=string|Использовать пароль для определённых VMPI шаблонов-режимов.}} | {{CLParam|-mpi_pw|param=string|Использовать пароль для определённых VMPI шаблонов-режимов.}} | ||
Line 123: | Line 124: | ||
}} | }} | ||
==Файлы | ==Файлы статичного освещения== | ||
{{main|Ru/RAD file}} | {{main|Ru/RAD file}} | ||
== | ==Смотреть также== | ||
* {{L|Map Compiling Theory|Теория компиляции карт}} | * {{L|Map Compiling Theory|Теория компиляции карт}} | ||
* {{L|HDR Lighting Basics|Основы освещения HDR}} | * {{L|HDR Lighting Basics|Основы освещения HDR}} |
Revision as of 04:10, 3 July 2025
VRAD — это инструмент командной строки , который использует имеющийся BSP-файл и добавляет в него данные об освещении. Статичное и заготовленное освещение распостраняется VRAD на весь мир карты посредством алгоритма излучения света.
Что делает VRAD:
- Рассчитывает карты освещения ;
- Рассчитывает рассеяное освещение ;
- Рассчитывает освещение по вершинам геометрии, например для prop_static ;
- Рассчитывает освещение для объектов целиком, например для detail props .
VRAD является самым долгим из компиляторов, из-за прогрессирующего количества операций расчёта. Оптимизация освещения может помочь ускорить процесс, если на карте нет утечек .

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





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

«.mdl»
файлы, имеющие заголовок «IDST1»
не будут обработаны для VBSP , и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить. Это можно исправить, изменив заголовок на «IDST0»
в HEX редакторе или перекомпилировав модель не в «


«-final»
(несмотря на то, что показано 100% использование процессора). Исправление этого бага для 


Совет:С помощью 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
).
- -softsun <число с плавающей запятой >
- Рассматривает солнце как объёмный источник рассеянного света. Создаёт мягкие тени. Рекомендуемые значения
0–5
, по умолчанию0
. Идентично параметруSunSpreadAngle
дляlight_environment
, Используйте его вместо этого.
- -StaticPropLighting (Во всех играх начиная с
)
- Рассчитывает освещение по вершинам на объектах prop_static; всегда включено для объекта light_spot. Не учитывает точку освещения для расчёта освещения объектов без карт рельефа на текстуре или phong . Не работает на пропах с картами рельефа на текстуре во всех играх, кроме
.
Предупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.
- -StaticPropPolys (Во всех играх начиная с
)
- Использовать для создания теней непосредственно модели статичных объектов вместо их габаритов столкновений . Это ведёт к более точному отображению теней.
- -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>
- Включает дополнительный базовый каталог для монтирования дополнительного контента (например, записи 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
- Когда освещаются static props, просто отображать направление нормалей.
- -noskyboxrecurse
- Отключить рекурсию для 3d skybox (тени скайбокса на карту).
- -nossprops
- Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.
Файлы статичного освещения
Основная статья: Ru/RAD file
Смотреть также
|