Zh/Visleaf: Difference between revisions

From Valve Developer Community
< Zh
Jump to navigation Jump to search
(Created page with "{{LanguageBar|Visleaf|title=可视区域}} {{Distinguish|VisGroup}} 每个'''可视区域'''(Visleaf,简称leaf)是地图中定义"可见表面簇"的中空体积空间。地图的每个可见表面都属于某个visleaf,主要由渲染引擎用于确定每帧需要渲染的区域。当某个visleaf的任一部分从当前visleaf可能可见时,该visleaf的全部内容都会被考虑渲染。 visleaf由{{L|vvis|VVIS}}编译工具根据{{L|BSP}}树...")
 
No edit summary
 
Line 3: Line 3:
{{Distinguish|VisGroup}}
{{Distinguish|VisGroup}}


每个'''可视区域'''(Visleaf,简称leaf)是地图中定义"可见表面簇"的中空体积空间。地图的每个可见表面都属于某个visleaf,主要由渲染引擎用于确定每帧需要渲染的区域。当某个visleaf的任一部分从当前visleaf[[PVS|可能可见]]时,该visleaf的全部内容都会被考虑渲染。
每个'''可视区域'''(Visleaf,简称leaf)是地图中定义"可见表面簇"的中空体积空间。地图的每个可见表面都属于某个visleaf,主要由渲染引擎用于确定每帧需要渲染的区域。当某个visleaf的任一部分从当前visleaf{{LPVS|可能可见}}时,该visleaf的全部内容都会被考虑渲染。


visleaf由{{L|vvis|VVIS}}编译工具根据{{L|BSP}}树自动生成,其每个内部表面要么是{{L|World brush|世界笔刷}}表面,要么是通往相邻visleaf的"门户"。
visleaf由{{L|vvis|VVIS}}编译工具根据{{L|BSP}}树自动生成,其每个内部表面要么是{{L|World brush|世界笔刷}}表面,要么是通往相邻visleaf的"门户"。
Line 40: Line 40:
* 生成工具:
* 生成工具:
   - {{L|vvis|VVIS}}编译器
   - {{L|vvis|VVIS}}编译器
   - [visleaf原理详解](存档链接)
   - [https://web.archive.org/web/20150527052701/http://rvanhoorn.ruhosting.nl:80/optimization.php?chapter=visleafs visleaf原理详解](存档链接)
* {{L|Optimization (level design)|关卡优化}}
* {{L|Optimization (level design)|关卡优化}}


{{ACategory|Level Design|关卡设计}}
{{ACategory|Level Design|关卡设计}}
{{ACategory|Glossary|术语表}}
{{ACategory|Glossary|术语表}}

Latest revision as of 09:38, 27 June 2025

English (en)Deutsch (de)Русский (ru)中文 (zh)Translate (Translate)
注意区分 VisGroup.

每个可视区域(Visleaf,简称leaf)是地图中定义"可见表面簇"的中空体积空间。地图的每个可见表面都属于某个visleaf,主要由渲染引擎用于确定每帧需要渲染的区域。当某个visleaf的任一部分从当前visleafTemplate:LPVS时,该visleaf的全部内容都会被考虑渲染。

visleaf由VVIS(en)编译工具根据BSP(en)树自动生成,其每个内部表面要么是世界笔刷(en)表面,要么是通往相邻visleaf的"门户"。

两房间示例场景
上图场景的默认visleaf结构(注意leaf 2不可见leaf 3)

查看方法

三种检查visleaf的方式:

1. **Hammer编辑器**(Source 2007及以后版本):

  - 通过菜单选项"地图 > 加载门户文件"在3D视图中直接查看
  - 相邻visleaf的边缘会显示为粗蓝线

2. **桌面工具**:

  - 使用glview(en)工具(位于`common\[game]\bin`目录)
Tip.png提示:使用自动visgroup(en)隐藏不影响可见性的物体(仅保留"世界几何体")可获得更清晰视图

3. **开发者控制台**:

  - 使用控制台变量(en) mat leafvis(en)
  - 例如:`mat_leafvis 3`显示PVS中所有visleaf
Note.png注意:不要与`mat_wireframe 3`显示的世界笔刷轮廓混淆

4. **3ds Max**(需安装4(en)):

  - 通过菜单"Wall Worm > 关卡设计 > 编译工具 > 加载PRT文件"查看
  - 门户显示为粗黄线,可选择门户高亮相邻visleaf

相关概念

  • PVS(en)(潜在可见集):当前需要渲染的visleaf集合
  • PAS(en)(潜在可听集):声音传播相关的visleaf集合
  • 可见性优化(en)
 - Leaks(en)(泄漏)会阻碍visleaf生成
 - Hint brush(en)提示编译器分割visleaf
  • 生成工具:
 - VVIS(en)编译器
 - visleaf原理详解(存档链接)