Version: 2019.1
渐进 GPU 光照贴图 (Progressive GPU Lightmapper)(预览)
光照贴图:入门

渐进 CPU 光照贴图 (Progressive CPU Lightmapper)

渐进式光照贴图是一种基于路径追踪的光照贴图系统,提供了能在Edtior中逐渐刷新的烘焙光照贴图和光照探针。要求不重叠的 UV 具有较小的面积和角度误差,以及棋盘格图表(charts)之间有足够的填充。

渐进式光照贴图采取了一个短暂的准备步骤来处理几何体与实例的更新,同时生成 G-buffer 和图表遮罩(chart masks)。然后,它会立即生成输出,并随着时间的推移逐步细化输出,以实现更完善的交互式照明工作流。此外,烘焙时间更加可预测,因为渐进光照贴图在烘焙时提供估计时间。

渐进光照贴图还可单独为每个纹理像素分别以光照贴图分辨率烘焙全局光照 (GI),无需采用上采样方案或依赖任何辐照度缓存或其他全局数据结构。因此,渐进光照贴图具有强大的功能,并允许您烘焙光照贴图的选定部分,从而更快测试和迭代场景。

如需观看介绍交互式工作流程的深入视频,请参阅 Unity 的视频演练:开发中 - 渐进光照贴图 (In Development - Progressive Lightmapper) (YouTube)

设置

To use the Progressive CPU Lightmapper, go to Window > Rendering > Lighting Settings, navigate to Lightmapping Settings, and set Lightmapper to Progressive CPU. See Lightmapping Settings for more information about this window.

属性: 功能:
Prioritize View 启用此设置可使渐进光照贴图程序将更改应用于 Scene 视图中当前可见的纹素,然后将更改应用于视图外的纹素。
Multiple Importance Sampling 启用此设置可将多重重要性采样方法用于对环境采样。通常,这会在生成光照贴图时加快收敛速度,但在某些低频环境中会产生噪声较大的结果。默认处于禁用状态。
Direct Samples 从每个纹素截取的样本(路径)数。此设置可控制渐进光照贴图程序用于直接光照计算的样本数。增加此值可以提高光照贴图的质量,但会延长烘焙时间。
Indirect Samples 从每个纹素截取的样本(路径)数。此设置可控制渐进光照贴图程序用于间接光照计算的样本数。对于某些场景,尤其是室外场景,100 个样本应该足够了。对于具有发射性几何体的室内场景,请增加该值,直到看到所需的结果。
Environment Samples Define the number of samples the lightmapper uses for environment lighting calculations. Higher values can improve the quality of the lightmaps, but increase the time required for baking to complete. This is set to 500 by default.
Bounces 使用此值来指定在追踪路径时要执行的间接反弹次数。对于大多数场景,两次反弹就足够了。对于某些室内场景,可能需要更多次反弹。
Filtering Configure the way the Progressive Lightmapper applies post-processing to lightmaps to limit noise. For lightmap post-processing, the lightmap is split into Direct, Indirect and Ambient Occlusion targets that Unity applies post-processing to individually, before it composites them together into a single lightmap.

- Direct: Any light that arrives directly from a Light to a sensor (usually the Camera).
- Indirect: Any light that arrives indirectly from a Light to a sensor. This most commonly applies to light that reflects off other GameObjects.
- Ambient Occlusion: Any ambient light that the lighting system calculates. See Ambient Occlusion for more information.

The Progressive Lightmapper supports the NVIDIA OptiX AI-Accelerated Denoiser, which reduces perceptible noise in the lightmap without causing blurring. It requires an NVIDIA GPU with 4GB+ VRAM and driver version 390+. It is not supported for the NVIDIA Series 20x GPUs (Turing RTX). It is only supported on the Windows platform.
选择此设置表示不对光照贴图应用过滤和进行去噪。
Auto 选择此设置表示将依赖于平台的预设用于对光照贴图进行后期处理。
如果开发计算机满足运行 OptiX (NVIDIA OptiX AI-Accelerated Denoiser) 的要求,渐进光照贴图程序将此降噪器与 Gaussian 过滤器结合使用。对于所有目标,该过滤器的半径均为 1 纹素。
如果开发计算机无法运行 OptiX,渐进光照贴图程序将使用 Gaussian 过滤器。对于 DirectIndirectAmbient Occlusion 目标,该过滤器的半径分别为 1 纹素、5 纹素和 2 纹素。
Advanced 选择 Advanced 可为每种类型的光照贴图目标手动配置选项。目标类型为 DirectIndirectAmbient Occlusion。有关更多信息,请参阅下文的高级过滤设置

高级过滤设置

Filtering 设置为 Advanced 时可用的 Filtering 设置。
Filtering 设置为 Advanced 时可用的 Filtering 设置。
设置 描述
Advanced Set Filtering to Advanced to manually configure options for each type of lightmap target. The target types are:

- Direct: Any light that arrives directly from a Light to a sensor (usually the Camera).
- Indirect: Any light that arrives indirectly from a Light to a sensor. This most commonly applies to light that reflects off other GameObjects.
- Ambient Occlusion: Any ambient light that the lighting system calculates. See Ambient Occlusion for more information.
Denoiser Select a denoiser to use for the lightmap target:
- Optix: If your development machine fulfils the requirements to support the NVIDIA OptiX AI-Accelerated Denoiser, you can select it here. If your system cannot run it, this option is greyed out and set to None by default.
- None: Select this to use no denoising for the lightmap target.
Filter 选择要用于光照贴图目标的过滤器:
- Gaussian:选择此选项可将 Gaussian 过滤器用于光照贴图目标。Gaussian 过滤器将双向 Gaussian 过滤器应用于光照贴图。这会使光照贴图模糊并减少可见噪点。
- A-Trous:选择此选项可将 A-Trous 过滤器用于光照贴图目标。A-Trous 过滤器可以将模糊程度降至最低,同时可以消除光照贴图中的可见噪点。
- None选择此选项可禁用对光照贴图目标的所有过滤。
Radius 仅当 Filter 设置为 Gaussian 时,此选项才可用。使用 Radius 值可设置 Gaussian 过滤器内核的半径(以纹素为单位)。较高的 Radius 值可以提高模糊强度并减少可察觉的噪点,但可能导致光照中的细节丢失。
Sigma 仅当 Filter 设置为 A-Trous 时,此选项才可用。使用 Sigma 值可调整保留细节或使光照模糊的程度。较高的 Sigma 值可以提高模糊强度并减少可察觉的噪点,但可能导致光照中的细节丢失。

高级过滤设置

Filtering 设置为 Advanced 时可用的 Filtering 设置。
Filtering 设置为 Advanced 时可用的 Filtering 设置。
设置 描述
Advanced Set Filtering to Advanced to manually configure options for each type of lightmap target. The target types are:

- Direct: Any light that arrives directly from a Light to a sensor (usually the Camera).
- Indirect: Any light that arrives indirectly from a Light to a sensor. This most commonly applies to light that reflects off other GameObjects.
- Ambient Occlusion: Any ambient light that the lighting system calculates. See Ambient Occlusion for more information.
Denoiser Select a denoiser to use for the lightmap target:
- Optix: If your development machine fulfils the requirements to support the NVIDIA OptiX AI-Accelerated Denoiser, you can select it here. If your system cannot run it, this option is greyed out and set to None by default.
- None: Select this to use no denoising for the lightmap target.
Filter 选择要用于光照贴图目标的过滤器:
- Gaussian:选择此选项可将 Gaussian 过滤器用于光照贴图目标。Gaussian 过滤器将双向 Gaussian 过滤器应用于光照贴图。这会使光照贴图模糊并减少可见噪点。
- A-Trous:选择此选项可将 A-Trous 过滤器用于光照贴图目标。A-Trous 过滤器可以将模糊程度降至最低,同时可以消除光照贴图中的可见噪点。
- None选择此选项可禁用对光照贴图目标的所有过滤。
Radius 仅当 Filter 设置为 Gaussian 时,此选项才可用。使用 Radius 值可设置 Gaussian 过滤器内核的半径(以纹素为单位)。较高的 Radius 值可以提高模糊强度并减少可察觉的噪点,但可能导致光照中的细节丢失。
Sigma 仅当 Filter 设置为 A-Trous 时,此选项才可用。使用 Sigma 值可调整保留细节或使光照模糊的程度。较高的 Sigma 值可以提高模糊强度并减少可察觉的噪点,但可能导致光照中的细节丢失。

统计信息

Auto GenerateGenerate Lighting 选项下方的面板将显示有关光照贴图的统计信息,包括:

  • Unity 已创建的光照贴图数量
  • 内存使用量 (Memory Usage):当前光照贴图所需的内存量。
  • 占用的纹理像素 (Occupied Texels):在光照贴图 UV 空间中占用的纹理像素数量。
  • 视图中的光照贴图 (Lightmaps in view):Scene 视图中的光照贴图数量。
  • 不在视图中的光照贴图 (Lightmaps not in view):不在视图中的光照贴图数量。
    • 融合 (Converged):这些光照贴图的所有计算都已完成。
    • 未融合 (Not Converged):这些光照贴图的烘焙仍在进行中。
  • 烘焙性能 (Bake Performance):每秒的光线数量。如果此值很低(即小于 2),则应调整设置或硬件以便一次处理更多光线。

Auto 模式下,Unity 会自动计算光照贴图和光照探针。如果禁用 Auto__,则需要按 Build__ 按钮开始烘焙。

在烘焙期间

渐进光照贴图提供了在必要时监控和停止烘焙的选项。

ETA

Unity 烘焙光照贴图时出现的进度条提供了“预计到达时间”(显示为 __ETA__)。这是完成当前烘焙的估计时间(秒)。这样可以实现更加可预测的烘焙时间,并可让您快速了解当前光照设置所需的烘焙时间。

强制停止 (Force Stop)

在手动烘焙过程中,随时单击 Force Stop 即可停止烘焙过程。此按钮可让您在看到结果很理想时立即停止该过程。


2018.1 版中添加了渐进光照贴图 NewIn20181

2018–11–27页面已修订并只进行了有限的编辑审查

渐进 GPU 光照贴图 (Progressive GPU Lightmapper)(预览)
光照贴图:入门