游戏对象可以是静态的,也可以是动态的(非静态)。静态游戏对象和动态游戏对象在 Unity 的遮挡剔除系统中的行为不同:
要确定动态游戏对象是否充当被遮挡物,可以在任何类型的渲染器组件上设置动态遮挡 (Dynamic Occlusion) 属性。启用动态遮挡后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 会剔除渲染器。禁用动态遮挡后,渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 不会剔除渲染器。
默认情况下启用动态遮挡。为了获得特定的效果,例如在墙后的角色周围绘制轮廓,可能需要禁用动态遮挡。
如果确定 Unity 绝对不应该将遮挡剔除应用于特定的游戏对象,则可以禁用动态遮挡以减少运行时计算并降低 CPU 使用率。虽然这些计算对每个游戏对象的影响很小,但如果规模足够大,减少这些计算可能有利于提高性能。