Difference between revisions of "VRAD/ru"

From Valve Developer Community
Jump to: navigation, search
m (Эффекты: clean up, replaced: {{todo:ru → {{todo)
m (Правила-Условия: Unicodifying, replaced: [[Image: → [[File:)
 
Line 130: Line 130:
  
 
===Правила-Условия===
 
===Правила-Условия===
:[[Image:Lightsrad_light_generation.png|thumb|300px|light энтити, который расставляется движком на расстоянии каждые 4 люкселя]]
+
:[[File:Lightsrad_light_generation.png|thumb|300px|light энтити, который расставляется движком на расстоянии каждые 4 люкселя]]
 
Чтобы файлы освещения работали правильно, на каждую отдельную текстуру должна идти отдельная строка по следующему шаблону:
 
Чтобы файлы освещения работали правильно, на каждую отдельную текстуру должна идти отдельная строка по следующему шаблону:
  

Latest revision as of 02:11, 9 January 2024

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

VRAD может:

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

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 происходит сбой, прочтите это.
Icon-Bug.pngОшибка:В серии игр Серия игр Left 4 Dead Left 4 Dead, «.mdl» модели, которые не имеют «.dx80.vtx» будут проигнорированы компилятором VRAD. Скопируйте «.dx90.vtx» файл и переименуйте его в «.dx80.vtx» чтобы исправить это.
Имеется бат-файл, который будет делать это автоматически: Скачать (разместите файл в папке с моделью и запустите бат-файл.)
Icon-Bug.pngОшибка:К тому же, «.mdl» файлы, имеющие заголовок «IDST1» не будут обработаны для VBSP, и выдадут сообщение об ошибке, говорящее что модель не удалось загрузить. Это можно исправить, изменив заголовок на «IDST0» в HEX редакторе или перекомпилировав модель не в «Left 4 Dead Left 4 Dead Studiomdl», таком как Source 2013 Source 2013. Можно так же использовать программу Crowbar.
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 данные освещения с детализацией по каждой вершине для prop_static.

Опции

Используйте эти комбинации в режиме эксперта или в bat-файле.

Эффекты

-ldr
Компилировать освещение в Низком Динамическим Диапазоне.
Warning.pngПредупреждение:Insurgency и Counter-Strike: Global Offensive не поддерживают LDR. Для правильного освещения используйте -both или -hdr
-hdr
Компилировать освещение в Высоком Динамическим Диапазоне.
-both
Компилировать освещение как в LDR, так и в HDR.
-fast
Компиляция освещения низкого качества. Используются для быстрого предпросмотра карты.
Note.pngПримечание:-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)
генерирует освещение по вершинам prop_static; всегда включено для энтити light_spot. Отключает энтити info_lighting на пропах без карт рельефа на текстуре. Не работает на пропах с картами рельефа на текстуре во всех играх, кроме Counter-Strike: Global Offensive.
Warning.pngПредупреждение:Это может существенно увеличить размер файла вашей карты. Отключите освещение по вершинам для пропов, которым это не требуется, чтобы сохранить размер файла небольшим.
Note.pngПримечание:Чтобы в Counter-Strike: Global Offensive получить правильное освещение на ваших статических пропах, вам нужно будет запустить VRAD с этим параметром.
-StaticPropPolys  (in all games since Half-Life 2: Episode Two)
Использовать актуальные меши ваших статичных пропов вместо их мешей столкновения для генерации теней. Это ведёт к более точному созданию теней.
-TextureShadows  (in all games since Half-Life 2: Episode Two)
Генерировать тени карты освещения из $translucent поверхностей моделей (НЕ брашей), которые указаны в файле освещения и используются с prop_static. Обычно требуют включенного параметра -StaticPropPolys.
Note.pngПримечание:Поверхность требует низкомасштабной карты освещения, чтобы большинство текстур теней были узнаваемыми.
Note.pngПримечание:По какой-то странной причине это не будет работать, если VMT файл полупрозрачной текстуры содержит .vtf файл, заканчивающийся строками с basetexture.
-aoscale <float> (in all games since Counter-Strike: Global Offensive)
Определяет масштаб интенсивности моделируемой окклюзии VRAD. По умолчанию 1.0.
Tip.pngСовет:Valve используют 1.5 для новой Dust 2.
-aoradius <float> (only in Insurgency)
Устанавливает радиус имитации окклюзии VRAD.
Blank image.pngНужно сделать: Узнать, как именно.
-aosamples <integer> (only in Insurgency)
Как много сэмплов использовать для имитации окклюзии VRAD.
-StaticPropBounce <integer> (only in Counter-Strike: Global Offensive)
Число симуляции световых отражений статических пропов. По умолчанию 0.
Tip.pngСовет:Valve используют 3 отражения статических пропов для новой Dust 2.
Note.pngПримечание:У любого статического пропа можно отключить световые отражения через ключ "Enable Bounced Lighting".
-StaticPropLightingFinal  (only in Counter-Strike: Global Offensive)
Компилирует освещение более высокого качества для статических пропов.
-StaticPropLightingOld  (only in Counter-Strike: Global Offensive)
Использовать старый алгоритм освещения для пропов, на них свет влияет сильнее всего.
-choptexlights  (only in Black Mesa)
Включает разделение текстурного света, сгенерированного на основе файла освещения. Управляет качеством текстурного света с помощью плотности карты освещения в Hammer. Существенно увеличивает качество текстурного освещения и время компиляции.
-extratransfers  (only in Black Mesa)
Включить масштабирование передачи света.
-transferscale <float> (only in Black Mesa)
Масштабный коэффициент передачи света. Увеличенные значения заставляют поверхности передавать больше света (предлагается масштаб 2–4). По умолчанию 1.0.
-satthresh <float> (only in Black Mesa)
Порог, определяющий насыщенность цвета материала. Используется вместе с -satthreshscale. По умолчанию 0.4.
-satthreshscale <float> (only in Black Mesa)
Количество масштабируемого света переносится с поверхностей, которые превышают порог насыщенности. По умолчанию 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.pngПримечание:Параметр -final эквивалентен значению 16 параметра -StaticPropLightingScale.


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

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

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

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

Также:

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

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

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

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

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

См. также