Version: 2020.3
开始使用遮挡剔除
遮挡剔除和场景加载

对动态游戏对象使用遮挡剔除

游戏对象可以是静态的,也可以是动态的(非静态)。静态游戏对象和动态游戏对象在 Unity 的遮挡剔除系统中的行为不同:

  • Unity 可以将静态游戏对象作为静态遮挡物和/或静态被遮挡物烘焙到遮挡剔除数据中。
  • Unity 无法将动态游戏对象烘焙到遮挡剔除数据中。动态游戏对象可以在运行时充当被遮挡物,而不能充当遮挡物。

要确定动态游戏对象是否充当被遮挡物,可以在任何类型的渲染器组件上设置 Dynamic Occlusion 属性。启用 Dynamic Occlusion 后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 会剔除渲染器。禁用 Dynamic Occlusion 后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 不会剔除渲染器。

默认情况下会启用 Dynamic Occlusion。为了获得特定的效果,例如在墙后的角色周围绘制轮廓,可能需要禁用 Dynamic Occlusion。

如果确定 Unity 绝对不应该将遮挡剔除应用于特定的游戏对象,则可以禁用 Dynamic Occlusion 以减少运行时计算并降低 CPU 使用率。虽然这些计算对每个游戏对象的影响很小,但如果规模足够大,减少这些计算可能有利于提高性能。

开始使用遮挡剔除
遮挡剔除和场景加载