Lighting 窗口(菜单:__Window__ > Rendering > __Lighting__)是 Unity 光照功能的主要控制点。使用 Lighting 窗口调整与场景中的光照有关的设置,并根据质量、烘焙时间和存储空间来优化预计算的光照数据。
可以使用 LightingSettings 和 Lightmapping API,通过脚本执行 Lighting 窗口中提供的许多函数。
Lighting 窗口包含以下元素:
Scene 选项卡显示有关分配给活动场景光照设置资源的信息。如果没有为活动场景分配光照设置资源,它会显示有关默认 LightingSettings 对象的信息。
Scene 选项卡分为几个部分:
使用此部分中的控件将光照设置资源分配给活动场景,或创建新的光照设置资源。
属性: | 功能: |
---|---|
Lighting Settings | 分配给活动场景的光照设置资源。 |
New Lighting Settings | 单击此按钮可在您的项目中生成新的光照设置资源,并自动将该新的光照设置资源分配给活动场景。 |
使用此部分可查看和编辑分配给当前场景的光照设置资源或 LightingSettings
对象的属性。请参阅光照设置资源。
此部分包含可帮助您调试场景的设置。
属性: | 功能: | |
---|---|---|
GPU Baking Device | 使用此属性更改 Unity 用于预计算光照数据的 GPU。此属性仅在您使用 GPU 渐进光照贴图后端时可见。 | |
Light Probe Visualization | 用于过滤哪些光照探针显示在 Scene 视图中。默认值为 Only Probes Used By Selection。 | |
Only Probes Used By Selection | 只有影响当前选择的光照探针才会显示在 Scene 视图中。 | |
All Probes No Cells | 所有光照探针都将显示在 Scene 视图中。 | |
All Probes With Cells | 所有光照探针都将显示在 Scene 视图中,还会显示用于光照探针数据插值的四面体。 | |
无 | 任何光照探针都不显示在 Scene 视图中。 | |
Display Weights | 启用此复选框时,Unity 将从用于有效选择的光照探针到用于插值的四面体上的位置绘制一条线。这是一种调试探针插值和放置问题的方法。 | |
Display Occlusion | 启用此复选框时,如果 Lighting Mode 设置为 __Shadowmask__,则 Unity 将显示光照探针的遮挡数据。 |
Environment 选项卡包含相关当前场景的环境光照效果的设置。内容取决于您的项目使用的渲染管线。
在内置渲染管线和 URP 中,Environment 选项卡分为两个部分:
Environment 部分包含与光照相关的设置和控件,这些设置和控件适用于当前场景中的环境光照,例如天空盒、漫射光照和反射。
属性: | 功能: | |||
---|---|---|---|---|
Skybox Material | 天空盒是一种材质,它出现在场景中的所有其他对象后方,用于模拟天空或其他遥远的背景。使用此属性可选择要用于场景的天空盒。默认值是内置的默认天空盒 (Default Skybox)。 | |||
Sun Source | 如果__天空盒材质 (Skybox Material)__ 是程序化天空盒 (Procedural Skybox),使用此设置可指定带有方向光组件的游戏对象,从而指示太阳(或任何照亮场景的大型远距离光源)的方向。如果设置为 None__,假设场景中最亮的方向光代表太阳。Render Mode 属性设置为 Not Important 的光源不影响天空盒。默认值为 None。| | Realtime Shadow Color__ | 定义 Unity 用于在 Subtractive 光照模式下渲染实时阴影的颜色。 此设置仅在__Lighting Mode__ 设置为 Subtractive 时可见。 |
||
Environment Lighting | 此部分包含可影响当前场景中的环境光的设置。 | |||
Source | 使用此属性可定义场景中环境光的光源颜色。默认值为 Skybox。 | |||
Skybox | 使用 Skybox Material 中设置的天空盒颜色来确定来自不同角度的环境光。这可以实现比 Gradient 更精细的效果。 | |||
Gradient | 可为来自天空、地平线和地面的环境光选择单独的颜色,并在它们之间平滑混合。 | |||
Color | 对所有环境光使用单调颜色。 | |||
Intensity Multiplier | 使用此属性可设置场景中环境光的亮度,定义为 0 到 8 之间的值。默认值为 1。 | |||
Environment Reflections | 此部分包含反射探针烘焙的全局设置,以及影响全局反射的设置。 | |||
Source | 使用此设置指定是要将天空盒用于反射效果,还是使用您选择的立方体贴图。默认值为 Skybox。 | |||
Skybox | 选择此选项可使用天空盒作为反射源。 | |||
Custom | 选择此选项可对反射使用立方体贴图。 | |||
Resolution | 使用此属性可设置用于反射的天空盒的分辨率。仅当 Source 设置为 Skybox 时,此属性才可见。 | |||
Cubemap | 使用此属性可指定用于反射的立方体贴图。仅当 Source 设置为 Cubemap 时,此属性才可见。 | |||
Compression | 使用此属性可定义是否压缩反射纹理。默认设置是 Auto。 | |||
Auto | 如果压缩格式合适,则压缩反射纹理。 | |||
Uncompressed | 反射纹理以非压缩状态存储在内存中。 | |||
Compressed | 压缩纹理。 | |||
Intensity Multiplier | 反射源在反射对象中可见的程度。 | |||
Bounces | 当来自一个对象的反射随后被另一个对象反射时,便发生反射反弹。使用此属性可设置反射探针评估对象之间来回反弹的次数。如果设置为 1,则 Unity 只会考虑初始反射(来自 Reflection Source 属性中指定的天空盒和立方体贴图)。 |
Other Settings 部分包含雾、光环、光晕和剪影的设置。
属性: | 功能: | |||
---|---|---|---|---|
Fog | 在场景中启用或禁用雾效。请注意,此模式无法用于延迟渲染路径。 | |||
Color | 使用拾色器设置 Unity 用于在场景中绘制雾的颜色。 | |||
Mode | 定义雾化效果随着与摄像机距离变化而积累的方式。 | |||
Linear | 雾效强度随着距离线性增加。 | |||
Start | 设置在距离摄像机多远时开始雾效。 | |||
End | 设置在距离摄像机多远时雾效完全遮挡场景游戏对象。 | |||
Exponential | 雾效强度随着距离呈指数增加。 | |||
Density | 用于控制雾效的强度。雾效随着 Density 增加而显示为更强。 | |||
Exponential Squared | 雾效强度随着距离更快速增加(指数和平方)。 | |||
Density | 用于控制雾效的强度。雾效随着 Density 增加而显示为更强。 | |||
Halo Texture | 设置要用于在光源周围绘制光环的纹理。 | |||
Halo Strength | 定义光源周围光环的可见性,值在 0 到 1 之间。 | |||
Flare Fade Speed | 定义最初出现镜头光晕之后从视图中淡出的时间(以秒为单位)。默认情况下,该值设置为 3。 | |||
Flare Strength | 定义光源下镜头光晕的可见性,值在 0 到 1 之间。 | |||
Spot Cookie | 设置要用于点光源的剪影纹理。 |
在 HDRP 中,Environment 选项卡允许您指定用于环境光照的天空。有关 HDRP 中环境光照的更多信息,请参阅HDRP 文档中的环境光照。
属性: | 功能: |
---|---|
Profile | 天空的体积配置文件 (Volume Profile)。此体积配置文件必须包含至少一个天空体积覆盖。 |
Static Lighting Sky | 用于全局光照模拟的天空。下拉选单仅包含配置文件包括的天空类型。例如,如果配置文件包含渐变天空 (Gradient Sky) 体积覆盖,则可以从此下拉选单中选择 Gradient Sky。 仅当将一个体积配置文件分配给 Profile 字段时,才能编辑此设置。 |
Realtime Lightmaps 选项卡显示当前场景中由实时全局光照系统生成的所有光照贴图的列表。如果您的项目中未启用实时全局光照 (Realtime Global Illumination),则此选项卡将为空。
内置渲染管线支持实时全局光照系统,但 URP 和 HDRP 不支持实时全局光照系统。因此,此选项卡仅在内置渲染管线中可见。
此选项卡显示光照贴图为当前场景生成的所有光照贴图的列表,以及光照数据资源。如果项目中未启用烘焙全局光照 (Baked Global Illumination),则此选项卡将为空。
用于预计算光照数据的控件位于 Lighting 窗口的底部。
属性: | 功能: |
---|---|
Auto Generate | 如果启用 Auto Generate ,Unity 会在您更改场景时自动预计算光照数据。 该数据包括烘焙全局光照系统的光照贴图、实时全局光照系统的光照贴图、光照探针和反射探针。 Unity 通常会在您更改场景后几秒钟开始烘焙。如果禁用 Auto Generate__,您必须自己手动调用烘焙,在 Lighting 窗口中使用 Generate Lighting 按钮,或者 Lightmapping.Bake 或 Lightmapping.BakeAsync API。 请注意,当您使用 Auto Generate 预计算的光照数据时,预计算的光照数据不会作为资源存储在您的项目中。相反,它存储在内存中,并作为场景的一部分进行序列化。 此属性存储在光照设置资源中。仅当选择了 Scene 选项卡,并且为活动场景分配了光照设置资源, Lighting 窗口才可见。| |Generate Lighting|单击 Generate Lighting__ 按钮为所有打开的场景预计算光照数据。该数据包括烘焙全局光照系统的光照贴图、实时全局光照系统的光照贴图、光照探针和反射探针。 单击 Generate Lighting 右侧的折叠箭头,然后单击 Bake Reflection Probes 只为所有打开的场景烘焙反射探针。 单击 Generate Lighting 右侧的折叠箭头,然后单击 Clear Baked Data 从所有打开的场景中清除所有预计算的光照数据而不清除 GI 缓存。 此按钮仅在禁用 Auto Generate 的情况下启用。 |