天空光照
天空光照(Sky Light)采集关卡的远处部分并将其作为光源应用于场景。这意味着,即使天空来自大气层、天空盒顶部的云层或者远山, 天空的外观及其光照/反射也会匹配。你还可以手动指定要使用的立方体贴图。
::: hljs-center

天空光照
:::
# A. 移动性
::: hljs-center

:::
## a.静态天空光照
设置为 静态(Static) 的天空光照将被完全烘焙到关卡中的静态对象的光照图中,因此不需要任何成本。在对该光源的属性进行编辑后,所做的更改将不可见, 直至为关卡重新构建了光照。
使用静态天空光照时,将仅采集关卡中移动性设置为 静态(Static)或固定(Stationary) 的Actor和光源,并且将仅使用它们进行照明。此外,为了避免反馈循环, 使用静态天空光照时,只能采集材质的自发光贡献部分。因此,请确保任何天空盒具有设置为无光照(Unlit)的材质。
## b.固定天空光照
采用固定可移动性的天空光照会使用 Lightmass烘焙阴影。在关卡中放置固定天光后,你必须重新构建光照才能获得烘焙后的阴影效果。在这之后,你就可以随意更改天光而无需重新构建。
Lightmass 烘焙的天光阴影会将方向性遮挡信息保存在所谓的环境法线(Bent Normal)中。该方向表示纹素(texel)指向遮挡最少区域的方向。大部分被遮挡的区域将借助此方向来计算天空光照,而非曲面法线,从而极大提升裂缝处的光照质量。
::: hljs-center

天空光照对比
:::
第一张图显示了仅开启AO的天光的效果。第二张图显示了开启环境法线遮挡的天光的效果。注意,裂缝中的表面在感知光照方向时是如何"步调一致"的。
只有采用静态或 固定可移动 类型的组件和光源才会被采集并被用于固定天光的光照。
和所有 固定光源 一样,直接光照的光照颜色可以在运行时通过 蓝图 或 Matinee 动态更改。然而,间接光照是直接烘培进光照贴图的,无法在运行时修改。间接光照的强度可以通过 IndirectLightingIntensity 控制。
::: hljs-center

天空光光照对比
:::
## c.可移动天空光照
设置为可移动(Movable)的天空光照不使用任何形式的预计算。当设置为采集场景时,它采集具有任何移动性的组件和光源。
# B. 距离场环境遮挡
可移动天空光照的阴影由距离场环境遮挡 从每个刚性对象周围生成的 有向距离场体积提供。距离场环境遮挡支持刚性网格体可以移动或隐藏的动态场景变化,同时它会影响遮挡。该功能在默认情况下未开启,但可使用距离场功能启用。
# C. 预计算天空光照
使用烘焙光照和静态或固定天空光照时,照明和阴影数据将存储在光照图中。
## a.增强型静态天空光照方向性
现在使用经过过滤的立方体贴图,默认情况下会得到更高的分辨率。全局光照还会基于最终聚集光线的大小选择相应的立方体贴图MIP ,以避免任何失真。
## b.暗箱
随着静态天空光照的方向性增强,现在可以利用一个足够小的开口重新创建针孔相机效果(暗箱 )。 开口越小,天空光照就越有方向性。
# D. 固定天空光照的环境法线
对于各个光照分开烘焙的固定天空光照,全局光照烘焙的阴影将方向遮挡信息存储在所谓的 环境法线(Bent Normal) 中。这是 从纹素到最不被遮挡方向的方向。大部分被遮挡的区域将此方向而非表面法线用于天空光照,这样便提高了缝隙的质量。
::: hljs-center

天空光照法线对比
:::
## a.多次反射
通过在世界场景设置(World Settings)>全局光照(Lightmass)中调整 天空光照反射次数(Num Sky Lighting Bounces)设置,即可支持多次反射全局光照的间接光线。
::: hljs-center

天空光照多次反射设置

多次反射对比
:::
为了使天空光照的多次反射明显可见,在大多数情况下,你的材质需要具备高漫反射值。例如,如果漫射值为.18(18%灰色),第二次的天空光照反射将仅贡献 18^3 = 0.006的光发射能量,这很难为肉眼所察觉。如果漫射值为0.5,第二次的天空光照反射将贡献0.125的光发射能量,并且显而易见。
# E. 属性
::: hljs-center

天空光照属性
:::
天空光照组件的属性分为两类:光源和天空光照。你可以从Actor的细节(Details)面板访问它们。
::: hljs-center




:::
# F. 来自可移动对象的阴影
使用胶囊体阴影 (对于骨架网格体)或距离场间接阴影(对于刚性网格体),可实现从可移动对象到环境上的软阴影。它们需要单独设置才能正常工作。