Version: Unity 6.0 (6000.0)
语言 : 中文
优化 2D 光源
检查 Unity 批处理光源的方式

2D 光源批处理简介

使用光源批处理调试器 (Light Batching Debugger) 可以直观显示 Unity 如何根据场景中的目标排序层2D 光源阴影投射器进行批处理。

Unity 要批量处理排序层,这些层需要满足以下条件:

  • 这些层具有相同的光源集;也就是说,2D 光源以相同的排序层为目标。
  • 这些层具有相同的阴影投射器集;也就是说,阴影投射器以相同的排序层为目标。

调试器会比较相邻批次,突出显示以每个排序层为目标的光源或阴影投射器,并显示 Unity 需要添加或删除哪些光源或阴影投射器才能对排序层进行批处理。

检查 Unity 如何使用光源批处理调试器窗口在项目中批处理 2D 光源

不同批处理场景的示例

以下是 Unity 如何在不同条件下批处理光源和阴影投射器的示例。每个示例都包含两个名为 BGDefault ** 的排序层以及两个名为 A** 和 B 的光源。

场景 1

条件:

  • 光源 AB 同时以 BGDefault 排序层为目标。
  • 两个光源都禁用了阴影;也就是说,没有阴影投射器。
批处理案例 1
批处理案例 1

结果:Unity 将两个光源一起进行批处理,因为它们的目标是相同的层。

批处理案例 1
批处理案例 1

场景 2

条件:

  • 光源 A 的目标是 BG,而光源 B 的目标是 Default
  • 两个光源都禁用了阴影。
批处理案例 2
批处理案例 2

结果:Unity 不会对这些层进行批处理,因为两个光源的目标是不同的排序层。

批处理案例 2
批处理案例 2

场景 3

条件:

  • 光源 AB 都以 BGDefault 排序层为目标。
  • 两个光源都启用了阴影,阴影投射器同时以 BG 层和 Default 层为目标。
批处理案例 3
批处理案例 3

结果:Unity 会对这些层进行批处理,因为光源和阴影投射器集都以相同的层为目标。

批处理案例 3
批处理案例 3

场景 4

条件: * 光源 AB 都以 BGDefault 为目标。 * 仅光源 A 启用了阴影,阴影投射器同时以 BGDefault 为目标。

批处理案例 4
批处理案例 4

结果:Unity 会对这些层进行批处理,因为阴影投射器以两个排序层为目标,因此两个层拥有相同的阴影设置,使两个层的光源纹理相同。

批处理案例 4
批处理案例 4

场景 5

条件:

  • 光源 AB 都以 BGDefault 排序层为目标。
  • 两个光源都启用了阴影,阴影投射器仅以 BG 层为目标。
批处理案例 5
批处理案例 5

结果:Unity 不会对这些层进行批处理,因为阴影投射器以一层为目标但不以另一层为目标;这会导致两个层的光源纹理不同,无法进行批处理。

批处理案例 5

优化 2D 光源
检查 Unity 批处理光源的方式