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

Ru/VRAD: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 43: Line 43:


===Эффекты===
===Эффекты===
{{ColumnBox|count=2|{{CLParam|ldr|Компилировать освещение в Низком Динамическим Диапазоне. {{warning|suf=:ru|{{insurgency}} и {{csgo}} не поддерживают LDR. Для правильного освещения используйте -both или -hdr}}
{{ColumnBox|count=2|{{CLParam|-ldr|Компилировать освещение в Низком Динамическим Диапазоне. {{warning|suf=:ru|{{insurgency}} и {{csgo}} не поддерживают LDR. Для правильного освещения используйте -both или -hdr}}
{{CLParam|hdr|Компилировать освещение в {{L|HDR|Высоком Динамическим Диапазоне}}.}}
{{CLParam|-hdr|Компилировать освещение в {{L|HDR|Высоком Динамическим Диапазоне}}.}}
{{CLParam|both|Компилировать освещение как в LDR, так и в HDR.}}}}
{{CLParam|-both|Компилировать освещение как в LDR, так и в HDR.}}}}
{{CLParam|fast|Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты.
{{CLParam|-fast|Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты.
: {{note|suf=:ru|{{MdCode|outline|-fast}} приведёт к появлению случайных неправильно окрашенных пятен в тёмных областях карты. <br>Не используйте эту опцию для исправления проблем с освещением.}}}}
: {{note|suf=:ru|{{MdCode|outline|-fast}} приведёт к появлению случайных неправильно окрашенных пятен в тёмных областях карты. <br>Не используйте эту опцию для исправления проблем с освещением.}}}}
{{CLParam|final|Улучшает качество {{ent|light_environment}} и непрямого света, затрачивая больше времени на лучи.}}
{{CLParam|-final|Улучшает качество {{ent|light_environment}} и непрямого света, затрачивая больше времени на лучи.}}
{{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|Устанавливает максимальное число лучей света. (по умолчанию: <code>100</code>).}}
{{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|Рассматривает солнце как источник освещения в этой степени. Создаёт мягкие тени. Рекомендуемые значения <code>0–5</code>, по умолчанию <code>0</code>. Идентично параметру <code>SunSpreadAngle</code> для <code>light_environment</code>, Используйте его вместо этого.}}
{{CLParam|-softsun|param=float|Рассматривает солнце как источник освещения в этой степени. Создаёт мягкие тени. Рекомендуемые значения <code>0–5</code>, по умолчанию <code>0</code>. Идентично параметру <code>SunSpreadAngle</code> для <code>light_environment</code>, Используйте его вместо этого.}}
{{CLParam|StaticPropLighting|генерирует освещение по вершинам {{ent|prop_static}}; всегда включено для энтити {{ent|light_spot}}. Отключает энтити {{ent|info_lighting}} на пропах без {{L|bump maps|карт рельефа на текстуре}}. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме {{csgo}}.
{{CLParam|-StaticPropLighting|генерирует освещение по вершинам {{ent|prop_static}}; всегда включено для энтити {{ent|light_spot}}. Отключает энтити {{ent|info_lighting}} на пропах без {{L|bump maps|карт рельефа на текстуре}}. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме {{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|Использовать актуальные меши ваших статичных пропов вместо их {{L|collision mesh|мешей столкновения}} для генерации теней. Это ведёт к более точному созданию теней.|game={{since|{{Ep2}}}}}}
{{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|Определяет масштаб интенсивности моделируемой окклюзии VRAD. По умолчанию <code>1.0</code>.
{{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|Устанавливает радиус имитации окклюзии VRAD. {{todo|Узнать, как именно.}}|game={{only|{{Insurgency}}}}}}
{{CLParam|-aoradius|param=float|Устанавливает радиус имитации окклюзии VRAD. {{todo|Узнать, как именно.}}|game={{only|{{Insurgency}}}}}}
{{CLParam|aosamples|param=int|Как много сэмплов использовать для имитации окклюзии VRAD.|game={{only|{{Insurgency}}}}}}
{{CLParam|-aosamples|param=int|Как много сэмплов использовать для имитации окклюзии VRAD.|game={{only|{{Insurgency}}}}}}
{{CLParam|StaticPropBounce|param=int|Число симуляции световых отражений статических пропов. По умолчанию <code>0</code>.
{{CLParam|-StaticPropBounce|param=int|Число симуляции световых отражений статических пропов. По умолчанию <code>0</code>.
: {{tip|suf=:ru|Valve используют 3 отражения статических пропов для новой Dust 2.}}
: {{tip|suf=:ru|Valve используют 3 отражения статических пропов для новой Dust 2.}}
: {{note|suf=:ru|У любого статического пропа можно отключить световые отражения через ключ "Enable Bounced Lighting".}}|game={{only|{{csgo}}}}}}
: {{note|suf=:ru|У любого статического пропа можно отключить световые отражения через ключ "Enable Bounced Lighting".}}|game={{only|{{csgo}}}}}}
{{CLParam|StaticPropLightingFinal|Компилирует освещение более высокого качества для статических пропов.|game={{only|{{csgo}}}}}}
{{CLParam|-StaticPropLightingFinal|Компилирует освещение более высокого качества для статических пропов.|game={{only|{{csgo}}}}}}
{{CLParam|StaticPropLightingOld|Использовать старый алгоритм освещения для пропов, на них свет влияет сильнее всего.|game={{only|{{csgo}}}}}}
{{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}}}}}}
{{CLParam|transferscale|param=float|Масштабный коэффициент передачи света. Увеличенные значения заставляют поверхности передавать больше света (предлагается масштаб <code>2–4</code>). По умолчанию <code>1.0</code>.|game={{only|{{BMS}}}}}}
{{CLParam|-transferscale|param=float|Масштабный коэффициент передачи света. Увеличенные значения заставляют поверхности передавать больше света (предлагается масштаб <code>2–4</code>). По умолчанию <code>1.0</code>.|game={{only|{{BMS}}}}}}
{{CLParam|satthresh|param=float|Порог, определяющий насыщенность цвета материала. Используется вместе с <code>-satthreshscale</code>. По умолчанию 0.4.|game={{only|{{BMS}}}}}}
{{CLParam|-satthresh|param=float|Порог, определяющий насыщенность цвета материала. Используется вместе с <code>-satthreshscale</code>. По умолчанию 0.4.|game={{only|{{BMS}}}}}}
{{CLParam|satthreshscale|param=float|Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 3.0.|game={{only|{{BMS}}}}}}
{{CLParam|-satthreshscale|param=float|Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 3.0.|game={{only|{{BMS}}}}}}
}}
}}


===Производительность===
===Производительность===
{{ColumnBox|count=2|{{CLParam|low|Запуск процесса с низким приоритетом.}}
{{ColumnBox|count=2|{{CLParam|-low|Запуск процесса с низким приоритетом.}}
{{CLParam|threads|param=int|Указать количество задействованных ядер цпу, максимум <code>16</code>. Используя {{L|Increased_Thread_Limit_for_Compile_Tools|патч vrad_dll}} вы можете расширить предел до <code>32</code>.}}
{{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 шаблонов-режимов.}}
{{CLParam|noextra|Отключить суперсэмплинг. Карта станет более яркой, а тени неточными.}}
{{CLParam|-noextra|Отключить суперсэмплинг. Карта станет более яркой, а тени неточными.}}
{{CLParam|chop|param=int| Наименьшее число ширины {{L|luxel|люкселей}} для патчей отражения, используемых на краях. (По умолчанию: <code>4</code>)}}
{{CLParam|-chop|param=int| Наименьшее число ширины {{L|luxel|люкселей}} для патчей отражения, используемых на краях. (По умолчанию: <code>4</code>)}}
{{CLParam|maxchop|param=int|Самое грубое допустимое число ширины {{L|luxel|люкселей}} в патче, используемое на поверхностях интерьера. (По умолчанию: <code>4</code>)}}
{{CLParam|-maxchop|param=int|Самое грубое допустимое число ширины {{L|luxel|люкселей}} в патче, используемое на поверхностях интерьера. (По умолчанию: <code>4</code>)}}
{{CLParam|dispchop|param=int|Наименьшая приемлемая ширина {{L|luxel|люкселей}} в поверхностях патча дисплейсментов. (По умолчанию: <code>8</code>)}}
{{CLParam|-dispchop|param=int|Наименьшая приемлемая ширина {{L|luxel|люкселей}} в поверхностях патча дисплейсментов. (По умолчанию: <code>8</code>)}}
{{CLParam|LargeDispSampleRadius|Это можно использовать, если на поверхности есть пятна отражённого света. Компиляция займёт больше времени, но она соберёт свет в более обширных областях.}}
{{CLParam|-LargeDispSampleRadius|Это можно использовать, если на поверхности есть пятна отражённого света. Компиляция займёт больше времени, но она соберёт свет в более обширных областях.}}
{{CLParam|compressconstant|param=int|Сжать {{L|lightmap|карты освещения}}, цветовая вариация которых меньше, чем данное значение.}}
{{CLParam|-compressconstant|param=int|Сжать {{L|lightmap|карты освещения}}, цветовая вариация которых меньше, чем данное значение.}}
{{CLParam|fastambient|Использовать низкое качество выборки для каждого листа, чтобы сэкономить время вычисления.}}
{{CLParam|-fastambient|Использовать низкое качество выборки для каждого листа, чтобы сэкономить время вычисления.}}
{{CLParam|noao|Отключить компиляцию смоделированной окклюзии для карты освещения.|game={{only|{{Insurgency}}}}}}
{{CLParam|-noao|Отключить компиляцию смоделированной окклюзии для карты освещения.|game={{only|{{Insurgency}}}}}}
{{CLParam|StaticPropSampleScale|param=int|Регулирует освещение, сгенерированное для каждой вершины проп статик.
{{CLParam|-StaticPropSampleScale|param=int|Регулирует освещение, сгенерированное для каждой вершины проп статик.
: медленно: 16 (высокое качество); по умолчанию: <code>4</code> (нормальное качество); быстро: <code>0.25</code> (низкое качество)
: медленно: 16 (высокое качество); по умолчанию: <code>4</code> (нормальное качество); быстро: <code>0.25</code> (низкое качество)
: {{note|suf=:ru|Параметр <code>-final</code> эквивалентен значению <code>16</code> параметра <code>-StaticPropLightingScale</code>.}}|game={{only|{{csgo}}}}}}
: {{note|suf=:ru|Параметр <code>-final</code> эквивалентен значению <code>16</code> параметра <code>-StaticPropLightingScale</code>.}}|game={{only|{{csgo}}}}}}
Line 98: Line 98:


===Режим отладки===
===Режим отладки===
{{ColumnBox|count=2|{{CLParam|rederrors|подсвечивает {{L|luxel|люксели}} без сэмплов}}
{{ColumnBox|count=2|{{CLParam|-rederrors|подсвечивает {{L|luxel|люксели}} без сэмплов}}
{{CLParam|vproject <directory>}}
{{CLParam|-vproject <directory>}}
{{CLParam|game <directory>|Указать путь к VPROJECT (Game Info).}}
{{CLParam|-game <directory>|Указать путь к VPROJECT (Game Info).}}
{{CLParam|insert_search_path <directory>|Включает дополнительный базовый каталог для монтирования дополнительного контента (например, записи Gameinfo.txt). Полезно, если вы хотите отделить некоторые активы от мода по какой-либо причине.}}
{{CLParam|-insert_search_path <directory>|Включает дополнительный базовый каталог для монтирования дополнительного контента (например, записи Gameinfo.txt). Полезно, если вы хотите отделить некоторые активы от мода по какой-либо причине.}}
{{CLParam|v}}
{{CLParam|-v}}
{{CLParam|verbose|Включить подробный отчёт-вывод.}}
{{CLParam|-verbose|Включить подробный отчёт-вывод.}}
{{CLParam|novconfig|Не запускать игру при наличии ошибок с Vconfig (при проблемах с поиском контента игры.}}
{{CLParam|-novconfig|Не запускать игру при наличии ошибок с Vconfig (при проблемах с поиском контента игры.}}
{{CLParam|dump|Сброс патчей для отладки файлов.}}
{{CLParam|-dump|Сброс патчей для отладки файлов.}}
{{CLParam|dumpnormals|Записывать нормали в файл дампа .txt.}}
{{CLParam|-dumpnormals|Записывать нормали в файл дампа .txt.}}
{{CLParam|debugextra|Помещает данные отладки в карты освещения для визуализации суперсэмплинга.}}
{{CLParam|-debugextra|Помещает данные отладки в карты освещения для визуализации суперсэмплинга.}}
{{CLParam|dlightmap|Превращает направленное освещение в разнонаправленные лайтмапы.}}
{{CLParam|-dlightmap|Превращает направленное освещение в разнонаправленные лайтмапы.}}
{{CLParam|stoponexit|Ждать нажатия кнопки, для выхода (закрытия окна).}}
{{CLParam|-stoponexit|Ждать нажатия кнопки, для выхода (закрытия окна).}}
{{CLParam|nodetaillight|Не освещать дитейл пропы (или func_details?).}}
{{CLParam|-nodetaillight|Не освещать дитейл пропы (или func_details?).}}
{{CLParam|centersamples|Переместить сэмплы в центр.}}
{{CLParam|-centersamples|Переместить сэмплы в центр.}}
{{CLParam|loghash| Записать хэш таблицы в samplehash.txt.}}
{{CLParam|-loghash| Записать хэш таблицы в samplehash.txt.}}
{{CLParam|onlydetail|Освещать только детейл пропы и per-leaf.}}
{{CLParam|-onlydetail|Освещать только детейл пропы и per-leaf.}}
{{CLParam|maxdispsamplesize|param=int| Установить максимальный размер сэмплов для дисплейсментов (по умолчанию: <code>512</code>).}}
{{CLParam|-maxdispsamplesize|param=int| Установить максимальный размер сэмплов для дисплейсментов (по умолчанию: <code>512</code>).}}
{{CLParam|FullMinidump|Написать большой минидамп при ошибке.}}
{{CLParam|-FullMinidump|Написать большой минидамп при ошибке.}}
{{CLParam|OnlyStaticProps|Выполнять только прямое освещение prop static (или же простое освещение?).}}
{{CLParam|-OnlyStaticProps|Выполнять только прямое освещение prop static (или же простое освещение?).}}
{{CLParam|StaticPropNormals|Когда освещаются static props, просто отображать направление нормалей.}}
{{CLParam|-StaticPropNormals|Когда освещаются static props, просто отображать направление нормалей.}}
{{CLParam|noskyboxrecurse|Отключить рекурсию для 3d skybox (тени скайбокса на карту).}}
{{CLParam|-noskyboxrecurse|Отключить рекурсию для 3d skybox (тени скайбокса на карту).}}
{{CLParam|nossprops|Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.}}
{{CLParam|-nossprops|Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.}}
{{CLParam|dumppropmaps|Сдампить (слить) вычисленные карты освещения.|game={{only|{{src13mp}}}}}}
{{CLParam|-dumppropmaps|Сдампить (слить) вычисленные карты освещения.|game={{only|{{src13mp}}}}}}
}}
}}



Revision as of 09:30, 23 March 2025

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

VBSPVVISVRADBSPZIP

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

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

Это сгенерирует, а так же встроит и стандартные, и High Dynamic Range(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.
-softsun <число с плавающей запятой(en)>
Рассматривает солнце как источник освещения в этой степени. Создаёт мягкие тени. Рекомендуемые значения 0–5, по умолчанию 0. Идентично параметру SunSpreadAngle для light_environment, Используйте его вместо этого.
-StaticPropLighting  (Во всех играх начиная с Half-Life 2: Episode Two)
генерирует освещение по вершинам prop_static; всегда включено для энтити light_spot. Отключает энтити info_lighting на пропах без карт рельефа на текстуре(en). Не работает на пропах с картами рельефа на текстуре во всех играх, кроме Counter-Strike: Global Offensive.
Warning.pngПредупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.
Note.pngПримечание:Чтобы в Counter-Strike: Global Offensive получить правильное освещение на ваших статических пропах, вам нужно будет запустить VRAD с этим параметром.
-StaticPropPolys  (Во всех играх начиная с Half-Life 2: Episode Two)
Использовать актуальные меши ваших статичных пропов вместо их мешей столкновения(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.
-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)
Отключить компиляцию смоделированной окклюзии для карты освещения.
-StaticPropSampleScale <целое число(en)> (только в Counter-Strike: Global Offensive)
Регулирует освещение, сгенерированное для каждой вершины проп статик.
медленно: 16 (высокое качество); по умолчанию: 4 (нормальное качество); быстро: 0.25 (низкое качество)
Note.pngПримечание:Параметр -final эквивалентен значению 16 параметра -StaticPropLightingScale.


Режим отладки

-rederrors
подсвечивает люксели(en) без сэмплов
-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 <целое число(en)>
Установить максимальный размер сэмплов для дисплейсментов (по умолчанию: 512).
-FullMinidump
Написать большой минидамп при ошибке.
-OnlyStaticProps
Выполнять только прямое освещение prop static (или же простое освещение?).
-StaticPropNormals
Когда освещаются static props, просто отображать направление нормалей.
-noskyboxrecurse
Отключить рекурсию для 3d skybox (тени скайбокса на карту).
-nossprops
Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.
-dumppropmaps  (только в Source 2013 Multiplayer)
Сдампить (слить) вычисленные карты освещения.

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

Merge-arrow.png
Было предложено перенести эту статью или раздел в Ru/RAD file. (Обсуждение)

Файл освещения представляет собой обычный TXT документ VRAD(en), который вы можете править. Он указывает какие материалы(en) могут излучать статическое освещение. Ваши «.rad» файлы должны находиться в той же папке, где и gameinfo.txt(en).

Также:

  1. lights.rad, является глобальным файлом (используется всеми картами).
  2. Для автозагрузки файла освещения, нужно использовать «<имя карты>.rad». файл должен быть расположен там же, где и «<имя карты>.vmf».
  3. Любое количество файлов освещения могут быть добавлены в карту, если использовать -lights параметр.

Правила-Условия

light энтити, который расставляется движком на расстоянии каждые 4 люкселя

Чтобы файлы освещения работали правильно, на каждую отдельную текстуру должна идти отдельная строка по следующему шаблону:

<material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity>
Материал должен покрывать грани обычных брашей(en) (hdr_ значение не обязательно). Размер текстуры в хаммере напрямую влияет на степень яркости.
Note.pngПримечание:На самом деле не текстура излучает свет, это делает обычный light энтити, который расставляется движком на расстоянии каждые 4 люкселя(en). Иногда быстрее и разумней будет сделать это вручную в хаммере.
Note.pngПримечание:Текстуры, которые не лежат в папке Light, а находятся просто в materials, должны иметь перед своим именем слеш /ИМЯ_ТЕКСТУРЫ.
Warning.pngПредупреждение:func_detail(en) на которых будут нанесены текстуры излучающие свет, возможно не обработаются VRAD.
noshadow <имя текстуры>
Запрещает данной текстуре отбрасывать тень.
forcetextureshadow <путь к модели>.mdl
Включает тестирование полупрозрачной тени для модели, когда VRAD запускается с -TextureShadows. нужно указать папку расположения модели.
ldr:
hdr:
Префиксы для выполнения в режиме LDR или HDR.
hdr:ldr:
Строки, начинающиеся с обоих тегов (в таком порядке), всегда будут игнорироваться VRAD. Может использоваться для добавления комментариев или быстрого отключения некоторых параметров.

См. также