Difference between revisions of "VRAD:ru"

From Valve Developer Community
Jump to: navigation, search
(Undo revision 215420 by LoKkdoKk (talk))
(Undo revision 215575 by Romgerman (talk))
Line 1: Line 1:
|zh-cn = Vrad:zh-cn
|en = VRAD}}
'''VRAD''' - это [[command-line|инструмент командной строки]], который берет скомпилированную BSP карту и встраивает в неё данные освещения. Он генерирует статическое и прекомпилированное освещение используя алгоритм [[Wikipedia:Radiosity (3D computer graphics)|radiosity]].
Что делает VRAD:
* Сгенерирует [[lightmap|карты освещения]]
* Сгенерирует [[Ambient light|окружающее освещение]]
* Сгенерирует по-объектное или по-вершинное [[prop_static]] и [[detail prop]] освещение
VRAD это, скорее всего, самый медленный из трех компиляторов, так как он производит огромное количество вычислений. [[Lighting optimization|Оптимизация освещения]] может помочь также как и проверка карты на отсутствие [[leak:ru|утечек]].
{{tip:ru|Если ваше окно компиляции выглядит так будто оно зависло на ''<code>9...</code>'', скорее всего это произошло из-за того, что с каждым отражением света, расчеты VRAD занимают больше времени.}}
{{warning:ru|VRAD будет использовать большую часть процессорного времени в попытках просчитать свет.}}
{{bug:ru|Пользователям Ep1 и L4D испытывающим вылеты VRAD, когда он компилирует HDR, следует прочитать [[VRAD HDR Crash Fix]].}}
{{bug:ru|В ветке не-L4D игр, <code>.mdl</code> файлы не имеют с собой <code>.dx80.vtx</code> файлов, что приведет к тому, что VRAD будет пропускать расчет освещения для этих пропов. Копирование <code>.dx90.vtx</code> файла и переименование его в <code>.dx80.vtx</code> решит проблему. }}
{{bug:ru|Additionally, <code>.mdl</code> files that have the <code>IDST1</code> header will fail to load for [[VBSP]], and will give a error message stating the prop failed to load; this can be fixed by changing the header to <code>IDST0</code> in a Hex Editor, or by recompiling the prop in a non-L4D branch [[Studiomdl]] application such as Source 2013.}}
{{bug:ru|As of around 5-10 years ago up until at least October, 2017 all known copies of VRAD have a thread sharing bug which causes performance to scale poorly to multiple threads, particularly on outdoor scenes with -final set (despite showing 100% CPU usage). The fix to this bug for Source 2013 is available [https://github.com/ValveSoftware/source-sdk-2013/pull/436 here] and edited DLLs are available [http://www.content.tophattwaffle.com/Content/modded_vrad_dll.zip here]. Valve also released a patch for CSGO's VRAD that fixes this issue.}}
== Синтаксис ==
vrad [options...] <bsp file>
"Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01
Это сгенерирует и встроит стандартное и [[HDR]] освещение для каждого вертекса статичных пропов.
== Параметры ==
Используйте их в комбинации с [[expert compile mode]] или пакетным файлом.
=== Эффекты ===
; <code>-ldr</code>
; <code>-hdr</code>
; <code>-both</code>
: Whether to compile standard or [[HDR|High Dynamic Range]] lighting, or both.
: {{note|In {{insurgency}}{{csgo}}, you need to compile with -hdr in order have proper lighting since LDR isn't supported.}}
: Quick and dirty lighting. Don't ship with this.
: Increases the quality of [[light_environment]] and indirect lighting by spending more time firing rays.
;<code>-extrasky <[[int]]></code>
: Trace N times as many rays for indirect light and sky ambient. {{clr}}(-final is equivalent to -extrasky 16; normal is equivalent to -extrasky 1)
;<code>-lights <filename>.rad</code>
:Load a custom [[#Lights_files|lights file]] in addition to <code>lights.rad</code> and map-specific lights file. Include the file extension in the parameter.
;<code>-bounce <[[int]]></code>
: Set the maximum number of light ray bounces (default: 100).
;<code>-smooth <[[int]]></code>
:Set the threshold for [[smoothing group]]s, in degrees (default: 45).
;<code>-luxeldensity <[[normal]]></code>
:Scale down all luxels. Default (and maximum) value is 1.
;<code>-softsun <[[float]]></code>
:Treat the sun as an area light source of this many degrees. Produces soft shadows. Recommended values are 0-5, default is 0. Identical to the SunSpreadAngle parameter in [[light_environment]].
:Generate per-vertex [[prop_static]] lighting; always enabled for [[light_spot]] entities. Disables [[info_lighting]] entities on props WITHOUT normal maps. Does not work on props with Phong Enabled, except in {{csgo}}.
{{note|In {{csgo}}, in order to get proper lighting on your static props, you will need to run VRAD with this command.}}
;{{EP2 add|<code>-StaticPropPolys</code>}}
:Perform shadow tests of <code>prop_static</code>s at polygon precision. Default is to use [[collision mesh]]es.
;{{EP2 add|<code>-TextureShadows</code>}}
:Generates lightmap shadows from [[$translucent]] surfaces of models (NOT brushes) that are specified in a [[#Lights_files|lights file]] and being used with [[prop_static]]. Usually requires <code>-StaticPropPolys</code> to have any effect.
:{{note|A surface will need a low [[lightmap]] scale for most texture shadows to be recognisable.}}
;{{CSGO add|<code>-aoscale <[[float]]></code>}}
:Scales the intensity of VRAD's simulated ambient occlusion. 1.0 is default.
:{{Tip|Valve uses 1.5 for the new Dust 2.}}
;{{CSGO add|<code>-StaticPropBounce <[[int]]></code>}}
:Number of static prop light bounces to simulate. The default is 0.
:{{Tip|Valve uses 3 static prop bounces for the new Dust 2.}}
:{{Note|Any static props that you want light to bounce off of must also have their "Enable Bounced Lighting" keyvalue set.}}
=== Производительность ===
:Run as a low-priority process.
;<code>-threads <[[int]]></code>
:Override the number of CPU threads used. Maximum is 16 threads. With a [[Increased_Thread_Limit_for_Compile_Tools|patched vrad_dll]] you can use 32 threads.
:Use [[Vmpi|VMPI]] to distribute computations.
;<code>-mpi_pw <[[string]]></code>
:Use a password to choose a specific set of VMPI workers.
:Disable supersampling.
;<code>-chop <int></code>
:Smallest number of [[luxel]] widths for a bounce patch, used on edges.
;<code>-maxchop <int></code>
:Coarsest allowed number of luxel widths for a patch, used in face interiors.
:This can be used if there are splotches of bounced light on terrain. The compile will take longer, but it will gather light across a wider area.
;<code>-compressconstant <int></code>
:Compress [[lightmap]]s whose color variation is less than this many units.
;<code>-fastambient <int></code>
:{{Todo|What is this?}}
;{{CSGO add|<code>-StaticPropSampleScale x</code>}}
:Regulates the generated per-vertex prop_static lighting.
:slow: 16 (high quality); default: 4 (normal); fast: 0.25 (low quality)
:{{note|-final is the equivalent of having -StaticPropLightingScale 16.}}
=== Отладка ===
:Emit red light when "a luxel has no samples".
;<code>-vproject <directory></code>
;<code>-game <directory></code>
:Override the VPROJECT environment variable.
;<code>-insert_search_path <directory></code>
:{{Todo|What does this do?}}
: Turn on verbose output.
:Don't bring up graphical UI on vproject errors.
:Dump patches to debug files.
:Write normals to debug .txt files.
:Places debugging data in lightmaps to visualize supersampling.
:Force direct lighting into different lightmap than radiosity.
:Wait for a keypress on exit.
:Don't light detail props.
:Move sample centers.
:Log the sample hash table to samplehash.txt.
:Only light detail props and per-leaf lighting.
;<code>-maxdispsamplesize #</code>
:Set max displacement sample size (default: 512).
:Write large minidumps on crash.
:Only perform direct static prop lighting.
:When lighting static props, just show their normal vector.
:Turn off recursion into 3d skybox (skybox shadows on world).
:Globally disable self-shadowing on static props.
;{{2013 add|<code>-dumppropmaps</code>}}
:Dump computed prop lightmaps.
== Файлы освещения ==
A light file is a plain text file that can be used to manipulate the way [[Vrad|VRAD]] handles given [[material]]s when compiling static lighting. All lights files must have the .rad file extension and must be in the same folder as your [[gameinfo.txt]].
There are:
#'''<code>lights.rad</code>''', the global file.
#'''An auto-loaded map light file''', using the format <code><map name>.rad</code>. The file must be placed in the same folder as <code><map name>.vmf</code>.
#'''Any number of additional lights files''' that can be added with [[#Effects|the <code>-lights</code> parameter]].
=== Правила ===
Lights files perform these functions, one rule per line:
;<code><material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity></code>
:Makes the material emit the given light value when applied to a [[brush]] face (<code>hdr_</code> values are optional). Texture scale has an effect on final intensity. {{note|materials that aren't in a folder must have a slash before their name.}}
{{note|The material itself doesn't emit anything, it instead creates light entities on its face.}}
{{warning|A [[func_detail]] with an emissive material applied on any face will automatically cause VRAD to fail!}}
;<code>noshadow <material name></code>
:Prevents the named material from casting shadows.
;<code>forcetextureshadow <model path>.mdl</code>
:Enables translucency shadow testing for a model when VRAD is run with <code>[[#Effects|-TextureShadows]]</code>. Path is relative to the models folder.
:Prefixes to make any rule only apply to LDR or HDR lighting.
:Lines beginning with both tags (in that order) will always be ignored by VRAD. Can be used to add comments or quickly disable some entries.
== См. также ==
* [[Map Compiling Theory:ru|Теория компиляции карт]]
* [[HDR Lighting Basics]]
* [[VRAD HDR Crash Fix]]
* [[Static Props show up black]]
[[Category:Level Design:ru]]

Revision as of 15:38, 18 July 2018