Version: 6000.3
语言: 中文
使用光照场景烘焙不同的光照设置
优化加载自适应探头体积数据

使用天空遮挡在运行时更新来自天空的光源

你可以在使用自适应探测体积时启用天空遮挡。天空遮挡意味着当游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
从天空中采样颜色,如果光线无法到达游戏对象,Unity 会调暗颜色。

Unity 中的天空遮挡使用环境探针中的天空颜色,该探针在运行时更新。这意味着您可以在天空颜色变化时动态照亮游戏对象。例如,您可以将天空颜色从浅色更改为深色,以模拟昼夜循环的效果。

如果启用天空遮挡,自适应探针体积可能需要更长的时间来烘焙,并且 Unity 可能会在运行时使用更多内存。

天空遮挡的工作原理

启用天空遮挡时,Unity 会在自适应探针体积中的每个探针中烘焙一个额外的静态天空遮挡值。天空遮挡值是探针从天空接收到的间接光量,包括从静态游戏对象反射的光。

在运行时,当静态或动态游戏对象对自适应探针体积探针进行采样时,Unity 会使用两个值近似来自天空的光线:

  • 来自环境探针的天空颜色,当天空颜色更改时更新。
  • 天空遮挡值,它是静态的。

局限性

当 Unity 计算天空遮挡值时,Unity 会将游戏对象的表面视为不透明和灰色。因此,透明或半透明的游戏对象(如窗户或树叶)会反射光线,而不是通过光线。此外,深色墙壁反射的光量与浅色墙壁相同。若要最大程度地减少光照问题,请在透明或半透明游戏对象的静态编辑器标志属性中禁用 Contribute GI

要覆盖 Unity 使用的灰色,请转到 自适应探针体积(Adaptive Probe Volumes) 面板中的天空遮挡设置(Sky Occlusion Settings) 并调整反照率覆盖(Albedo Override)。

启用天空遮挡

首先,启用 GPUlightmapper:Unity 中的一种工具,可根据场景中光源和几何体的排列来烘焙光照贴图。更多信息
请参阅术语表
.如果您改用渐进式 CPU,Unity 不支持天空遮挡。

  1. 转到 窗口>渲染>照明
  2. 转到场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
    请参阅术语表
    面板。
  3. 光照贴图设置为 渐进式GPU(Progressive GPU)。

要启用天空遮挡,请按照以下步骤作:

  1. 转到自适应探针体积面板。
  2. 启用天空遮挡

要更新光照数据,你还必须在启用或禁用天空遮挡后烘焙自适应探针体积

在运行时更新光源

要在运行时更新来自天空的光源,你必须对环境光源不来自任何特定方向的光源,在所有方向上为场景提供相等的光源。更多信息
请参阅术语表
而不是天空盒(skybox) 一种特殊类型的材质,用于表示天空。通常是六面的。更多信息
请参阅术语表
.要使用颜色,请执行以下作:

  1. 转到 窗口>渲染>照明

  2. 转到环境面板

  3. “源”设置为“渐变”“颜色”

    你也可以将 源(Source) 设置为 天空盒(Skybox),但每次更新天空盒时,你都必须自己更新环境探测。要更新环境探头,请使用DynamicGI.UpdateEnvironment应用程序接口。这对性能的影响非常大。

要在运行时更新天空中的光源,请执行以下任一作:

启用更准确的天空方向数据

当对象对环境探针进行采样时,默认情况下,Unity 使用对象的表面法线作为天空的方向。此方向可能与光源的来源方向不匹配,例如,如果对象位于内部,并且天空光从其他对象反射到它。

相反,Unity 可以计算、存储和使用每个自适应探针体积探针的准确方向,并考虑反射光照。这使得天空遮挡更加准确,尤其是在洞穴等区域,探针没有直接的视线到天空,或者当天空具有对比色并且光线来自特定方向(例如通过窗户)时。

要启用此功能,请在 光照(Lighting) 窗口的 自适应探针体积(Adaptive Probe Volumes) 中,启用 天空方向(Sky Direction)。

如果启用天空方向,则适用以下内容:

  • 烘焙需要更长的时间,并且 Unity 在运行时使用更多内存。
  • 可能会有可见的接缝,因为 Unity 不会在探针之间插值天空方向数据。

要覆盖 Unity 使用的方向,请使用 Probe Adjustment Volume 组件

其他资源

使用光照场景烘焙不同的光照设置
优化加载自适应探头体积数据