【UE4从零开始 079】光源类型


虚幻引擎 4 中有5种光源类型:Directional Light(定向光源)Point Light(点光源)Spot Light(聚光源)Rect Light(矩形光源) 以及 Sky Light(天空光照)Directional Lights(定向光源) 主要用作为基本的室外光源,或者用作为需要呈现出是从极远处或者接近于无限远处发出的光的任何光源。 Point Lights(点光源) 是像传统的"灯泡"一样的光源,从一个单独的点处向各个方向发光。 Spot Lights(聚光源) 也是从一个单独的点处向外发光,但是其光线会受到一组锥体的限制。Rect Lights(矩形光源) 从一个矩形平面向场景发出光线。可以用它来模拟电视或显示器屏幕、吊顶灯具或壁灯。Sky Lights(天空光照) 则获取场景的背景并将它用于场景网格物体的光照效果。

定向光源

Directional Light(定向光源) 将模拟从无限远的源头处发出的光线。这意味着此光源投射出的阴影均为平行,因此适用于模拟太阳光。

定向光源放置后,可对其 Mobility (移动性) 进行如下设置:

  • Static – 即无法在游戏中改变光源。这是速度最快的渲染方法,可用于已烘焙的光照。
  • Stationary – 即光源通过 Lightmass 只烘焙静态几何体的投影和反射光照。其他则为动态光源。此设置还允许光源在游戏中改变颜色和强度,但其并不会移动,且允许部分烘焙光照。
  • Moveable – 即为完全动态光源,可进行动态投影。这是最慢的渲染方法,但在游戏过程中拥有最高灵活性。

定向光源属性

定向光源的属性分为以下5类:LightLight ShaftsLightmassLight FunctionCascaded Shadow Maps

Light

属性 描述
Intensity(强度) 光源所散发的总能量。
Light Color(光源颜色) 光源所散发的颜色。
Used As Atmosphere Sun Light(用作大气阳光) 使用此 定向光源 来定义太阳在天空中的位置。
Affects World(影响场景) 完全禁用光源。无法在运行时设置。如要在运行时禁用光源的效果,须修改其 可视性 属性。
Casts Shadows(投射阴影) 光源是否投射阴影。
Indirect Lighting Intensity(间接光照强度) 缩放光源发出的间接光照贡献。
Min Roughness(最小粗糙度) 对此光照产生作用的最小粗糙度。用于柔化反射高光。
Shadow Bias(阴影偏差) 控制此光源所投射阴影的精确度。
Shadow Filter Sharpen(阴影过滤锐化) 此光源投射阴影过滤的锐化程度。
Cast Translucent Shadows(投射半透明阴影) 该光源是否可从半透明物体处投射动态阴影。
Affect Dynamic Indirect Lighting(影响动态间接光照) 光源是否应被注入 光照传播体积
Cast Static Shadows(投射静态阴影) 此光源是否投射静态阴影。
Cast Dynamic Shadows(投射动态阴影) 此光源是否投射动态阴影。
Affect Translucent Lighting(影响半透明光照) 光源是否影响半透明物体。

Light Shafts

属性 描述
Enable Light Shaft Occlusion(启用光束遮挡) 确定此光源是否会对雾气和大气之间的散射形成屏幕空间模糊遮挡。
Occlusion Mask Darkness(遮挡遮罩暗度) 控制遮挡遮罩的暗度,值为1则无暗度。
Occlusion Depth Range(遮挡深度范围) 和相机之间的距离小于此距离的物体均会对光束构成遮挡。
Enable Light Shaft Bloom(启用光束泛光) 确定是否渲染此光源的光束泛光。
Bloom Scale(泛光缩放) 缩放叠加的泛光颜色。
Bloom Threshold(泛光阈值) 场景颜色必须大于此阈值,方可在光束中形成泛光。
Bloom Tint(泛光着色) 对光束发出的泛光效果进行着色时所使用的颜色。
Light Shaft Override Direction(光束覆盖方向) 可使光束从另一处发出,而非从该光源的实际方向发出。

Lightmass

属性 描述
Light Source Angle(光源角度) 定向光源的自发光表面相对于接收物而延展的角度,影响半影尺寸。
Indirect Lighting Saturation(间接光照饱和度) 数值为0时将完全去除此光照在Lightmass中的饱和度,为1时则保持不变。
Shadow Exponent(阴影指数) 控制阴影半影的衰减。

Light Function

属性 描述
Light Function Material(光照函数材质) 应用到该光源的光照函数材质。
Light Function Scale(光照函数比例) 调节光函数投影。
Light Function Fade Distance(光照函数淡化距离) 在此距离中,光照函数将完全淡化为 Disabled Brightness(已禁用亮度) 中的值。
Disabled Brightness(已禁用亮度) 光照函数已指定但被禁用时应用到光源的亮度因子,以之前的属性为例:Light Function Fade Distance(光照函数淡化距离)。

Cascaded Shadow Maps

属性 描述
Dynamic Shadow Distance MovableLight(动态阴影距离可移动光照) 可移动光照 联级阴影贴图 动态阴影将覆盖的距离,从相机位置开始测量。
Dynamic Shadow Distance StationaryLight(动态阴影距离静止光照) 静止光照 联级阴影贴图 动态阴影将覆盖的距离,从相机位置开始测量。
Num Dynamic Shadow Cascades(数字动态阴影级联) 将整个场景视锥拆分为的联级数量。
Cascade Distribution Exponent(级联分布指数) 控制联级分布靠近相机(指数较小)或远离相机(指数较大)。
Cascade Transition Fraction(级联过渡部分) 联级之间淡化区域的比例。
Shadow Distance Fadeout Fraction(阴影距离淡出部分) 控制动态阴影影响远端淡出区域的大小。
Use Inset Shadows for Movable Objects(使用可移动对象的内嵌阴影) (仅限静态光照)是否将逐对象内嵌阴影用于可移动组件,即使在联级阴影贴图已启用时也同样如此。

聚光源

Spot Light(聚光源) 从圆锥形中的单个点发出光照。使用者可通过两个圆锥形来塑造光源的形状:内圆锥角外圆锥角。在内圆锥角中,光照将达到完整亮度。从内半径的范围进入外圆锥角的范围中时将发生衰减,形成一个半影,或在聚光源照明圆的周围形成柔化效果。光照的半径将定义圆锥的长度。简单而言,它的工作原理类似于手电筒或舞台照明灯。

和其他光源一样,聚光源可设为以下3种移动性设置中的一种:

  • Static – 即无法在游戏中改变光源。这是速度最快的渲染方法,可用于已烘焙的光照。
  • **Stationary ** – 即光源通过 Lightmass 只烘焙静态几何体的投影和反射光照。其他则为动态光源。此设置还允许光源在游戏中改变颜色和强度,但其并不会移动,且允许部分烘焙光照。
  • **Moveable ** – 即为完全动态光源,可进行动态投影。这是最慢的渲染方法,但在游戏过程中拥有最高灵活性。

聚光源属性

聚光源的属性分为以下4类:Light、Light Profiles、Lightmass,以及Light Function。

Light

属性 描述
Intensity(强度) 光源所散发的总能量。
Light Color(光源颜色) 光源所散发的颜色。
Inner Cone Angle(椎体内部角度) 设置聚光源椎体内部的角度(以度计)。
Outer Cone Angle(椎体外部角度) 设置聚光源椎体外部的角度(以度计)。
Attenuation Radius(衰减半径) 限制光源的可见影响。
Source Radius(源半径) 光源的源形状半径。
Source Length(源长度) 光源的源形状长度。
Affects World(影响场景) 完全禁用光源。无法在运行时设置。如要在运行时禁用光源的效果,须修改其 可视性 属性。
Casts Shadows(投射阴影) 光源是否投射阴影。
Indirect Lighting Intensity(间接光照强度) 缩放光源发出的间接光照贡献。
Use Inverse Squared Falloff(使用反平方衰减) 是否使用基于物理的反平方距离衰减,其中AttenuationRadius仅限制光照贡献。
Light Falloff Exponent(光源衰减指数) 禁用UseInverseSquaredFalloff时,光源的径向衰减。
Min Roughness(最小粗糙度) 对此光照产生作用的最小粗糙度。用于柔化反射高光。
Shadow Bias(阴影偏差) 控制此光源所投射阴影的精确度。
Shadow Filter Sharpen(阴影过滤锐化) 此光源投射阴影过滤的锐化程度。
Cast Translucent Shadows(投射半透明阴影) 该光源是否可从半透明物体处投射动态阴影。
Affect Dynamic Indirect Lighting(影响动态间接光照) 光源是否应被注入 光照传播体积
Cast Static Shadows(投射静态阴影) 此光源是否投射静态阴影。
Cast Dynamic Shadows(投射动态阴影) 此光源是否投射动态阴影。
Affect Translucent Lighting(影响半透明光照) 光源是否影响半透明物体。

Light Profiles

属性 描述
IES Texture(IES纹理) IES“纹理”用于光源描述文件。虚幻引擎将IES文件显示为纹理,其实际上是ASCII,并非图像文件。
Use IES Brightness(使用IES亮度) 若为 false,将使用光源亮度决定产生的光源量。若为 true,将使用IES文件亮度(以流明计)(通常远大于虚幻引擎光源上的默认值)。
IES Brightness Scale(IES亮度缩放) 对IES亮度贡献的缩放,其可能会使场景严重曝光。

Lightmass

属性 描述
Indirect Lighting Saturation(间接光照饱和度) 数值为0时将完全去除此光照在Lightmass中的饱和度,为1时则保持不变。
Shadow Exponent(阴影指数) 控制阴影半影的衰减。

Light Function

属性 描述
Light Function Material(光照函数材质) 应用到该光源的光照函数材质。
Light Function Scale(光照函数比例) 调节光函数投影。
Light Function Fade Distance(光照函数淡化距离) 在此距离中,光照函数将完全淡化为 Disabled Brightness(已禁用亮度) 中的值。
Disabled Brightness(已禁用亮度) 光照函数已指定但被禁用时应用到光源的亮度因子,以之前的属性为例:Light Function Fade Distance(光照函数淡化距离)。

点光源

Point Light(点光源) 的工作原理很像一个真实的灯泡,从灯泡的钨丝向四面八方发出光。然而,为了性能考虑,点光源被简化为从空间中的一个点均匀地向各个方向发射光。

放置的点光源可以设置为三个移动设置之一:

  • Static – 即无法在游戏中改变光源。这是速度最快的渲染方法,可用于已烘焙的光照。
  • Stationary – 灯光只会受到 Lightmass 烘焙的静态几何体的阴影和反射光照。此设置还允许光源在游戏中改变颜色和强度,但其并不会移动,且允许部分烘焙光照。
  • Moveable – 即为完全动态光源,可进行动态投影。这是最慢的渲染方法,但在游戏过程中拥有最高灵活性。

点光源属性

点光源的属性分为以下4类:Light、Light Profiles、Lightmass,以及Light Function。

Light

属性 描述
Intensity(强度) 光源所散发的总能量。
Light Color(光源颜色) 光源所散发的颜色。
Attenuation Radius(衰减半径) 限制光源的可见影响。
Source Radius(源半径) 光源的源形状半径。
Source Length(源长度) 光源的源形状长度。
Affects World(影响场景) 完全禁用光源。无法在运行时设置。如要在运行时禁用光源的效果,须修改其 可视性 属性。
Casts Shadows(投射阴影) 光源是否投射阴影。
Indirect Lighting Intensity(间接光照强度) 缩放光源发出的间接光照贡献。
Use Inverse Squared Falloff(使用反平方衰减) 是否使用基于物理的反平方距离衰减,其中AttenuationRadius仅限制光照贡献。
Light Falloff Exponent(光源衰减指数) 禁用UseInverseSquaredFalloff时,光源的径向衰减。
Specular Scale(反射乘数) 反射高光的乘数。必须谨慎使用!位于1之间的任何值都是违反物理规则的!可以用于艺术化地移除高光以模仿偏振滤镜或照片润色。
Shadow Bias(阴影偏差) 控制此光源所投射阴影的精确度。
Shadow Filter Sharpen(阴影过滤锐化) 此光源投射阴影过滤的锐化程度。
Contact Shadow Length(接触阴影长度) 屏幕空间到锐化接触阴影的光线追踪的长度。值为0表示禁用此选项。
Cast Translucent Shadows(投射半透明阴影) 该光源是否可从半透明物体处投射动态阴影。
Affect Dynamic Indirect Lighting(影响动态间接光照) 光源是否应被注入 光照传播体积
Cast Static Shadows(投射静态阴影) 此光源是否投射静态阴影。
Cast Dynamic Shadows(投射动态阴影) 此光源是否投射动态阴影。
Affect Translucent Lighting(影响半透明光照) 光源是否影响半透明物体。

Light Profiles

属性 描述
IES Texture(IES纹理) IES“纹理”用于光源描述文件。虚幻引擎将IES文件显示为纹理,其实际上是ASCII,并非图像文件。
Use IES Brightness(使用IES亮度) 若为 false,将使用光源亮度决定产生的光源量。若为 true,将使用IES文件亮度(以流明计)(通常远大于虚幻引擎光源上的默认值)。
IES Brightness Scale(IES亮度缩放) 对IES亮度贡献的缩放,其可能会使场景严重曝光。

Lightmass

属性 描述
Indirect Lighting Saturation(间接光照饱和度) 数值为0时将完全去除此光照在Lightmass中的饱和度,为1时则保持不变。
Shadow Exponent(阴影指数) 控制阴影半影的衰减。

Light Function

属性 描述
Light Function Material(光照函数材质) 应用到该光源的光照函数材质。
Light Function Scale(光照函数比例) 调节光函数投影。
Light Function Fade Distance(光照函数淡化距离) 在此距离中,光照函数将完全淡化为 Disabled Brightness(已禁用亮度) 中的值。
Disabled Brightness(已禁用亮度) 光照函数已指定但被禁用时应用到光源的亮度因子,以之前的属性为例:Light Function Fade Distance(光照函数淡化距离)。

矩形光源

Rect Light(矩形光源) 从一个定义好宽度和高度的矩形平面向场景发出光线。可以用它来模拟拥有矩形面积的任意类型光源,如电视或显示器屏幕、吊顶灯具或壁灯。

矩形光源的行为并非在所有情况下都与真实面积光源一样。

每个矩形光源有两个关键设置 源宽度(Source Width) 和 源高度(Source Height),用于沿局部Y和Z轴确定矩形尺寸:
【UE4从零开始 079】光源类型_第1张图片
矩形光源拥有球形衰减半径,就像点光源或聚光源一样。如上图所示,矩形光源仅在沿着局部X轴的正方向的球形衰减范围内发射光线,类似于将聚光源的锥形设置为180度。但是,矩形光源的高光区会显示光源矩形面积的宽度和高度。

像其他类型的光源一样,矩形光源有三个移动性设置:

  • Static – 即无法在游戏中改变光源。这是速度最快的渲染方法,可用于已烘焙的光照。
  • Stationary --通过该设置,在为关卡构建照明时,只会将来自光源的间接照明烘焙到光照贴图。游戏中光源的直接光线投射将逐帧动态计算。该设置保留 Lightmass 预先计算的高质量柔和阴影和全局光照,但也允许在运行时更改游戏中的光线颜色和强度。
  • Moveable – 即为完全动态光源,可进行动态投影。这是最慢的渲染方法,但在游戏过程中拥有最高灵活性。
Static Moveable
【UE4从零开始 079】光源类型_第2张图片 【UE4从零开始 079】光源类型_第3张图片

选择的移动性设置也会明显影响矩形光源向场景投射光线的方式:

  • 如果矩形光源设置为 Static(静态)Stationary(静止),则 Lightmass 在计算来自光源的光线投射时,会考虑光源的宽度和高度。例如,在上方左图中,来自矩形左右范围的光线到达模型下面,照亮了大部分地面。
    在此情况下,从矩形光源发射出来的光线是在其矩形表面的多个点处进行的采样。每个采样光线发射出一小部分光强度,所以可以将矩形光源理解为,对矩形表面分布的许多微弱点光源的模拟。样本数量随着照明构建质量而增加。预览构建使用少量样本,因此阴影看起来浓淡不均。但是,提高质量设置最终会产生更均匀的结果,如上所示。

如果您矩形光源的移动性设置为 Stationary(静止),则同时启用 Use Area Shadows for Stationary Light(对静止光源使用面积阴影) 设置可以实现质量更好的阴影效果。

  • 如果将矩形光源设置为 Movable(可移动),则镜面反射仅使用矩形的宽度和高度。实际光线是从矩形光源中心向外发射出来的,类似于点光源。例如,在上方右图中,地板上投射的边缘鲜明的阴影表示,光线是从矩形中心发射出来的。

设置为 Stationary(静止)Movable(可移动) 的矩形光源的渲染成本通常高于具有相同移动性设置的 Point Light(点光源)Spot Light(聚光源) 。确切的成本范围取决于平台,但总的来说,Movable(可移动) 高于 Stationary(静止) 。产生成本的部分原因是阴影投射,因此可以关闭 Casts Shadows(投射阴影) 选项来尽量减少额外成本。或者,可以选择将光源移动性设置为 Static(静态),该设置对运行时渲染性能毫无影响。

矩形光源属性

矩形光源的属性分为以下4类:Light、Light Profiles、Lightmass,以及Light Function。

Light

属性 描述
Intensity(强度) 光源所散发的总能量。请注意,对于矩形光源,该值是根据光源表面面积求取的平均值。随着光源的源宽度和源高度的增加,需要增大强度来保持相同的表观亮度。
Light Color(光源颜色) 光源所散发的颜色。
Attenuation Radius(衰减半径) 限制光源的可见影响。像点光源或聚光源一样,矩形光源拥有球形衰减半径。
Source Width(源宽度) 矩形光源沿局部Y轴的长度。
Source Height(源高度) 矩形光源沿局部Z轴的长度。
Source Texture(源纹理) 指定将应用于发射光线的矩形的纹理。该纹理影响矩形光源发出的光色,并且在镜面反射中可见。但请注意,这只是近似值。它不影响矩形光线投射的阴影。 如果可能,请使用HDR图像来避免条带状瑕疵。 此外,确保将纹理的 Level of Detail(细节层次) > Mip Gen settings(Mip生成设置) 选项设置为 Blur5
Temperature(温度) 以K为单位表示光源的色温。
Use Temperature(使用温度) 确定是否应对该光源应用温度设置。
Affects World(影响场景) 完全禁用光源。无法在运行时设置。如要在运行时禁用光源的效果,须修改其 可视性 属性。
Casts Shadows(投射阴影) 光源是否投射阴影。
Indirect Lighting Intensity(间接光照强度) 缩放光源发出的间接光照贡献。
Volumetric Scattering Intensity(体积散射强度) 调节该光源的体积散射的强度和颜色。
高级设置 描述
Intensity Units(强度单位) 确定应如何解译光源的强度设置。
Specular Scale(高光比例) 高光区乘数。使用时请务必谨慎!除了1以外的任何值都是不切实际的!可以为了艺术效果用来移除高光,模拟偏光滤光镜或照片修整效果。
Shadow Resolution Scale(阴影分辨率比例) 调节用来计算该光源投射的动态阴影的阴影贴图分辨率。默认情况下,根据阴影投射源的屏幕大小计算该值。请注意,该值受到全局r.Shadow.MaxResolution设置值的限制。
Shadow Bias(阴影偏差) 控制此光源所投射阴影的精确度。
Shadow Filter Sharpen(阴影过滤锐化) 此光源投射阴影过滤的锐化程度。
Contact Shadow Length(接触阴影长度) 明显接触阴影的屏幕空间到光线跟踪的长度。值0禁用此选项。
Contact Shadow Length in World Space Units(以场景空间单位表示的接触阴影长度) 确定是以场景空间单位还是以屏幕空间单位来解译接触阴影长度设置。
Cast Translucent Shadows(投射半透明阴影) 确定是否允许该光源通过半透明物体投射动态阴影。
Cast Shadows from Cinematic Objects Only(仅从动画对象投射阴影) 确定该光源是否仅从启用了 “Cast Cinematic Shadows(投射动画阴影)” 选项的组件投射阴影。
Dynamic Indirect Lighting(动态间接照明) 确定是否应在 “Light Propagation Volumes(光线传播体积)” 中包含该光源。
Force Cached Shadows for Movable Primitives(对可移动基元强制使用缓存阴影) 启用时,该光源将为可移动基元生成缓存阴影,即使禁用了全局r.shadow.cachedshadowscastfrommovableprimitives设置也是如此。
Lighting Channels(光照通道) 确定该光源应该影响哪些光照通道。
Cast Static Shadows(投射静态阴影) 确定该光源是否应该从静态对象投射阴影。
Cast Dynamic Shadows(投射动态阴影) 确定该光源是否应该从可移动对象投射阴影。
Affect Translucent Lighting(影响半透明光照) 确定该光源是否应该影响半透明度。如果场景包含许多小光源,则禁用该设置会节省GPU时间。
Transmission(传输) 确定该光源投射的光线是否根据次表面散射描述文件透过表面传输。
Cast Volumetric Shadow(投射体积阴影) 确定该光源是否从体积雾投射阴影。

Light Profiles

属性 描述
IES Texture(IES纹理) IES“纹理”用于光源描述文件。虚幻引擎将IES文件显示为纹理,其实际上是ASCII,并非图像文件。
Use IES Brightness(使用IES亮度) 若为 false,将使用光源亮度决定产生的光源量。若为 true,将使用IES文件亮度(以流明计)(通常远大于虚幻引擎光源上的默认值)。
IES Brightness Scale(IES亮度缩放) 对IES亮度贡献的缩放,其可能会使场景严重曝光。

Lightmass

属性 描述
Indirect Lighting Saturation(间接光照饱和度) 数值为0时将完全去除此光照在Lightmass中的饱和度,为1时则保持不变。
Shadow Exponent(阴影指数) 控制阴影半影的衰减。
Use Area Shadows for Stationary Light(对静止光源使用面积阴影) 确定是否对静止光源使用面积阴影。这会随着与投射源距离的增加让阴影变得柔和,但在阴影清晰的地方,需要更高的光照贴图分辨率来获得理想结果

Light Function

属性 描述
Light Function Material(光照函数材质) 应用到该光源的光照函数材质。
Light Function Scale(光照函数比例) 调节光函数投影。
Fade Distance(淡化距离) 在此距离中,光照函数将完全淡化为 Disabled Brightness(已禁用亮度) 中的值。
Disabled Brightness(已禁用亮度) 光照函数已指定但被禁用时应用到光源的亮度因子,以之前的属性为例:Fade Distance(光照函数淡化距离)。

天空光照

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

场景采集

天空光照将仅在某些情况下才采集场景:

  • 对于 Static Sky Lights(静态天空光照),构建光照时会自动进行更新。
  • 对于 Stationary(静止)Movable Sky Lights(可移动天空光照),在加载时更新一次,只有调用 Recapture Sky(重新采集天空) 时才会进一步更新。这可以通过 Details(详情) 面板或通过游戏中的蓝图调用执行。

如果更改了天空盒使用的纹理,天空盒不会自动进行更新。需要使用上述方法之一为其进行更新。

应使用天空光照而不是环境立方体贴图来表示天空的光照,因为天空光照支持局部阴影,局部阴影可以防止室内区域被天空照亮。

移动性

与其他光源类型一样,天空光照可以设置为以下 移动性 之一:

  • Static – 游戏中不能更改光照。这是最快的渲染方法,并且允许烘焙的光照。
  • Stationary --构建光照时,将仅从静态几何体采集阴影和光照反射。所有其他光照都将为动态。该设置还允许光线在游戏中更改颜色、强度和立方体贴图,但它不会移动且允许局部烘焙光照。
  • Moveable – 可以根据需要在游戏中移动和更改光照。

静态天空光照

设置为 Static(静态) 的天空光照将被完全烘焙到关卡中的静态对象的光照图中,因此不需要任何成本。在对该光源的属性进行编辑后,所做的更改将不可见, 直至为关卡重新构建了光照。

对于移动开发,这是唯一一种受支持的天空光照。

使用静态天空光照时,将仅采集关卡中移动性设置为 Static(静态)Stationary(静止) 的Actor和光源,并且将仅使用它们进行照明。此外,为了避免反馈循环, 使用静态天空光照时,只能采集材质的自发光贡献部分。因此,请确保任何天空盒具有设置为 Unlit(无光照) 的材质。

静止天空光照

与设置为 Static(静态) 的天空光照一样,设置为 Stationary(静止) 的天空光照从全局光照获得烘焙阴影。在关卡中放置了静止天空光照后, 必须至少重新构建光照一次,才能生成和显示烘焙阴影。

与其他静止光源一样,一些属性可以在运行时通过 Blueprint(蓝图)Sequencer 进行更改。这意味着,可以调整 此天空光照的 Intensity(强度)Color(颜色),而无需重新构建整个关卡的照明。然而,间接光照将被烘焙到光照图中,并且无法在运行时进行修改。间接光照量 可以使用 Indirect Lighting Intensity(间接光照强度) 来控制。

使用静止天空光照时,将仅采集关卡中移动性设置为 Static(静态)Stationary(静止) 的Actor和光源,并且将仅使用它们进行照明。此外,为了避免反馈循环, 使用静止天空光照时,只能采集材质的自发光贡献部分。因此,请确保任何天空盒具有设置为 Unlit(无光照) 的材质。

可移动天空光照

设置为 Movable(可移动) 的天空光照不使用任何形式的预计算。当设置为采集场景时,它采集具有任何移动性的组件和光源。

距离场环境遮挡

该功能在默认情况下未开启,但可使用距离场功能启用。

可移动天空光照的阴影由 Distance Field Ambient Occlusion(距离场环境遮挡) 从每个刚性对象周围生成的 有向距离场体积提供。距离场环境遮挡支持刚性网格体可以移动或隐藏的动态场景变化,同时它会影响遮挡。

预计算天空光照

使用烘焙光照和静态或静止天空光照时,照明和阴影数据将存储在光照图中。下面几个小节将讨论 全局光照支持的一些功能。

增强型静态天空光照方向性

在虚幻引擎4.18之前,静态天光通常用带3阶球谐(3rd Order Spherical Harmonic)的全局光照来表示,它无法采集日出或日落时可能出现的细节。 现在使用经过过滤的立方体贴图,默认情况下会得到更高的分辨率。全局光照还会基于最终聚集光线的大小选择相应的立方体贴图MIP, 以避免任何失真。

要查看此类交互的示例,请前往 引擎内容(Engine Content) > 贴图模板(MapTemplates) > 天空(Sky),并选择 SunsetAmbientCubemap,因为它将显示一个很好的示例。

使用 3rd Order Spherical Harmonic 使用 经过过滤的立方体贴图
【UE4从零开始 079】光源类型_第4张图片 【UE4从零开始 079】光源类型_第5张图片

最大的区别可以在具有大量亮度和颜色变化之天空光照立方体贴图的严重遮挡场景中看到。

暗箱

随着静态天空光照的方向性增强,现在可以利用一个足够小的开口重新创建针孔相机效果(暗箱)。 开口越小,天空光照就越有方向性。

天空光照源立方体贴图 产生的光源构建
【UE4从零开始 079】光源类型_第6张图片 【UE4从零开始 079】光源类型_第7张图片

静止天空光照的环境法线

对于各个光照分开烘焙的静止天空光照,全局光照烘焙的阴影将方向遮挡信息存储在所谓的 Bent Normal(环境法线) 中。这是 从纹素到最不被遮挡方向的方向。大部分被遮挡的区域将此方向而非表面法线用于天空光照,这样便提高了缝隙的质量。

仅用环境遮挡的静态天空光照 带环境法线的静止天空光照
【UE4从零开始 079】光源类型_第8张图片 【UE4从零开始 079】光源类型_第9张图片

多次反射

通过在 世界场景设置(World Settings) > 全局光照(Lightmass) 中调整 天空光照反射次数(Num Sky Lighting Bounces) 设置,即可支持多次反射全局光照的间接光线。
【UE4从零开始 079】光源类型_第10张图片

Num Sky Lighting Bounces = 1 Num Sky Lighting Bounces = 10
【UE4从零开始 079】光源类型_第11张图片 【UE4从零开始 079】光源类型_第12张图片

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

每增加一次反射都会增加非分布式的构建时间,因此当未使用密集(Swarm)分布时要谨慎使用。

属性

天空光照组件的属性分为两类:Light 和 Sky Light。可以从Actor Details(详情) 面板访问它们。
【UE4从零开始 079】光源类型_第13张图片

Light

属性 描述
Intensity(强度) 光源所散发的总能量。
Light Color(光源颜色) 光源所散发的颜色。
Affects World(影响场景) 完全禁用光源。无法在运行时设置。如要在运行时禁用光源的效果,须修改其 可视性 属性。
Casts Shadows(投射阴影) 光源是否投射阴影。
Cast Static Shadows(投射静态阴影) 确定该光源是否应该从静态对象投射阴影。此外,要求将投射阴影(Cast Shadows)设置为真(True)。
Cast Dynamic Shadows(投射动态阴影) 确定该光源是否应该从可移动对象投射阴影。此外,要求将投射阴影(Cast Shadows)设置为真(True)。
Indirect Lighting Intensity(间接光照强度) 缩放光源发出的间接光照贡献。
Volumetric Scattering Intensity(体积散射强度) 调节该光源的体积散射的强度和颜色。
Cast Volumetric Shadow(投射体积阴影) 光源是否投下体积雾(Volumetric Fog)阴影。

Sky Light

属性 描述
Source Type(源类型) 是采集远处场景并将其作为光源还是使用指定的立方体贴图。采集场景时,任何与天空光照位置的距离超过SkyDistanceThreshold的部分都将被包括在内。 SLS Captured Scene(SLS采集场景):从采集的场景构造天空光照。任何与天光位置的距离超过天空距离阈值(Sky Distance Threshold )的部分都将被包括在内。 *SLS指定立方体贴图场景(SLS Specified Cubemap):从指定的立方体贴图构造天空光照。 *
Cubemap(立方体贴图) 如果 Source Type(源类型) 设置为 SLS指定立方体贴图(SLS Specified Cubemap),指定天空光照要使用的立方体贴图。
Source Cubemap Angle(源立方体贴图角度) Source Type(源类型) 设置为 SLS指定立方体贴图(SLS Specified Cubemap) 时,为旋转源立方体贴图的角度。
Cubemap Resolution(立方体贴图分辨率) 经过最顶级处理的立方体贴图MIP的最大分辨率。它还必须是2次幂的纹理。
Sky Distance Threshold(天空距离阈值) 与天空光照的距离,在此处,任何几何体都应被视为天空的一部分(亦为反射采集所使用)。
Capture Emissive Only(仅采集自发光) 仅采集自发光材质。跳过所有照明,使采集更便宜。当使用采集每一帧(Capture Every Frame)时,建议使用此方法。
Lower Hemisphere is Solid Color(下半球为纯色) 是否所有来自下半球的照明都应设置为零。这有助于防止从下半球泄漏。
Recapture Scene(重新采集场景) 当天空光照Actor设置为 SLS Captured Scene(SLS采集场景) 时,这将重新采集天空光照用来照亮场景的图像。

来自可移动对象的阴影

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

限制

这些功能对天空光照很有用,但尚未实现:

  • 为静态变体和可移动变体动态重新采集场景。天空光照组件上有一个名为RecaptureSky()的蓝图函数可以使用。然而,这会造成卡顿。

【UE4从零开始 079】光源类型_第14张图片

静态天空光照

Static(静态) 天空光照将被完全烘焙到静态对象的光照图中,因此不需要任何成本。在移动设备上,这是唯一一种受支持的天空光照。在再次构建光照之前,对该光源所做的编辑将不可见。

注:只有具有 Static(静态)Stationary(静止) 的组件和光源将被采集并用于采用静态天空光照的照明。此外,为了避免反馈循环,使用 静态天空光照 时,只能采集材质的自发光贡献部分。请确保天空盒具有无光照材质。

静止天空光照

Stationary(静止) 天空光照从 全局光照(Lightmass) 获得烘焙阴影。当在关卡中放置了静止天空光照后,必须至少重新构建光照一次,才能获得烘焙阴影。然后,可以根据需要更改天空光照,而无需重新构建。

全局光照(Lightmass) 烘焙的天空光照阴影将方向遮挡信息存储在所谓的 环境法线(Bent Normal) 中。这是从纹素到最不被遮挡方向的方向。大部分被遮挡的区域将此方向而非表面法线用于天空光照,这样便这大大提高了缝隙的质量。

只有AO的天空光照 有环境法线遮挡的天空光照
【UE4从零开始 079】光源类型_第15张图片 【UE4从零开始 079】光源类型_第16张图片

第一个图像仅显示了具有AO的天空光照。第二个图像则显示了具有环境法线遮挡的天空光照。注意缝隙中的表面如何针对光照的产生位置’达成一致’。

只有具有 Static(静态)Stationary(静止) 的组件和光源将被采集并用于采用静止天空光照的照明。

与所有类型的 Stationary(静止) 光源一样,在运行时可通过 Blueprint(蓝图) 更改直接光照的颜色。然而,间接光照将被烘焙到光照图中,并且无法在运行时进行修改。间接光照量可以使用 IndirectLightingIntensity 来控制。

仅直接光照 直接光照及带散射GI计算的静止天空光照
【UE4从零开始 079】光源类型_第17张图片 【UE4从零开始 079】光源类型_第18张图片

限制

这些功能对天空光照很有用,但尚未实现:

  • 从可移动对象(字符)到环境上的软阴影。
  • 静态 变体和 可移动 变体动态重新采集场景。SkyLightComponent上有一个名为RecaptureSky()的蓝图函数可以使用,然而这会造成卡顿。

你可能感兴趣的:(UE4从零开始,UE4,光照,光源,光照类型,光源类型)