Version: 1.7
语言 : 中文
使用斜视锥体
开始使用遮挡剔除

遮挡剔除

团结引擎中当前使用的遮挡剔除使用的是基于深度的动态遮挡剔除算法,旧版基于 Umbra 的方案已废弃。与旧版相比,新方案可以实时计算遮挡物与被遮挡物之间的关系,从而在每一帧渲染前动态决定是否剔除被遮挡的物体。这意味着遮挡物不再局限于静态对象,系统可以根据物体的相对位置动态评估,并实时进行遮挡剔除。 这使得新方案更加灵活,适应性更强。但需要注意的是,动态计算遮挡关系会增加运行时的计算负担,因此开发者在使用时应关注性能开销的平衡。尽管新方案在灵活性和动态场景适应性上优于旧版,但合理的参数设置和性能监控依然至关重要。开发者应根据具体项目的需求,权衡性能与渲染效果,选择最合适的剔除策略。 此外,新版算法针对支持 AVXSSENEON 指令集的处理器进行了优化,确保其在主流桌面和移动平台上都能保持良好的性能。

新旧遮挡剔除方案使用方式异同

对于场景中的遮挡物:

  • 旧版方案:遮挡物必须是静态的,并在 Inspector 窗口中选择 Occluder Static
  • 新版方案:遮挡物可以是动态游戏对象,只需在游戏对象上添加 Occluder 组件。

对于场景中的被遮挡物:

  • 旧版方案:被遮挡物分为静态和动态两类。静态被遮挡物在 Inspector 中选择 Occludee Static,动态被遮挡物在 Renderer 组件 中勾选 Dynamic Occlusion
  • 新版方案:不再区分静态和动态被遮挡物,统一通过 Renderer 组件 中的 Dynamic Occlusion 设置。
使用斜视锥体
开始使用遮挡剔除