Zh/VVIS: Difference between revisions
< Zh
Jump to navigation
Jump to search
m (-Using L template for links) |
|||
| Line 1: | Line 1: | ||
{{langsp}} | {{langsp}} | ||
{{vvis|4}} 或 ''Valve Visible Information Set(Valve可见信息集)'' 是一个 | {{vvis|4}} 或 ''Valve Visible Information Set(Valve可见信息集)'' 是一个{{L|command-line|命令行}}工具,用于将编译后的 {{L|BSP}} 地图和嵌入的可见性数据结合在一起。VVIS 测试哪些 {{L|visleaf|visleaves}} 可以相互可见,哪些不可见。更详细的说明,请参阅 {{L|Visibility optimization|Visibility optimization(可见性优化)}}。 | ||
VVIS 将: | VVIS 将: | ||
* 通过 [http://www.gdcvault.com/play/1014234/Excerpt-Quake-Postmortem-Optimizing-Level 裁剪视平面测试] | * 通过 [http://www.gdcvault.com/play/1014234/Excerpt-Quake-Postmortem-Optimizing-Level 裁剪视平面测试] {{L|visleaf|visleaves}} 之间的可见性。 | ||
* 如果配置了,强制执行最大的可见性距离。 | * 如果配置了,强制执行最大的可见性距离。 | ||
== 语法 == | == 语法 == | ||
| Line 17: | Line 17: | ||
==选项== | ==选项== | ||
与 | 与{{L|expert compile mode|专家编译模式}} 或批处理文件结合使用这些命令: | ||
=== 功能 === | === 功能 === | ||
; <code>-fast</code> | ; <code>-fast</code> | ||
: 只进行一次快速的第一遍。实际上不测试可见性。 | : 只进行一次快速的第一遍。实际上不测试可见性。 | ||
; <code>-radius_override < | ; <code>-radius_override <{{L|int}}></code> | ||
: 强制一个最大的可见半径( | : 强制一个最大的可见半径({{L|unit}}),而不管是否指定了一个 {{L|env_fog_controller}}。 | ||
; <code>-nosort</code> | ; <code>-nosort</code> | ||
: 不要对门户进行排序(优化)。 | : 不要对门户进行排序(优化)。 | ||
| Line 36: | Line 36: | ||
: 以空闲优先级进程运行。 | : 以空闲优先级进程运行。 | ||
; <code>-threads</code> | ; <code>-threads</code> | ||
: 控制使用的线程数。默认情况下,线程数等于你机器上的处理器数量(对于具有超线程/SMT CPU的机器,则乘以2)。最大线程数为16个。使用 | : 控制使用的线程数。默认情况下,线程数等于你机器上的处理器数量(对于具有超线程/SMT CPU的机器,则乘以2)。最大线程数为16个。使用{{L|Increased_Thread_Limit_for_Compile_Tools|已修复的vvis_dll}},你可以达到32个线程。 | ||
; <code>-verbose (-v)</code> | ; <code>-verbose (-v)</code> | ||
: 打开详细输出。 | : 打开详细输出。 | ||
| Line 42: | Line 42: | ||
: 不要在vproject错误时显示图形UI。 | : 不要在vproject错误时显示图形UI。 | ||
; <code>-mpi</code> | ; <code>-mpi</code> | ||
: 使用 | : 使用{{L|VMPI}}来分配计算。 | ||
; <code>-mpi_pw < | ; <code>-mpi_pw <{{L|string}}></code> | ||
: 使用密码选择一组特定的 | : 使用密码选择一组特定的 {{L|VMPI}} 辅助。 | ||
; <code>-vproject <string></code> | ; <code>-vproject <string></code> | ||
; <code>-game <string></code> | ; <code>-game <string></code> | ||
: 覆盖 | : 覆盖{{L|VPROJECT}}环境变量。 | ||
== 控制台输出 == | == 控制台输出 == | ||
| Line 73: | Line 73: | ||
== 参见 == | == 参见 == | ||
* | * {{L|PRT}} | ||
* | * {{L|Visibility optimization}} | ||
Revision as of 10:06, 11 July 2024
VVIS 或 Valve Visible Information Set(Valve可见信息集) 是一个命令行工具,用于将编译后的 BSP 地图和嵌入的可见性数据结合在一起。VVIS 测试哪些 visleaves 可以相互可见,哪些不可见。更详细的说明,请参阅 Visibility optimization(可见性优化)。
VVIS 将:
语法
vvis [选项...] <bsp 文件>
例:
"Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01
这将生成并嵌入一个可见性图表,将门户数据写入到 .\tmp\sdk_trainstation_01.prt.
选项
与专家编译模式 或批处理文件结合使用这些命令:
功能
-fast- 只进行一次快速的第一遍。实际上不测试可见性。
-radius_override <int>- 强制一个最大的可见半径(unit),而不管是否指定了一个 env_fog_controller。
-nosort- 不要对门户进行排序(优化)。
-tmpin- 从
\tmp\<mapname>中读取门户数据. -tmpout- 在
\tmp\<mapname>中写入门户数据.
常规
-low- 以空闲优先级进程运行。
-threads- 控制使用的线程数。默认情况下,线程数等于你机器上的处理器数量(对于具有超线程/SMT CPU的机器,则乘以2)。最大线程数为16个。使用已修复的vvis_dll,你可以达到32个线程。
-verbose (-v)- 打开详细输出。
-novconfig- 不要在vproject错误时显示图形UI。
-mpi- 使用VMPI来分配计算。
-mpi_pw <string>- 使用密码选择一组特定的 VMPI 辅助。
-vproject <string>-game <string>- 覆盖VPROJECT环境变量。
控制台输出
VVIS将有关编译过程的各种信息打印到控制台。请注意,旧版本的输出可能有所不同。
number portalclusters- 地图中的有效 visleaves 数量(与 func_viscluster 聚集在一起的 visleaves 算作一个)。
number numportals- 连接上述 visleaves 的门户数量。
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)- 粗略的可见性计算,用于从最终计算中轻易地排除看不见的区域。
PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)- 运行实际的可见性算法,以确定哪些 visleaves 可以相互可见。不与
-fast一起运行。 Optimized: number visible clusters (percentage)- 可视化数据的压缩。
Total clusters visible: number- 在计算数据中能够相互看到的 visleaves 的出现总数。
Average clusters visible: number- 可能从每个 visleaf 中看到的平均张数。
Building PAS...- 计算潜在可听的集合。
Average clusters audible: number- 可能从每个 visleaf 中听到的平均张数。
visdatasize: number compressed from number- 可见性数据的大小(以字节为单位)。Source 2013 中的最大大小为 16 MB。