版本:Unity 6 (6000.0)
语言:English
使用灯光模式配置混合灯光
选择灯光模式

灯光模式

本节介绍 灯光设置资源 的**灯光模式**属性的效果。

灯光模式决定了所有使用灯光设置资源的场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您可以放置环境、障碍物和装饰,从本质上讲,将游戏分成部分进行设计和构建。 更多信息
参见 术语表
中所有混合灯光的行为。可用的模式有

  • 烘焙间接光将实时直接光与烘焙间接光相结合。此模式提供具有实时阴影贴图的实时阴影。此灯光模式提供逼真的灯光和合理的阴影保真度,适用于中端硬件。
  • 阴影蒙版纹理,其 UV 布局和分辨率与其对应的灯光贴图相同。 更多信息
    参见 术语表
    将实时直接光与烘焙间接光相结合。它支持远处游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等等。游戏对象的功能由附加到它的组件定义。 更多信息
    参见 术语表
    (使用阴影蒙版)的烘焙阴影,并将其自动与实时阴影(阴影贴图)混合。阴影蒙版灯光模式是最逼真且资源密集型最高的灯光模式。您可以使用质量设置来配置其性能和视觉保真度。此灯光模式适用于高端或中端硬件。
  • 减色提供烘焙直接光和间接光。它仅为一个方向光渲染实时直接阴影。此灯光模式不会提供特别逼真的灯光效果,适用于风格化美术或低端硬件。

有关跨渲染管线一系列操作,用于获取场景内容并在屏幕上显示。Unity 允许您从预建的渲染管线中选择,或编写自己的渲染管线。 更多信息
参见 术语表
每个灯光模式的支持信息,请参阅渲染管线功能比较

烘焙间接光

将场景的灯光模式设置为**烘焙间接光**时,混合灯光的行为类似于实时灯光其模式属性设置为实时的灯光组件。Unity 在运行时每帧计算和更新实时灯光的照明。不会预计算任何实时灯光。 更多信息
参见 术语表
,并额外具备将间接光烘焙到灯光贴图预渲染的纹理,其中包含光源对场景中静态对象的影响。灯光贴图叠加在场景几何体上以创建照明的效果。 更多信息
参见 术语表
中的优势。混合灯光照射的游戏对象会投射实时阴影,最远可达您在项目中定义的阴影距离

混合灯光的行为如下

  • 混合灯光照射的动态游戏对象接收
    • 实时直接光。
    • 使用光探针的烘焙间接光。
    • 使用阴影贴图的动态游戏对象的阴影,最远可达阴影距离。
    • 使用阴影贴图的静态游戏对象的实时阴影,最远可达阴影距离。
  • 混合灯光照射的静态游戏对象接收
    • 实时直接光。
    • 使用灯光贴图的烘焙间接光。
    • 使用阴影贴图的静态游戏对象的实时阴影,最远可达阴影距离。
    • 使用阴影贴图的动态游戏对象的实时阴影,最远可达阴影距离。

阴影和运行时性能

由于烘焙间接光灯光模式下混合灯光的所有阴影都是实时的,因此这可能会影响性能。您可以使用阴影距离属性来限制 Unity 绘制实时阴影的最远距离,从而减少这种影响。

阴影蒙版

烘焙间接光灯光模式类似,阴影蒙版灯光模式将实时直接光与烘焙间接光相结合。但是,阴影蒙版灯光模式在渲染阴影的方式上与烘焙间接光灯光模式不同。阴影蒙版灯光模式使 Unity 能够在运行时组合烘焙阴影和实时阴影,并在远处渲染阴影。它是通过使用称为阴影蒙版的附加灯光贴图纹理以及在光探针光探针存储有关光线如何穿过场景空间的信息。在给定空间内排列的光探针集合可以改善该空间内移动对象和静态 LOD 场景的照明。 更多信息
参见 术语表
中存储其他信息来实现的。Unity 为烘焙阴影生成阴影蒙版和光探针遮挡数据。

阴影蒙版灯光模式在所有灯光模式中提供最高保真度的阴影,但性能成本和内存需求最高。它适用于在高端或中端硬件上渲染可见远处游戏对象的逼真场景,例如开放世界。

使用质量设置面板设置 Unity 在运行时使用的阴影蒙版模式。

  • 距离阴影蒙版阴影蒙版灯光模式的一个版本,其中包括从静态游戏对象投射到动态游戏对象的高质量阴影。 更多信息
    参见 术语表
    提供更高保真度的阴影,但性能成本更高。
  • 阴影蒙版提供较低保真度的阴影,但性能成本更低。

使用距离阴影蒙版质量设置

将场景的灯光模式设置为阴影蒙版并且项目使用距离阴影蒙版质量设置时,混合灯光的行为如下。

  • 混合灯光照射的动态游戏对象接收
    • 实时直接光。
    • 使用光探针的烘焙间接光。
    • 使用阴影贴图的动态游戏对象的实时阴影,最远可达阴影距离。
    • 使用阴影贴图的静态游戏对象的实时阴影,最远可达阴影距离。
    • 使用光探针的静态游戏对象的烘焙阴影,超出阴影距离。
  • 混合灯光照射的静态游戏对象接收
    • 实时直接光。
    • 使用灯光贴图的烘焙间接光。
    • 使用阴影贴图的动态游戏对象的实时阴影,最远可达阴影距离。
    • 使用阴影贴图的静态游戏对象的实时阴影,最远可达阴影距离。
    • 使用阴影蒙版的静态游戏对象的烘焙阴影,超出阴影距离。

使用阴影蒙版质量设置

将场景的灯光模式设置为阴影蒙版并且项目使用阴影蒙版质量设置时,混合灯光的行为如下。

  • 混合灯光照射的动态游戏对象接收
    • 实时直接光。
    • 使用光探针的烘焙间接光。
    • 使用阴影贴图的动态游戏对象的实时阴影,最远可达阴影距离。
    • 使用光探针的静态游戏对象的烘焙阴影,达到和超出阴影距离。
  • 混合灯光照射的静态游戏对象接收
    • 实时直接光。
    • 使用灯光贴图的烘焙间接光。
    • 使用阴影贴图的动态游戏对象的实时阴影,最远可达阴影距离。
    • 使用阴影蒙版的静态游戏对象的烘焙阴影,达到和超出阴影距离。

阴影蒙版实现细节

在运行时,Unity 使用阴影蒙版来确定像素计算机图像中的最小单位。像素大小取决于屏幕分辨率。像素照明是在每个屏幕像素处计算的。 更多信息
参见 术语表
是否处于阴影中。阴影蒙版纹理包含有关烘焙灯光其模式属性设置为烘焙的灯光组件。Unity 在运行时之前预计算烘焙灯光的照明,并且不将其包含在任何运行时照明计算中。 更多信息
参见 术语表
的遮挡信息。它与对应的灯光贴图具有相同的 UV 布局和分辨率。它包含最多每个纹素四个灯光的遮挡信息,存储在 RGBA 格式中。

如果超过四个灯光重叠,则任何其他灯光将回退到烘焙灯光。烘焙系统确定哪些灯光回退到烘焙灯光,并且这在烘焙之间保持一致,除非您修改了重叠的灯光之一。光探针也接收最多四个灯光的相同信息。

Unity独立于阴影接收对象计算灯光重叠。因此,一个对象可以从同一个阴影蒙版/探针通道接收十个不同混合灯光的全部影响,只要这些灯光包围体积表示碰撞体或触发器的边缘和面的封闭形状。
参见 术语表
在空间中的任何位置都不重叠。如果某些灯光重叠,则 Unity 将使用更多通道。并且,如果在所有四个通道都已使用的情况下灯光发生重叠,则该灯光将回退到完全烘焙。

阴影和运行时性能

您可以使用阴影距离属性来限制 Unity 绘制实时阴影的最远距离。

减色

在减色灯光模式下,场景中的所有混合灯光都提供烘焙直接光和间接光。Unity 将静态游戏对象投射的阴影烘焙到灯光贴图中。除了烘焙阴影之外,一个方向光(称为主方向光)还为动态游戏对象提供实时阴影。

由于阴影烘焙到灯光贴图中,因此 Unity 没有在运行时准确组合烘焙阴影和实时阴影所需的信息。相反,Unity 提供了一种**实时阴影颜色**,用于减少灯光贴图的贡献,从而创建烘焙阴影和实时阴影之间正确混合的错觉。您还可以调整颜色以实现某种艺术风格。

减色灯光模式在性能至关重要的低端硬件上很有用,并且您只需要一个实时阴影投射灯光。它不会提供特别逼真的灯光效果,更适合风格化的美学,例如卡通渲染。

Unity 自动选择场景中强度值最高的方向光作为主方向光。

将场景的灯光模式设置为减色时,混合灯光的行为如下。

  • 混合灯光照射的动态游戏对象接收
    • 实时直接光
    • 使用光探针的烘焙间接光
    • 使用阴影贴图的主方向光照射的动态游戏对象的实时阴影,最远可达阴影距离
    • 使用光探针的静态游戏对象的阴影
  • 混合灯光照射的静态游戏对象接收
    • 使用灯光贴图的烘焙直接光
    • 使用灯光贴图的烘焙间接光
    • 使用灯光贴图的静态游戏对象的烘焙阴影
    • 使用阴影贴图的主方向光照射的动态游戏对象的实时阴影,最远可达阴影距离
使用灯光模式配置混合灯光
选择灯光模式