定向光源

虚幻引擎中定向光源的基础说明。

Choose your operating system:

Windows

macOS

Linux

Directional_LightHeader.png

本页面的内容

定向光源 将模拟从无限远的源头处发出的光线。这意味着此光源投射出的阴影均为平行,因此适用于模拟太阳光。定向光源放置后,可对其 移动性 进行如下设置:

  • 静态——(左图)即无法在游戏中改变光源。这是速度最快的渲染方法,可用于已烘焙的光照。

  • 静止——(同见左图)即光源通过 Lightmass 只烘焙静态几何体的投影和反射光照。其他则为动态光源。此设置还允许光源在游戏中改变颜色和强度,但其并不会移动,且允许部分烘焙光照。

  • 可移动——(左图)即为完全动态光源,可进行动态投影。这是最慢的渲染方法,但在游戏过程中拥有最高灵活性。

下图展示了从开放屋顶照射进来的日光。

Directional Light

Directional Light Shadow Frustum

左图只显示了光照,右图则启用了 阴影视锥,展现定向光源发出的平行光线。

光照方向(左图所示)以箭头指出了光线传播的方向,以便使用者根据需要来放置光源的方向。

定向光源属性

定向光源的属性分为以下5类:光源、光束、Lightmass、光照函数和级联阴影贴图。

光源

属性

描述

强度(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)

光源是否影响半透明物体。

光束

属性

描述

启用光束遮挡(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 Material)

应用到该光源的光照函数材质。

光照函数缩放(Light Function Scale)

缩放光照函数投射。

光照函数淡化距离(Light Function Fade Distance)

在此距离中,光照函数将完全淡化为 已禁用亮度(Disabled Brightness) 中的值。

已禁用亮度(Disabled Brightness)

光照函数已指定但被禁用时应用到光源的亮度因子,以之前的属性为例:光照函数淡化距离(Light Function Fade Distance)

级联阴影贴图

属性

描述

动态阴影距离可移动光照(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)

(仅限静态光照)是否将逐对象内嵌阴影用于可移动组件,即使在联级阴影贴图已启用时也同样如此。

大气和云层

定向光源支持虚幻引擎的天空大气体积云功能。

更多信息和演示可参阅定向光源交互和阴影中的体积云部分。

属性

描述

大气和云层

大气日光(Atmosphere Sun Light)

定向光源是否能够与大气及云层相互作用并生成视觉上的日轮——这些共同组成了视觉上的天空。

在云层上投射阴影(Cast Shadows on Clouds)

光源是否应该将不透明对象的阴影投射在云层上。如果场景中存在第二个定向光源(比如太阳或月亮),并且启用了 大气日光(Atmosphere Sun Light) 以及将 大气日常索引(Atmosphere Sun Light Index) 设置为 1,则该选项会被禁用。

在大气上投射阴影(Cast Shadows on Atmosphere)

使用SkyAtmosphere时,光源是否应该将不透明网格体的阴影投射到大气中。

投射云层阴影(Cast Cloud Shadows)

是否应该将云层的阴影投射到大气和其他场景元素上。

云层散射亮度比例(Cloud Scattering Luminance Scale

调整光线散射在云测参与介质(cloud participating media)中的光线贡献。有助于修正我们当前多重散射方案只是一种近似效果的问题。

高级属性

大气日光索引(Atmosphere Sun Light Index)

引擎支持在任何时候显示两个大气光源来表示太阳和月亮,或者是两个太阳。使用此索引来设置主光源和副光源。例如,太阳是0,月亮是1。

大气日轮色标(Atmosphere Sun Disk Color Scale)

日轮亮度相乘的色标(color scale)。

逐像素大气透射(Per Pixel Atmosphere Transmittance)

是否在不透明网格体上应用逐像素大气透射,而非使用全局透射。

云层阴影强度(Cloud Shadow Strength)

阴影的强度。数值越高,光线阻挡越多。

云层在大气上的阴影强度(Cloud Shadow on Atmosphere Strength)

大气上阴影的强度。设置为0时,会禁用大气上的阴影。

云层在表面上的阴影强度(Cloud Shadow on Surface Strength)

阴影在不透明和半透明表面上的强度。设置为0时,会禁用阴影在不透明和半透明表面上的强度。

云层阴影深度偏移(Cloud Shadow Depth Bias)

控制应用于体积云阴影贴图的前阴影深度的偏差。

云层阴影范围(Cloud Shadow Extent)

摄像机周围云层阴影贴图的世界空间半径。单位为千米(km)。

云层阴影贴图分辨率比例(Cloud Shadow Map Resolution Scale)

调整云层阴影贴图的分辨率。该分辨率受 r.VolumetricCloud.ShadowMap.MaxResolution 的限制。

云层阴影射线采样计数比例(Cloud Shadow Ray Sample Count Scale)

调整用于阴影贴图追踪的采样数量。该参数受到 r.VolumetricCloud.ShadowMap.RaySampleMaxCount 的限制。

本文基于此前的虚幻引擎版本编写,未针对当前的虚幻引擎5.0版本更新过。