Difference between revisions of "Vrad:zh-cn"

From Valve Developer Community
Jump to: navigation, search
(Created page with "{{otherlang2 |title=VRAD |en = VRAD |ru = VRAD:ru}} {{toc-right}} '''VRAD'''是一个命令行工具,它接受已编译的BSP映射并将光照数据嵌入...")
 
 
Line 67: Line 67:
 
:以多边形精度执行<code>prop_static</code>的阴影测试。默认使用[[collision mesh|碰撞网格]]。
 
:以多边形精度执行<code>prop_static</code>的阴影测试。默认使用[[collision mesh|碰撞网格]]。
 
;{{EP2 add|<code>-TextureShadows</code>}}
 
;{{EP2 add|<code>-TextureShadows</code>}}
:从[[#Lights_files|光照文件]]中指定的与[[prop_static]]一起使用的模型(非笔刷)的[[$translucent]]表面生成光照贴图阴影。通常需要<code>-StaticPropPolys</code>才能起作用。
+
:从[[#光照文件|光照文件]]中指定的与[[prop_static]]一起使用的模型(非笔刷)的[[$translucent]]表面生成光照贴图阴影。通常需要<code>-StaticPropPolys</code>才能起作用。
 
:{{注意|对于大多数纹理阴影来说,一个表面将需要较低的[[lightmap|光照贴图]]比例来识别。}}
 
:{{注意|对于大多数纹理阴影来说,一个表面将需要较低的[[lightmap|光照贴图]]比例来识别。}}
 
}}
 
}}

Latest revision as of 12:39, 17 April 2018

English Русский

VRAD是一个命令行工具,它接受已编译的BSP映射并将光照数据嵌入其中。VRAD的静态和预编译的光照通过光线传递算法在世界范围内反弹。

VRAD将进行:

VRAD通常是三种编译器中最慢的,因为它必须执行许多计算。照明优化可以提供帮助,因为可以确保你的地图没有泄漏

提示:如果你正在观察编译对话框,并且发现它看起来好像停留在9...这个地方,这通常是因为VRAD在每次光线反弹计算中需要更长的时间。
警告:在尝试创建光照转换的过程中,VRAD会占用大量的CPU。
Bug: 《第一章》和求生之路的地图作者如果发现VRAD在编译HDR光照时出现崩溃,那就应该阅读VRAD中的HDR崩溃修复这篇文章。
Bug: 在非求生之路分支的游戏里,没有包含.dx80.vtx文件的.mdl文件将导致VRAD跳过这些道具的光照编译,复制.dx90.vtx文件并将其重命名为.dx80.vtx将会修复此问题。
Bug: 此外,具有IDST1开头的.mdl文件将无法被VBSP加载,并且会显示一条错误消息,指出无法加载此道具;这可以通过在十六进制编辑器中将文件头更改为IDST0,或通过在非求生之路分支引擎的Studiomdl程序(如Source 2013)中重新编译该道具来解决。
Bug: 从大约5 - 10年前到2017年10月,VRAD的所有已知副本都有一个共享线程错误,这会导致其性能无法适应多个线程,特别是在带有-final参数的室外场景中(尽管CPU使用显示为100%)。在SDK 2013已经提供了修复此漏洞的程序,在这里可以找到:https://github.com/ValveSoftware/source-sdk-2013/pull/436,编辑的DLL可在此处获得:www.content.tophattwaffle.com/Content/modded_vrad_dll.zip。更新:Valve发布了针对CS:GO的SDK的VRAD的补丁版本。

语法

vrad [选项...] <bsp文件>

例如:

"Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01

这将在prop_static实体的每个顶点细节处生成并嵌入标准和高动态范围的光照数据。

选项

通过专家编译模式或批处理文件来结合使用。

效果

-ldr
-hdr
-both
是否编译标准或高动态范围的光照,或两者一起编译。
注意:<Insurgency>,你需要使用-hdr或-both进行编译才能看到瀑布阴影。
-fast
快速和较差的照明。不要随便使用它。
-final
通过花费更多时间发射光照射线来改进light_environment和间接光照的质量。
-extrasky <int>
对间接光线和天空环境追踪N倍的光线。
(-final等同于-extrasky 16;正常等同于-extrasky 1)
-lights <filename>.rad
除了lights.rad和地图指定的光照文件之外,还加载自定义光照文件。在参数中包含文件扩展名。
-bounce <int>
设置光线反弹的最大数量(默认值:100)。
-smooth <int>
设置平滑组的阈值(以度为单位)(默认值:45)。
-luxeldensity <normal>
缩小所有像素值。默认(和最大)值为1。
-softsun <float>
将太阳视为多个度数的区域光源。产生柔和的阴影。建议值为0-5,默认为0。与light_environment中的SunSpreadAngle参数相同。
-StaticPropLighting
生成prop_static的每个顶点的光照;始终对light_spot实体启用。 在没有法线贴图的道具的情况下禁用info_lighting实体。不支持启用Phong的道具。
注意:<Counter-Strike: Global Offensive>,为了在你的静态道具上获得适当的照明,你需要用这个命令来运行VRAD。
-StaticPropPolys (New with Half-Life 2: Episode Two / Source 2007)
以多边形精度执行prop_static的阴影测试。默认使用碰撞网格
-TextureShadows (New with Half-Life 2: Episode Two / Source 2007)
光照文件中指定的与prop_static一起使用的模型(非笔刷)的$translucent表面生成光照贴图阴影。通常需要-StaticPropPolys才能起作用。
注意:对于大多数纹理阴影来说,一个表面将需要较低的光照贴图比例来识别。

性能

-low
作为低优先级进程运行。
-threads <int>
覆盖使用的CPU线程数量。最多是16个线程。使用修补的vrad_dll你可以使用32个线程。
-mpi
使用VMPI分发计算。
-mpi_pw <string>
使用密码来选择一组特定的VMPI工作人员。
-noextra
禁用超采样。
-chop <int>
用于边缘的反弹补丁的最小数量的像素宽度。
-maxchop <int>
最粗糙的允许数量的像素宽度的补丁,用于内部表面。
-LargeDispSampleRadius
如果地形上有反弹光斑,可以使用此功能。编译将需要更长时间,但它会在更广泛的区域聚集光线。
-compressconstant <int>
压缩颜色变化小于这么多单位的光照贴图
-StaticPropSampleScale x (New with Counter-Strike: Global Offensive)
调节生成的prop_static的每个顶点的光照。
慢:16(高质量);默认值:4(正常);快速:0.25(低质量)
注意:-final相当于带有参数-StaticPropLightingScale 16。

调试

-rederrors
当“一个发光像素没有样本”是发出红光。
-vproject <directory>
-game <directory>
覆盖VPROJECT环境变量。
-v
-verbose
打开详细输出。
-novconfig
不要在vproject错误上显示图形用户界面。
-dump
转储补丁以调试文件。
-dumpnormals
将法线写入.txt调试文件。
-debugextra
将调试数据置于光照贴图中以可视化超级采样。
-dlightmap
强制直射照明到不同的光照贴图而不是光线传递。
-stoponexit
等待退出按键。
-nodetaillight
不要点亮细节道具。
-centersamples
移动样品中心。
-loghash
将样本哈希表记录到samplehash.txt。
-onlydetail
只有光照细节道具和每片叶子的照明。
-maxdispsamplesize #
设置最大位移样本大小(默认值:512)。
-FullMinidump
在崩溃时写入大型小型转储。
-OnlyStaticProps
仅执行直接的静态道具照明。
-StaticPropNormals
当照明静态道具时,只显示它们的法向矢量。
-noskyboxrecurse
关闭递归到3d天空盒(世界上的天空盒阴影)。
-nossprops
全局禁用静态道具上的自我阴影。

光照文件

光照文件是一种纯文本文件,可用于在编译静态光照时操纵VRAD处理给定材质的方式。所有光照文件必须具有.rad文件扩展名,并且必须与gameinfo.txt位于同一文件夹中。

这里有:

  1. lights.rad,全局文件。
  2. 自动加载的地图光照文件,使用<map name>.rad格式。该文件必须放在与<map name>.vmf相同的文件夹中。
  3. 可以使用-lights参数添加任意数量的其他光照文件

规则

Lights文件执行这些功能,每行一个规则:

<material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity>
当应用到笔刷表面时,使材质发出指定的光照值(hdr_值是可选的)。纹理比例对最终强度有影响。
注意:不在文件夹中的材质在名称前必须有斜杠。
noshadow <材质名称>
阻止指定材质投射阴影。
forcetextureshadow <模型路径>.mdl
使用-TextureShadows运行VRAD时,为模型启用半透明阴影测试。路径相对于模型文件夹。
ldr:
hdr:
制定任何规则的前缀仅适用于LDR或HDR照明。
hdr:ldr:
VRAD会始终忽略以这两个标签开始的行(按此顺序)。可用于添加注释或快速禁用某些条目。

另见