`
plmkome
  • 浏览: 41510 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Vision引擎中可视性合并介绍

 
阅读更多
引言
场景通常由若干不同几何网格实例组成,每个实例都有本地可视性信息。 现在,vForge 会负责为完整场景建置可视性信息。 该流程包括:
 
   找出可以合并的遮挡入口,对特有几何网格实例组成的视区进行转换
   没有对应部的遮挡入口应通往”最合适”的外部视区
   尚未分配几何体必须分配到”最合适”的外部视区
以下章节为上述某一选项的典型使用案例。
 
案例 1: 合并遮挡入口
设想您有一个隧道或洞穴系统,每个隧道分段的两端都各有一个遮挡入口:

相应地,该几何网格只有一个本地视区(内部),和两个通往外部的遮挡入口。 如果用这些隧道建置关卡,vForge 就会合并这些遮挡入口:

现在,第一个实例的终点遮挡入口通往第二个实例的内部区域,以此类推。 vForge 使用一定的容错量来寻找对应的遮挡入口。
 
案例 2: 外部遮挡入口
设想有一个房屋模型,放置在带地形的场景中。 房屋有一个通往外部的遮挡入口,但地形不在该位置提供对应的遮挡入口。 案例 1 中所示的遮挡入口合并在此例中不可能进行。 此案例的处理方式非常高明,vForge 会进行判断,知道必须创建一个临时遮挡入口,将外部地形视区和房屋内部视区连通:

案例 3: 外部几何体
 
案例 #1 和 #2 涵盖了大部分情况。 但是,场景中也许还有未引用的几何体,尚未分配到任何视区。 这包括没有任何可视化信息的静态几何体(本地可视化信息为可选属性),或属于外部场景的部分几何网格。 再次以房屋示例为例,下图已高亮出需要分配到外部的几何体部分:

在此例中,您需要在 3ds Max 或 Maya 中将遮挡入口设为”Single Sided”(单面)。 这一设置将告诉导出器不要分配外部几何体。
 
这样一来,该几何体自然会被分配给”最合适”的外部区域。 而最合适的区域会由引擎中安装的场景管理器类判定。 默认实施使用稳健启发式方案进行分配,即在边界框检查的基础上再参考已经分配到该区域的几何体与待分配几何体的距离。
 
可视性计算后,无法合并的遮挡入口以红色显示。
 
   提示:静态几何网格有一个“PreviewVisibility”(预览可视性)属性。 启用该属性后,被分配的可视性图形(区域和遮挡入口)会随该静态几何网格一同被渲染。 这能大大简化手动对齐遮挡入口的操作。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics