如果使用默认的前向渲染路径,Unity 会将每个实时光源 (Light) 组件设置为以下类型之一:
有关更多信息,请参阅逐像素和逐顶点光源。
每个游戏对象每受到一次逐像素光源的影响,内置渲染管线就会对其进行一次渲染。
SH 光源速度快,对性能影响很小或没有影响。但是,SH 光源不支持剪影、法线贴图或镜面高光。它们还有清晰的光照过渡,可能看起来较为怪异。
默认情况下,Unity 使用以下条件对光源进行分组:
在渲染过程中,Unity 会查找网格周围的所有光源,并计算出哪些光源对网格的影响最大。
例如,在下图中,球体游戏对象由 8 个具有相同颜色和强度的光源照亮,Unity 将四个最近的光源(A 到 D)设置为逐像素光源,将光源 D 到 G 设置为逐顶点光源,将光源 G 和 H 设置为 SH 光源。每个逐像素光源都会创建一个单独的渲染通道。
为了帮助避免游戏对象和光源移动时的可见光照过渡,Unity 将光源从一种模式混合成另一种模式。在前面的示例中,Unity 将光源 D 从逐像素光源混合成逐顶点光源。
有关优化 Unity 光源分类方式的信息,请参阅优化内置渲染管线中的光照。