光照模式
Light Inspector 中有三种光照模式可供选择:
- 烘焙 (Baked):这些光源的直接光照和间接光照会烘焙到光照贴图中,这个过程通常较为耗时。运行时无需为处理这些光源消耗额外性能,但将生成的光照贴图应用到场景中,仍会带来轻微的性能损耗。
- 实时 (Realtime):这些光源的直接光照和阴影是实时生成的,因此不会烘焙到光照贴图中。其对运行时性能的消耗可能很高,具体取决于场景的复杂程度、投射阴影的光源数量、重叠光源的数量等因素。此外,如果启用__ Enlighten__Geomerics 出品的光照系统,在 Unity 中用于 Enlighten 实时全局光照。更多信息
See in Glossary 实时全局光照,则在运行时更新间接光照会产生进一步的性能成本。
- 混合 (Mixed):这是一种混合模式,兼具烘焙和实时两种特性,例如包含烘焙的间接光照和实时的直接光照。场景中所有混合光源的行为及其性能影响取决于该场景的光照模式。
需注意,只有启用了烘焙全局光照系统时,光源的模式才有意义。如果不使用任何全局光照系统或只使用 Enlighten 实时全局光照系统,那么所有烘焙光源和混合光源的行为就好像它们的模式 (Mode) 属性设置为实时 (Realtime) 一样。
Realtime
这类光源称为实时光源。
Unity 会在运行时为实时光源执行光照计算,每帧进行一次。您可以在运行时更改实时光源的属性,从而创建诸如闪烁的灯泡或穿过暗室的火炬之类的效果。
实时光源可用于在角色或可移动的几何体上提供光照和投射阴影。
实时光源行为
- 实时光源投射不超过阴影距离 (Shadow Distance) 的阴影。
- 默认情况下,实时光源仅为场景提供实时直接光照。如果使用的是内置渲染管线,并在项目中启用了 Enlighten 实时全局光照,则实时光源还会为场景提供实时间接光照。
实时光源的局限性
- 为实时光源执行运行时计算可能成本很高,尤其是在复杂场景中或低端硬件上。
- 由于实时光源在默认情况下仅为场景提供直接光照,因此阴影看起来完全是黑色的,并且没有任何间接光照效果(例如颜色反弹)。这可能会导致场景中的光照不真实。
Mixed
这类光源称为混合光源。
混合光源整合了实时光照和烘焙光照的元素。使用混合光源可以将动态阴影与来自同一光源的烘焙光照结合起来,或者在希望光源提供直接实时光照和烘焙间接光照时,也可以使用混合光源。
要使用混合光源,必须首先了解实时光源 (Realtime Lights) 和烘焙光源 (Baked Lights) 的优势和局限性。
混合光源行为
- 场景中所有混合光源的行为取决于光照窗口中的光照模式 (Lighting Mode) 设置。不同的光照模式具有非常不同的性能特征和不同级别的视觉保真度。有关更多信息,请参阅光照模式。
- 可在运行时更改混合光源的属性。这样做将更新光源的实时光照,但不会更新烘焙光照。进行此操作时,请注意避免不必要的视觉效果。
混合光源的局限性
- 混合光源的性能成本因光照模式而异。但是,由于混合光源始终至少结合了一些实时光照和一些烘焙光照,因此混合光源始终比完全烘焙光照需要更多的运行时计算,并且比完全实时光照使用更多的内存。
请注意,如果在场景中禁用了烘焙全局光照系统 (Baked Global Illumination),Unity 会强制使混合光源表现得就像已将其模式 (Mode) 设置为实时 (Realtime) 一样。发生这种情况时,Unity 将在 Light 组件的 Inspector 中显示警告。
Baked
这类光源称为烘焙光源。
Unity 在 Unity 编辑器中为烘焙光源执行计算,并将结果作为光照数据保存到磁盘中。这一过程称为烘焙。在运行时,Unity 将加载烘焙的光照数据,并使用这一数据来照亮场景。由于复杂的计算是预先执行的,因此烘培光源可以减少运行时的着色成本,并减少阴影的渲染成本。
烘焙光源可用于照亮在运行时不会发生变化的对象,例如景物。
烘焙光源行为
- Unity 将直接光照和间接光照从烘培光源烘焙到光照贴图中。有关使用光照贴图的更多信息,请参阅光照贴图。
- Unity 将直接光照和间接光照从烘培光源烘焙到光照探针中。有关使用光照探针的更多信息,请参阅光照探针。
烘焙光照的局限性
- 无法在运行时更改烘培光源的属性。
- 烘焙光源不影响镜面反射光照。
- 动态游戏对象不会接收来自烘焙光源的光线或阴影。
请注意,如果在场景中禁用了烘焙全局光照系统 (Baked Global Illumination),Unity 会强制使烘焙光源表现得就像已将其模式 (Mode) 设置为实时 (Realtime) 一样。发生这种情况时,Unity 将在 Light 组件的 Inspector 中显示警告。
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。