Version: Unity 6.0 (6000.0)
语言 : 中文
修复光照贴图中的光渗
光照设置资源中光照贴图设置参考

优化烘焙

在大多数配置中,渐进式 GPU 光照贴图程序的性能比渐进式 CPU 光照贴图程序都快得多。具体性能取决于所选的烘焙配置文件

然而,烘焙所用的 GPU 的规格以及分配给 GPU 的 VRAM 量都会影响光照贴图程序的性能体验。

其他争用 GPU 资源的应用程序也会对烘焙性能产生影响。根据硬件供应商的不同,减少 Unity 可用的 VRAM 也可能会减慢烘焙过程或导致失败。

要获得与渐进式 CPU 光照贴图程序相同的质量,渐进式 GPU 光照贴图程序需要多达四倍的间接光源样本。渐进式 CPU 光照贴图程序使用了一种名为分支路径跟踪的方法,该方法在每次反弹时都会发射更多光线。分支路径跟踪法对 GPU 不适用。

Unity 提供了一个电子表格来帮您确定渐进式 GPU 光照贴图程序烘焙场景所需的内存数量。更多详情请参阅渐进式 GPU 光照贴图程序内存表

防止因光照贴图平铺而导致的烘焙速度减慢

渐进式 GPU 光照贴图程序包含一个名为光照贴图平铺的功能。光照贴图平铺会阻止渐进式 GPU 光照贴图程序使用所有可用的 GPU 内存。相反,Unity 会为 CPU 分配一部分临时内存,然后将光照按图块进行烘焙,图块的大小匹配可用的 GPU 内存数量。Unity 会根据选定的烘焙配置文件配置平铺。渐进式 CPU 光照贴图程序不包含平铺功能。

当平铺功能处于活动状态,且光照贴图图集的分辨率为 512px 或以上时,烘焙相同场景的过程可能比无平铺的情况下更慢。

针对平台的限制

macOS 上更难确定可用的内存数量。因此,macOS 平台更有可能回退到 CPU,最好遵循针对烘焙速度优化的指示。

如何优化烘焙速度

有多种方法可以减少烘焙时间并避免烘焙超过指定给 GPU 用于烘焙的 VRAM 的情况。

  • 关闭其他使用 GPU 加速的应用程序。使用 GPU 加速的 2D 图像编辑和 3D 建模软件均会消耗 VRAM。请关闭使用加速的图形功能或退出这些应用程序。

  • 对较小的__ GameObject__Unity 场景中的基础对象,可以表示角色、道具、风景、摄像机、路径点等。GameObject 的功能由所附的组件决定。更多信息
    See in Glossary
    使用光照探针。诸如碎片或小道具之类的 GameObject 会占用光照贴图中的空间,但可能不会对场景的外观产生重大影响。要优化烘焙速度,请 禁用这些 GameObject 的网格渲染器的 贡献全局照明 (Contribute Global Illumination) ,并改用光照探针为它们提供光照。

  • 为渲染和烘焙指定单独的 GPU。如果计算机有多个 GPU,可以分别为渲染和光照烘焙指定单独的 GPU。详见下文的配置 GPU 选择。

  • 减少所用的抗锯齿样本数光照贴图参数资产中此设置的默认值为 8。增加该值会导致 Unity 使用更多的 VRAM。若使用的光照贴图大小达到或超过 4096,则占用量会超过许多消费级 GPU 的内存量。

  • 减少样本用量(直接样本、间接样本、环境样本),并使用降噪器清理光照贴图中剩余的噪点。

  • 降低光照贴图的分辨率。

配置 GPU 选择

如果您使用至少两个 GPU,则可以指定一个 GPU 用于渲染场景,另一个用于烘焙光照。如果默认 GPU 没有足够的 VRAM 来渲染场景,并使用渐进式 GPU 光照贴图程序对其进行烘焙,可能需要采用这种方法。

要更改 Unity 用于烘焙的 GPU,请执行以下操作:

  1. 打开光照 (Lighting) 窗口 (菜单:窗口 (Window) > 渲染 (Rendering) > 光照 (Lighting))。
  2. 选择 生成光照 (Generate Lighting) 从而预计算光照数据。
  3. 使用 GPU 烘焙设备 (GPU Baking Device) 选择 GPU。
修复光照贴图中的光渗
光照设置资源中光照贴图设置参考