Difference between revisions of "VRAD:ru"

From Valve Developer Community
Jump to: navigation, search
m (Removed double spaces, double dots. Fixed incorrect display of link to "Source Engine BSP Lightmap Editor". Fixed punctuation, changed and added some other, minor changes.)
 
Line 1: Line 1:
 
{{otherlang2
 
{{otherlang2
 +
|zh-cn = Vrad:zh-cn
 
|en = Vrad
 
|en = Vrad
 
}}
 
}}
 
{{toc-right}}
 
{{toc-right}}
  
'''VRAD''' это инструмент [[command-line|командной строки]], он берет уже готовый BSP и добавляет в него данные об освещении. Статическое и заготовленное освещение функционируют через [[radiosity]] алгоритм.
+
'''VRAD''' это инструмент [[command-line|командной строки]], он берет уже готовый BSP и добавляет в него данные об освещении. Статическое и заготовленное освещение функционируют через [[radiosity]] алгоритм.
  
 
VRAD может:
 
VRAD может:
  
* Генерировать [[lightmap|лайтмапы]]
+
* Генерировать [[lightmap|карты освещения]]
 
* Генерировать [[Ambient light|окружающий свет]]
 
* Генерировать [[Ambient light|окружающий свет]]
* Генерировать освещение граней или целых объектов, к примеру [[prop_static]] и [[detail prop]].
+
* Генерировать освещение граней или целых объектов, к примеру [[prop_static]] и [[detail prop]]
  
 
VRAD является самым медленным из компиляторов. [[Lighting optimization|оптимизация освещения]] может помочь ускорить процесс, если на карте нет [[leak|утечек]].
 
VRAD является самым медленным из компиляторов. [[Lighting optimization|оптимизация освещения]] может помочь ускорить процесс, если на карте нет [[leak|утечек]].
  
{{tip| Если Вы наблюдаете как процесс компиляции словно завис на ''<code>9...</code>'' не переживайте, дело в том, что на каждый новый просчет карты освещения тратится всё больше времени..}}
+
{{tip| Если Вы наблюдаете как процесс компиляции словно завис на <code>9...</code> не переживайте, дело в том, что на каждый новый просчет карты освещения тратится всё больше времени.}}
 
{{warning|VRAD сильно нагружает процессор во время компиляции!}}
 
{{warning|VRAD сильно нагружает процессор во время компиляции!}}
  
{{bug|Если в EP1 или L4D во время компиляции освещения в HDR происходит сбой, прочтите [[VRAD HDR Crash Fix|это]].}}
+
{{bug|Если в EP1 или L4D во время компиляции освещения в [[HDR]] происходит сбой, прочтите [[VRAD HDR Crash Fix|это]].}}
  
{{bug|В серии игр L4D, <code>.mdl</code> модели, которые не имеют <code>.dx80.vtx</code> будут проигнорированы компилятором VRAD . Скопируйте <code>.dx90.vtx</code> файл и переименуйте его в <code>.dx80.vtx</code> чтобы исправить это.}}
+
{{bug|В серии игр L4D, <code>.mdl</code> модели, которые не имеют <code>.dx80.vtx</code> будут проигнорированы компилятором VRAD. Скопируйте <code>.dx90.vtx</code> файл и переименуйте его в <code>.dx80.vtx</code> чтобы исправить это.}}
Имеется батник, который будет это делать автоматически: [https://drive.google.com/file/d/1OlQcFDlJPbK5vp6PTv7CZGXBjF9Z1UU0/view?usp=sharing|Скачать] (разместите файл в папке с моделью и запустите батник.)
+
Имеется бат-файл, который будет это делать автоматически: [https://drive.google.com/file/d/1OlQcFDlJPbK5vp6PTv7CZGXBjF9Z1UU0/view?usp=sharing|Скачать] (разместите файл в папке с моделью и запустите бат-файл.)
{{bug|К тому же, <code>.mdl</code> файлы, имеющие заголовок <code>IDST1</code> не будут обработаны для [[VBSP]], и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить; это можно исправить, изменив заголовок на <code>IDST0</code> в HEX редакторе или перекомпилировав модель в приложении [[Studiomdl]] или в чем-нибудь получше, подходящем для Source 2013 (Crowbar например).}}
+
{{bug|К тому же, <code>.mdl</code> файлы, имеющие заголовок <code>IDST1</code> не будут обработаны для [[VBSP]], и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить; это можно исправить, изменив заголовок на <code>IDST0</code> в HEX редакторе или перекомпилировав модель в не L4D [[Studiomdl]], таком как Source 2013. Можно так же использовать [[Crowbar]].}}
{{bug|Уже как минимум 5-10 лет по состоянию на октябрь 2017 года, все известные вариации VRAD компилятора имеют проблему с многоядерными процессорами, вследствие чего нагрузка на процессоре может достигать до 100%, а по факту будет нагружено не более нескольких ядер. Это ощутимо заметно в режиме полной компиляции -final (когда процессор задыхается в 100%). Исправление этого бага для Source 2013 доступно [https://github.com/ValveSoftware/source-sdk-2013/pull/436 here|здесь], а отредактированные библиотеки DLL доступны [http://www.content.tophattwaffle.com/Content/modded_vrad_dll.zip|здесь]. Valve также выпустила патч для VRAD CS GO, который исправляет эту проблему.}}
+
{{bug|Уже как минимум 5-10 лет по состоянию на октябрь 2017 года, все известные вариации VRAD компилятора имеют проблему с многоядерными процессорами, вследствие чего нагрузка на процессоре может достигать до 100%, а по факту будет нагружено не более нескольких ядер. Это ощутимо заметно в режиме полной компиляции <code>-final</code> (несмотря на то, что показано 100% использование процессора). Исправление этого бага для Source 2013 доступно [https://github.com/ValveSoftware/source-sdk-2013/pull/436 здесь], а отредактированные библиотеки DLL доступны [http://www.content.tophattwaffle.com/Content/modded_vrad_dll.zip здесь]. Valve также выпустила патч для VRAD CS GO, который исправляет эту проблему.}}
{{bug|Иногда на лайтмапе  могут быть слишком черные тени и грубые переходы от света к темноте.}}
+
{{bug|Иногда на карта освещения могут быть слишком черные тени и грубые переходы от света к темноте.}}
: {{tip|[https://github.com/Enderlux/sourcelightmap Source Engine BSP Lightmap Editor] с его помощью можно вручную редактировать УЖЕ ЗАПЕЧЕННЫЙ  лайтмап у готовой BSP..}}
+
: {{tip|С помощью [https://github.com/Enderlux/sourcelightmap Source Engine BSP Lightmap Editor] можно вручную редактировать УЖЕ ЗАПЕЧЕННУЮ карту освещения у готовой <code>.bsp</code>.}}
  
 
== Синтаксис ==
 
== Синтаксис ==
Line 34: Line 35:
 
  "Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01
 
  "Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01
  
Это сгенерирует и встроит и стандартные и [[HDR|High Dynamic Range]] данные освещения с детализацией по каждой вершине для энтити prop_static.
+
Это сгенерирует, а так же встроит и стандартные, и [[HDR|High Dynamic Range]] данные освещения с детализацией по каждой вершине для [[prop_static]].
  
 
==Опции==
 
==Опции==
  
Используйте эти комбинации в [[expert compile mode| режиме эксперта]] или в gfrtnyjv файле.
+
Используйте эти комбинации в [[expert compile mode| режиме эксперта]] или в бат-файле.
  
 
=== Эффекты ===
 
=== Эффекты ===
Line 46: Line 47:
 
{{IO|-hdr}}
 
{{IO|-hdr}}
 
{{IO|-both|Компилировать ли стандартное или [[HDR|High Dynamic Range]] освещение, либо оба.
 
{{IO|-both|Компилировать ли стандартное или [[HDR|High Dynamic Range]] освещение, либо оба.
: {{note|В {{insurgency}}{{csgo}}, ОБЯЗАТЕЛЬНО компилировать с <code>-hdr</code> для правильного освещения, т.к. LDR не поддерживается.}}}}
+
: {{note|В {{insurgency}}{{csgo}}, ОБЯЗАТЕЛЬНО компилировать с <code>-hdr</code> для правильного освещения, т.к. LDR не поддерживается.}}}}
{{IO|-fast|Быстрый и грязный свет. Не заморачивайтесь с этим.
+
{{IO|-fast|Быстрый и грязный свет. Не используйте этот параметр при релизе.
 
: {{Note|<code>-fast</code> приведет к появлению случайно окрашенных пятен в темных областях.}}}}
 
: {{Note|<code>-fast</code> приведет к появлению случайно окрашенных пятен в темных областях.}}}}
 
{{IO|-final|Улучшает качество {{ent|light_environment}} и непрямого света, затрачивая больше времени на лучи.}}
 
{{IO|-final|Улучшает качество {{ent|light_environment}} и непрямого света, затрачивая больше времени на лучи.}}
{{IO|-extrasky|param=int|Прослеживает в N раз больше лучшей для непрямого освещения и неба. {{clr}}(<code>-final</code> то же самое, что и <code>-extrasky 16</code>; normal соответствует <code>-extrasky 1</code>)}}
+
{{IO|-extrasky|param=int|Прослеживает в <code>N</code> раз больше лучшей для непрямого освещения и неба. {{clr}}(<code>-final</code> то же самое, что и <code>-extrasky 16</code>; normal соответствует <code>-extrasky 1</code>)}}
 
{{IO|-lights <filename>.rad|Загружает пользовательский [[#Lights_files|файл освещения]] в дополнение к <code>lights.rad</code> и файлу освещения непосредственно для этой карты. В этот параметре необходимо указывать расширение файла.}}
 
{{IO|-lights <filename>.rad|Загружает пользовательский [[#Lights_files|файл освещения]] в дополнение к <code>lights.rad</code> и файлу освещения непосредственно для этой карты. В этот параметре необходимо указывать расширение файла.}}
{{IO|-bounce|param=int|Устанавливает максимальное число лучей света. (по умолчанию: 100).}}
+
{{IO|-bounce|param=int|Устанавливает максимальное число лучей света. (по умолчанию: <code>100</code>).}}
{{IO|-smooth|param=int|Устанавливает порог для [[smoothing group|групп сглаживания]], в градусах (по умолчанию: 45).}}
+
{{IO|-smooth|param=int|Устанавливает порог для [[smoothing group|групп сглаживания]], в градусах (по умолчанию: <code>45</code>).}}
{{IO|-luxeldensity|param=normal|Уменьшает масштаб всех люкселей. По умолчанию (максимальное значение) 1.}}
+
{{IO|-luxeldensity|param=normal|Уменьшает масштаб всех [[luxel|люкселей]]. По умолчанию (максимальное значение) <code>1</code>.}}
{{IO|-softsun|param=float|Рассматривает солнце как источник освещения в этой степени. Создает мягкие тени. Рекомендуемые значения 0-5, по умолчанию is 0. Идентично параметру SunSpreadAngle для <code>light_environment</code>, Используйте его вместо этого.}}
+
{{IO|-softsun|param=float|Рассматривает солнце как источник освещения в этой степени. Создает мягкие тени. Рекомендуемые значения <code>0-5</code>, по умолчанию <code>0</code>. Идентично параметру <code>SunSpreadAngle</code> для <code>light_environment</code>, Используйте его вместо этого.}}
{{IO|-StaticPropLighting|генерирует освещение по вершинена {{ent|prop_static}}ах; всегда включено для энтити {{ent|light_spot}}. Отключает энтити {{ent|info_lighting}} на пропах без [[bump maps|карт рельефа на текстуре]]. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме {{csgo}}.  
+
{{IO|-StaticPropLighting|генерирует освещение по вершинена {{ent|prop_static}}ах; всегда включено для энтити {{ent|light_spot}}. Отключает энтити {{ent|info_lighting}} на пропах без [[bump maps|карт рельефа на текстуре]]. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме {{csgo}}.
 
: {{Warning|Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.}}
 
: {{Warning|Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.}}
: {{note|В {{csgo}},чтобы получить правильное освещение на ваших static props, вам нужно запустить VRAD с этим параметром.}}|since=EP2}}
+
: {{note|В {{csgo}},чтобы получить правильное освещение на ваших static props, вам нужно запустить VRAD с этим параметром.}}|since=EP2}}
{{IO|-StaticPropPolys|Использовать актуальные меши ваших static props для генерации теней вместо использования их [[collision mesh|мешей столкновения]]. Это ведет к более точному созданию теней shadowing.|since=EP2}}
+
{{IO|-StaticPropPolys|Использовать актуальные меши ваших static props для генерации теней вместо использования их [[collision mesh|мешей столкновения]]. Это ведет к более точному созданию теней.|since=EP2}}
{{IO|-TextureShadows|Генерировать тени карты освещения из {{ent|$translucent}} поверхностей моделей (НЕ брашей), которые указаны в [[#Lights_files|файле освещения]] и используются с <code>prop_static</code>. Обычно требуют включенного параметра <code>-StaticPropPolys</code>.
+
{{IO|-TextureShadows|Генерировать тени карты освещения из {{ent|$translucent}} поверхностей моделей (НЕ брашей), которые указаны в [[#Lights_files|файле освещения]] и используются с [[prop_static]]. Обычно требуют включенного параметра <code>-StaticPropPolys</code>.
 
: {{note|Поверхность требует низкомасштабной [[lightmap|карты освещения]], чтобы большинство текстур теней были узнаваемыми.}}
 
: {{note|Поверхность требует низкомасштабной [[lightmap|карты освещения]], чтобы большинство текстур теней были узнаваемыми.}}
 
: {{note|По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.}}|since=EP2}}
 
: {{note|По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.}}|since=EP2}}
{{IO|-aoscale|param=float|Определяет масштаб интенсивности моделируемой окклюзии VRAD. По умолчанию 1.0 .
+
{{IO|-aoscale|param=float|Определяет масштаб интенсивности моделируемой окклюзии VRAD. По умолчанию <code>1.0</code>.
 
: {{Tip|Valve используют 1.5 для новой Dust 2.}}|since=CSGO}}
 
: {{Tip|Valve используют 1.5 для новой Dust 2.}}|since=CSGO}}
 
{{IO|-aoradius|param=float|Устанавливает радиус имитации окклюзии VRAD. {{TODO|Узнать, как именно.}}|only=Ins}}
 
{{IO|-aoradius|param=float|Устанавливает радиус имитации окклюзии VRAD. {{TODO|Узнать, как именно.}}|only=Ins}}
{{IO|-aosamples|param=int|Как много сэмплов использовать для имитации окклюзии VRAD.|only=Ins}}
+
{{IO|-aosamples|param=int|Как много сэмплов использовать для имитации окклюзии VRAD.|only=Ins}}
{{IO|-StaticPropBounce|param=int|Число симуляции световых отражений статических пропов. По умолчанию 0.
+
{{IO|-StaticPropBounce|param=int|Число симуляции световых отражений статических пропов. По умолчанию <code>0</code>.
 
: {{Tip|Valve используют 3 три отражения статических пропов для новой Dust 2.}}
 
: {{Tip|Valve используют 3 три отражения статических пропов для новой Dust 2.}}
 
: {{Note|У любого статического пропа можно отключить световые отражения через ключ "Enable Bounced Lighting".}}|only=CSGO}}
 
: {{Note|У любого статического пропа можно отключить световые отражения через ключ "Enable Bounced Lighting".}}|only=CSGO}}
Line 74: Line 75:
 
{{IO|-choptexlights|Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.|only=BMS}}
 
{{IO|-choptexlights|Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.|only=BMS}}
 
{{IO|-extratransfers|Включить масштабирование передачи света.|only=BMS}}
 
{{IO|-extratransfers|Включить масштабирование передачи света.|only=BMS}}
{{IO|-transferscale|param=float|Масштабный коэффициент передачи света. Увеличанные значения заставляют поверхности передавать больше света (предлагается масштаб 2-4). По умолчанию 1.0.|only=BMS}}
+
{{IO|-transferscale|param=float|Масштабный коэффициент передачи света. Увеличанные значения заставляют поверхности передавать больше света (предлагается масштаб <code>2-4</code>). По умолчанию <code>1.0</code>.|only=BMS}}
 
{{IO|-satthresh|param=float|Порог, определяющий насыщенность цвета материала. Используется вместе с <code>-satthreshscale</code>. По умолчанию 0.4.|only=BMS}}
 
{{IO|-satthresh|param=float|Порог, определяющий насыщенность цвета материала. Используется вместе с <code>-satthreshscale</code>. По умолчанию 0.4.|only=BMS}}
 
{{IO|-satthreshscale|param=float|Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 3.0.|only=BMS}}
 
{{IO|-satthreshscale|param=float|Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 3.0.|only=BMS}}
Line 83: Line 84:
 
{{ColumnBox|count=2|
 
{{ColumnBox|count=2|
 
{{IO|-low|Запуск процесса с низким приоритетом.}}
 
{{IO|-low|Запуск процесса с низким приоритетом.}}
{{IO|-threads|param=int|Указать количество задействованных ядер цпу, макс 16. Используя [[Increased_Thread_Limit_for_Compile_Tools|патч vrad_dll]] вы можете расширить до 32 .}}
+
{{IO|-threads|param=int|Указать количество задействованных ядер цпу, макс <code>16</code>. Используя [[Increased_Thread_Limit_for_Compile_Tools|патч vrad_dll]] вы можете расширить до <code>32</code>.}}
{{IO|-mpi|Использовать [[Vmpi|VMPI]] для распределения вычислений (не актуально) .}}
+
{{IO|-mpi|Использовать [[Vmpi|VMPI]] для распределения вычислений (не актуально).}}
 
{{IO|-mpi_pw|param=string|Использовать пароль для определенных VMPI шаблонов-режимов.}}
 
{{IO|-mpi_pw|param=string|Использовать пароль для определенных VMPI шаблонов-режимов.}}
{{IO|-noextra|Отключить суперсэмплинг. Карта станет более яркой, а тени неточными. .}}
+
{{IO|-noextra|Отключить суперсэмплинг. Карта станет более яркой, а тени неточными.}}
{{IO|-chop|param=int| Наименьшее число ширины [[luxel|люкселей ]] для патчей отражения, используемых на краях. (По умолчанию: 4)}}
+
{{IO|-chop|param=int| Наименьшее число ширины [[luxel|люкселей]] для патчей отражения, используемых на краях. (По умолчанию: <code>4</code>)}}
{{IO|-maxchop|param=int|Самое грубое допустимое число ширины люкселей в патче, используемое на поверхностях интерьера. (По умолчанию: 4)}}
+
{{IO|-maxchop|param=int|Самое грубое допустимое число ширины [[luxel|люкселей]] в патче, используемое на поверхностях интерьера. (По умолчанию: <code>4</code>)}}
{{IO|-dispchop|param=int|Наименьшая приемлемая ширина [[luxel|люкселей]] в поверхностях патча дисплейсментов. (По умолчанию: 8)}}
+
{{IO|-dispchop|param=int|Наименьшая приемлемая ширина [[luxel|люкселей]] в поверхностях патча дисплейсментов. (По умолчанию: <code>8</code>)}}
 
{{IO|-LargeDispSampleRadius|Это можно использовать, если на поверхности есть пятна отраженного света. Компиляция займет больше времени, но она соберет свет в более обширных областях.}}
 
{{IO|-LargeDispSampleRadius|Это можно использовать, если на поверхности есть пятна отраженного света. Компиляция займет больше времени, но она соберет свет в более обширных областях.}}
{{IO|-compressconstant|param=int|Сжать [[lightmap|лайтмапы]], цветовая вариация которых меньше, чем данное значение.}}
+
{{IO|-compressconstant|param=int|Сжать [[lightmap|карты освещения]], цветовая вариация которых меньше, чем данное значение.}}
 
{{IO|-fastambient|Использовать низкое качество выборки для каждого листа, чтобы сэкономить время вычисления.}}
 
{{IO|-fastambient|Использовать низкое качество выборки для каждого листа, чтобы сэкономить время вычисления.}}
{{IO|-noao|Отключить компиляцию смоделированной окклюзии для лайтмапов (карт освещения).|only=Ins}}
+
{{IO|-noao|Отключить компиляцию смоделированной окклюзии для карты освещения.|only=Ins}}
{{IO|-StaticPropSampleScale|param=int|Регулирует освещение, сгенерированное для каждой вершины проп статик.  
+
{{IO|-StaticPropSampleScale|param=int|Регулирует освещение, сгенерированное для каждой вершины проп статик.
: медленно: 16 (высокое качество); по умолчанию: 4 (нормальное качество); быстро: 0.25 (низкое качество)
+
: медленно: 16 (высокое качество); по умолчанию: <code>4</code> (нормальное качество); быстро: <code>0.25</code> (низкое качество)
: {{note|параметр -final эквивалентен значению 16 параметра -StaticPropLightingScale.}}|only=CSGO}}
+
: {{note|Параметр <code>-final</code> эквивалентен значению <code>16</code> параметра <code>-StaticPropLightingScale</code>.}}|only=CSGO}}
 
}}
 
}}
  
Line 102: Line 103:
  
 
{{ColumnBox|count=2|
 
{{ColumnBox|count=2|
{{IO|-rederrors|подсвечивает люксели без сэмплов}}
+
{{IO|-rederrors|подсвечивает [[luxel|люксели]] без сэмплов}}
 
{{IO|-vproject <directory>}}
 
{{IO|-vproject <directory>}}
{{IO|-game <directory>|Указать путь к VPROJECT (Game Info).}}
+
{{IO|-game <directory>|Указать путь к VPROJECT (Game Info).}}
 
{{IO|-insert_search_path <directory>|{{Todo|Что это такое?}}}}
 
{{IO|-insert_search_path <directory>|{{Todo|Что это такое?}}}}
 
{{IO|-v}}
 
{{IO|-v}}
 
{{IO|-verbose|Включить подробный отчёт-вывод.}}
 
{{IO|-verbose|Включить подробный отчёт-вывод.}}
 
{{IO|-novconfig|Не запускать игру при наличии ошибок с Vconfig (при проблемах с поиском контента игры.}}
 
{{IO|-novconfig|Не запускать игру при наличии ошибок с Vconfig (при проблемах с поиском контента игры.}}
{{IO|-dump|Сброс патчей для отладки файлов..}}
+
{{IO|-dump|Сброс патчей для отладки файлов.}}
 
{{IO|-dumpnormals|Записывать нормали в файл дампа .txt.}}
 
{{IO|-dumpnormals|Записывать нормали в файл дампа .txt.}}
{{IO|-debugextra|Помещает данные отладки в лайтмапы для визуализации суперсэмплинга.}}
+
{{IO|-debugextra|Помещает данные отладки в карты освещения для визуализации суперсэмплинга.}}
{{IO|-dlightmap|Превращает направленное освещение в разнонаправленные лайтпамы..}}
+
{{IO|-dlightmap|Превращает направленное освещение в разнонаправленные лайтпамы.}}
 
{{IO|-stoponexit|Ждать нажатия кнопки, для выхода (закрытия окна).}}
 
{{IO|-stoponexit|Ждать нажатия кнопки, для выхода (закрытия окна).}}
 
{{IO|-nodetaillight|Не освещать дитейл пропы (или func_details?).}}
 
{{IO|-nodetaillight|Не освещать дитейл пропы (или func_details?).}}
 
{{IO|-centersamples|Переместить сэмплы в центр.}}
 
{{IO|-centersamples|Переместить сэмплы в центр.}}
 
{{IO|-loghash| Записать хэш таблицы в samplehash.txt.}}
 
{{IO|-loghash| Записать хэш таблицы в samplehash.txt.}}
{{IO|-onlydetail|Освещать только детейл пропы и per-leaf .}}
+
{{IO|-onlydetail|Освещать только детейл пропы и per-leaf.}}
{{IO|-maxdispsamplesize|param=int| Установить максмальный размер сэмплов для дисплейсментов (по умолчанию: 512).}}
+
{{IO|-maxdispsamplesize|param=int| Установить максмальный размер сэмплов для дисплейсментов (по умолчанию: <code>512</code>).}}
{{IO|-FullMinidump|Написать большой минидамп при краше.}}
+
{{IO|-FullMinidump|Написать большой минидамп при ошибке.}}
 
{{IO|-OnlyStaticProps|Выполнять только прямое освещение prop static (или же простое освещение?).}}
 
{{IO|-OnlyStaticProps|Выполнять только прямое освещение prop static (или же простое освещение?).}}
 
{{IO|-StaticPropNormals|Когда освещаются static props, просто отображать направление нормалей.}}
 
{{IO|-StaticPropNormals|Когда освещаются static props, просто отображать направление нормалей.}}
{{IO|-noskyboxrecurse|Отключить рекурсию для 3d skybox (тени скайбокса на карту).}}
+
{{IO|-noskyboxrecurse|Отключить рекурсию для 3d skybox (тени скайбокса на карту).}}
{{IO|-nossprops|Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.}}
+
{{IO|-nossprops|Отключить все произвольные тени для static props (когда существует тень от бочки, даже карте без освещения.}}
{{IO|-dumppropmaps|Сдампить (слить) вычисленные карты освещения. .|only=2013MP}}
+
{{IO|-dumppropmaps|Сдампить (слить) вычисленные карты освещения. |only=2013MP}}
 
}}
 
}}
  
 
==Файлы статического освещения==
 
==Файлы статического освещения==
  
Файл освещения представляет собой обычный TXT документ [[Vrad|VRAD]] , который вы можете править. Он указывает какие [[material|материалы]] могут излучать статическое освещение. Ваши .rad файлы должны лежать в той же папке, где и [[gameinfo.txt]]
+
Файл освещения представляет собой обычный TXT документ [[Vrad|VRAD]], который вы можете править. Он указывает какие [[material|материалы]] могут излучать статическое освещение. Ваши <code>.rad</code> файлы должны находиться в той же папке, где и [[gameinfo.txt]].
  
также:
+
Также:
  
 
#'''<code>lights.rad</code>''', является глобальным файлом (используется всеми картами).
 
#'''<code>lights.rad</code>''', является глобальным файлом (используется всеми картами).
#'''Для автозагрузки файла освещения''', нужно использовать <code><имя карты>.rad</code>. файл должен быть расположен там же, где и <code><имя карты>.vmf</code>.
+
#'''Для автозагрузки файла освещения''', нужно использовать <code><имя карты>.rad</code>. файл должен быть расположен там же, где и <code><имя карты>.vmf</code>.
#'''Любое количество файлов освещения''' могут быть добавлены в карту, если использовать [[#Effects|the <code>-lights</code>параметр ]].
+
#'''Любое количество файлов освещения''' могут быть добавлены в карту, если использовать [[#Effects|the <code>-lights</code>параметр ]].
  
 
=== Правила-Условия ===
 
=== Правила-Условия ===
Line 141: Line 142:
 
Чтобы файлы освещения работали правильно, на каждую отдельную текстуру должна идти отдельная строка по следующему шаблону:
 
Чтобы файлы освещения работали правильно, на каждую отдельную текстуру должна идти отдельная строка по следующему шаблону:
  
;<code><ПАПКА lights/Имя текстурыl> <красный> <зеленый> <синий> <яркость> <hdr_красный> <hdr_зеленый> <hdr_синий> <hdr_яркость></code>
+
;<code><material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity></code>
:Материал должен покрывать грани обычных [[brush|брашей]] (<code>hdr_</code> значение не обязательно) Размер текстуры в хаммере напрямую влияет на степень яркости.
+
:Материал должен покрывать грани обычных [[brush|брашей]] (<code>hdr_</code> значение не обязательно). Размер текстуры в хаммере напрямую влияет на степень яркости.
  
:{{Note|На самом деле не текстура излучает свет, это делает обычный {{ent|light}} энтити, [https://developer.valvesoftware.com/w/images/8/8e/Lightsrad_light_generation.png который расставляется движком на расстоянии каждые 4 люкселя (пикселя)]. Иногда быстрее и разумней будет сделать это вручную в хаммере.}}
+
:{{Note|На самом деле не текстура излучает свет, это делает обычный {{ent|light}} энтити, [https://developer.valvesoftware.com/w/images/8/8e/Lightsrad_light_generation.png который расставляется движком на расстоянии каждые 4 [[luxel|люкселя]]]. Иногда быстрее и разумней будет сделать это вручную в хаммере.}}
 
:{{note|Текстуры, которые не лежат в папке Light, а находятся просто в materials, должны иметь перед своим именем слеш /ИМЯ_ТЕКСТУРЫ.}}
 
:{{note|Текстуры, которые не лежат в папке Light, а находятся просто в materials, должны иметь перед своим именем слеш /ИМЯ_ТЕКСТУРЫ.}}
{{warning| [[func_detail]] на которых будут нанесены текстуры излучающие свет, возможно не обработаются VRAD.}}
+
{{warning| [[func_detail]] на которых будут нанесены текстуры излучающие свет, возможно не обработаются VRAD.}}
 
;<code>noshadow <имя текстуры></code>
 
;<code>noshadow <имя текстуры></code>
 
:Запрещает данной текстуре отбрасывать тень.
 
:Запрещает данной текстуре отбрасывать тень.

Latest revision as of 04:25, 11 February 2020

English 简体中文

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

VRAD может:

VRAD является самым медленным из компиляторов. оптимизация освещения может помочь ускорить процесс, если на карте нет утечек.

Tip: Если Вы наблюдаете как процесс компиляции словно завис на 9... не переживайте, дело в том, что на каждый новый просчет карты освещения тратится всё больше времени.

Warning: VRAD сильно нагружает процессор во время компиляции!

Bug: Если в EP1 или L4D во время компиляции освещения в HDR происходит сбой, прочтите это.
Bug: В серии игр L4D, .mdl модели, которые не имеют .dx80.vtx будут проигнорированы компилятором VRAD. Скопируйте .dx90.vtx файл и переименуйте его в .dx80.vtx чтобы исправить это.

Имеется бат-файл, который будет это делать автоматически: [1] (разместите файл в папке с моделью и запустите бат-файл.)

Bug: К тому же, .mdl файлы, имеющие заголовок IDST1 не будут обработаны для VBSP, и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить; это можно исправить, изменив заголовок на IDST0 в HEX редакторе или перекомпилировав модель в не L4D Studiomdl, таком как Source 2013. Можно так же использовать Crowbar.
Bug: Уже как минимум 5-10 лет по состоянию на октябрь 2017 года, все известные вариации VRAD компилятора имеют проблему с многоядерными процессорами, вследствие чего нагрузка на процессоре может достигать до 100%, а по факту будет нагружено не более нескольких ядер. Это ощутимо заметно в режиме полной компиляции -final (несмотря на то, что показано 100% использование процессора). Исправление этого бага для Source 2013 доступно здесь, а отредактированные библиотеки DLL доступны здесь. Valve также выпустила патч для VRAD CS GO, который исправляет эту проблему.
Bug: Иногда на карта освещения могут быть слишком черные тени и грубые переходы от света к темноте.
Tip:С помощью 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 освещение, либо оба.
Note:В <Insurgency><Counter-Strike: Global Offensive>, ОБЯЗАТЕЛЬНО компилировать с -hdr для правильного освещения, т.к. LDR не поддерживается.
-fast
Быстрый и грязный свет. Не используйте этот параметр при релизе.
Note:-fast приведет к появлению случайно окрашенных пятен в темных областях.
-final
Улучшает качество light_environment и непрямого света, затрачивая больше времени на лучи.
-extrasky <integer>
Прослеживает в N раз больше лучшей для непрямого освещения и неба.
(-final то же самое, что и -extrasky 16; normal соответствует -extrasky 1)
-lights <filename>.rad
Загружает пользовательский файл освещения в дополнение к lights.rad и файлу освещения непосредственно для этой карты. В этот параметре необходимо указывать расширение файла.
-bounce <integer>
Устанавливает максимальное число лучей света. (по умолчанию: 100).
-smooth <integer>
Устанавливает порог для групп сглаживания, в градусах (по умолчанию: 45).
-luxeldensity <normal>
Уменьшает масштаб всех люкселей. По умолчанию (максимальное значение) 1.
-softsun <float>
Рассматривает солнце как источник освещения в этой степени. Создает мягкие тени. Рекомендуемые значения 0-5, по умолчанию 0. Идентично параметру SunSpreadAngle для light_environment, Используйте его вместо этого.
-StaticPropLighting  (in all games since <Half-Life 2: Episode Two><Half-Life 2: Episode Two>)
генерирует освещение по вершинена prop_staticах; всегда включено для энтити light_spot. Отключает энтити info_lighting на пропах без карт рельефа на текстуре. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме <Counter-Strike: Global Offensive>.
Warning: Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.
Note:В <Counter-Strike: Global Offensive>,чтобы получить правильное освещение на ваших static props, вам нужно запустить VRAD с этим параметром.
-StaticPropPolys  (in all games since <Half-Life 2: Episode Two><Half-Life 2: Episode Two>)
Использовать актуальные меши ваших static props для генерации теней вместо использования их мешей столкновения. Это ведет к более точному созданию теней.
-TextureShadows  (in all games since <Half-Life 2: Episode Two><Half-Life 2: Episode Two>)
Генерировать тени карты освещения из $translucent поверхностей моделей (НЕ брашей), которые указаны в файле освещения и используются с prop_static. Обычно требуют включенного параметра -StaticPropPolys.
Note:Поверхность требует низкомасштабной карты освещения, чтобы большинство текстур теней были узнаваемыми.
Note:По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.
-aoscale <float> (in all games since <Counter-Strike: Global Offensive>)
Определяет масштаб интенсивности моделируемой окклюзии VRAD. По умолчанию 1.0.
Tip:Valve используют 1.5 для новой Dust 2.
-aoradius <float> (only in <Insurgency>)
Устанавливает радиус имитации окклюзии VRAD. To do: Узнать, как именно.
-aosamples <integer> (only in <Insurgency>)
Как много сэмплов использовать для имитации окклюзии VRAD.
-StaticPropBounce <integer> (only in <Counter-Strike: Global Offensive>)
Число симуляции световых отражений статических пропов. По умолчанию 0.
Tip:Valve используют 3 три отражения статических пропов для новой Dust 2.
Note:У любого статического пропа можно отключить световые отражения через ключ "Enable Bounced Lighting".
-StaticPropLightingFinal  (only in <Counter-Strike: Global Offensive>)
Компилирует освещение более высокого качества для статических пропов.
-StaticPropLightingOld  (only in <Counter-Strike: Global Offensive>)
Использовать старый алгоритм освещения для пропов, на них свет влияет сильнее всего.
-choptexlights  (only in <Black Mesa (Source)>)
Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.
-extratransfers  (only in <Black Mesa (Source)>)
Включить масштабирование передачи света.
-transferscale <float> (only in <Black Mesa (Source)>)
Масштабный коэффициент передачи света. Увеличанные значения заставляют поверхности передавать больше света (предлагается масштаб 2-4). По умолчанию 1.0.
-satthresh <float> (only in <Black Mesa (Source)>)
Порог, определяющий насыщенность цвета материала. Используется вместе с -satthreshscale. По умолчанию 0.4.
-satthreshscale <float> (only in <Black Mesa (Source)>)
Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 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
Использовать низкое качество выборки для каждого листа, чтобы сэкономить время вычисления.
-noao  (only in <Insurgency>)
Отключить компиляцию смоделированной окклюзии для карты освещения.
-StaticPropSampleScale <integer> (only in <Counter-Strike: Global Offensive>)
Регулирует освещение, сгенерированное для каждой вершины проп статик.
медленно: 16 (высокое качество); по умолчанию: 4 (нормальное качество); быстро: 0.25 (низкое качество)
Note:Параметр -final эквивалентен значению 16 параметра -StaticPropLightingScale.

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

-rederrors
подсвечивает люксели без сэмплов
-vproject <directory>
-game <directory>
Указать путь к VPROJECT (Game Info).
-insert_search_path <directory>
To do: Что это такое?
-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 (когда существует тень от бочки, даже карте без освещения.
-dumppropmaps  (only in <Source><Source><Source>)
Сдампить (слить) вычисленные карты освещения.

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

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

Также:

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

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

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

<material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity>
Материал должен покрывать грани обычных брашей (hdr_ значение не обязательно). Размер текстуры в хаммере напрямую влияет на степень яркости.
Note:На самом деле не текстура излучает свет, это делает обычный light энтити, который расставляется движком на расстоянии каждые 4 люкселя. Иногда быстрее и разумней будет сделать это вручную в хаммере.
Note:Текстуры, которые не лежат в папке Light, а находятся просто в materials, должны иметь перед своим именем слеш /ИМЯ_ТЕКСТУРЫ.

Warning:  func_detail на которых будут нанесены текстуры излучающие свет, возможно не обработаются VRAD.

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

Обратите внимание также на