游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8554|回复: 0

【UE灯光•简介】UE4光照类型和灯光参数

[复制链接]

4万

主题

5万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
85814
发表于 2020-11-19 14:06:39 | 显示全部楼层 |阅读模式
我们UE4学习接下来这段时间我们了解下灯光。

打开我们ue4来到我们灯光系统 分别是定向光源 点光源 聚光灯 矩形光源 天光

微信图片_20201119135326.JPG

静态光源(Static):

  • 不能动态实时的添加,只能预先烘焙好效果,但是不能和动态物体进行集成
  • 性能消耗最低,一个光源和1000个光源的效果是一样的,只会影响烘焙时间
  • 影子可以根据光照贴图的分辨率来调整锐利清晰程度

固定光源(Stationary):

  • 位置不变,但是亮度颜色可以发生变化,不过间接的反射光线的影响不会发生变化,只是预先烘焙好的
  • 性能消耗中等
  • 会将阴影信息存储到阴影贴图中,所以只能同时允许4个固定光源产生重叠,如果超过,多余的光源将会转换使用动态阴影,增大消耗,可以通过ViewMode中的Stationary Light Overlap视图进行查看。
  • 固定光源中的动态物体需要创建两套阴影,一套是来自其他物体投射到动态上的引用,一套是动态物体本身产生的阴影,所以如果动态的物体数目不多的话,适合固定光源,如果固态物体足够多,可以考虑移动光源。

微信图片_20201119135338.JPG

移动光源(Moveable):

  • 可以动态添加,实时变化,
  • 性能消耗高,取决于受该光源影响的网格数量和三角形数量。
  • 不过照射的影子比较锐利,而且光线不能够进行反射

微信图片_20201119135341.JPG

定向光源

微信图片_20201119135345.JPG

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

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

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

微信图片_20201119135349.JPG

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

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

微信图片_20201119135351.JPG

点光源

微信图片_20201119135354.JPG

点光源 的工作原理很像一个真实的灯泡,从灯泡的钨丝向四面八方发出光。然而,为了性能考虑,点光源被简化为从空间中的一个点均匀地向各个方向发射光。放置的点光源可以设置为三个移动设置之一:

  • 静态(Static) - (如左图所示)它意味着,不能在游戏中更改光源。这是最快的渲染方法,并且允许烘焙的光照。
  • 静止(Stationary) - (亦如左图所示)它意味着,光源将仅有自己的阴影和来自 全局光照(Lightmass) 烘焙的静态几何体的反射光照,所有其他光照都将为动态。该设置还允许光源在游戏中更改颜色和强度,但它不会移动且允许局部烘焙光照。
  • 可移动(Moveable) - (如左图所示)这意味着光是完全动态的,并考虑到了动态阴影。从渲染的角度看这是最慢的,但顾及到了游戏进程中的最大灵活性。

下面是放置在关卡内的点光源的两个例子。

微信图片_20201119135356.JPG

左边的图像是一个没有显示其半径的点光源,而右边的图像是显示了半径的同一光源,这给人一种光源将影响世界的良好印象。

虽然点光源只从空间中的该点发出,没有形状,但虚幻引擎4可以给点光源一个半径和长度,用于反射和高光,让点光源有更多的物理真实感。

微信图片_20201119135359.JPG

聚光源

微信图片_20201119135402.JPG

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

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

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

以下范例显示的是放置在关卡中的 聚光源,展示了光源范围和椎体效应器的决定方式:

微信图片_20201119135405.JPG

左侧的聚光源未利用椎体显示光源范围,而右侧的相同聚光源则以椎体效应器显示了自身范围。

天空光照

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

场景采集

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

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

NOTE(注意事项)

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

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

移动性

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

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

静态天空光照

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

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

注意事项

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

静止天空光照

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

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

注意事项

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

可移动天空光照

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

距离场环境遮挡

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

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

微信图片_20201119135407.JPG

预计算天空光照

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

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

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

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

微信图片_20201119135411.JPG

微信图片_20201119135413.JPG

使用Epic的 Robo Recall 中的起始办公室关卡进行改进的示例

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

暗箱

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

微信图片_20201119135415.JPG

静止天空光照的环境法线

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

微信图片_20201119135420.JPG

微信图片_20201119135423.JPG

多次反射

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

微信图片_20201119135425.JPG

设置要使用的天空光照反射次数。

微信图片_20201119135428.JPG

微信图片_20201119135430.JPG

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

warning

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

天光拾取周围环境和自定义hdri

微信图片_20201119135433.JPG

  • 矩形光照

最后一种是4.20新加一种模拟电视广告牌发出的光跟点光源区别下图

微信图片_20201119135436.JPG

接下来我们实际放到世界中看一看选中点光直接拖拽到场景中也可以按住键盘L键点击鼠标左键进行创建

首先我们在右侧细节栏看到的就是灯光属性

微信图片_20201119135438.JPG

01. 微信图片_20201119135441.JPG

02. 微信图片_20201119135443.JPG

03. 微信图片_20201119135445.JPG

下面我们进入灯光细节面板看看具体都有哪些参数如何使用个别参数做一个对比截图

微信图片_20201119135448.JPG

源半径_阴影边缘虚实

微信图片_20201119135450.JPG

源长度_可作为灯带使用

微信图片_20201119135452.JPG
使用色温也可以实现颜色调节

微信图片_20201119135455.JPG

微信图片_20201119135457.JPG

不改变灯光强度,改变间接光照强度可以达到提高场景亮度作用 光子反弹轻度变强了场景中也是经常用到

微信图片_20201119135500.JPG

微信图片_20201119135503.JPG

使用反转平方比衰减

微信图片_20201119135505.JPG

微信图片_20201119135508.JPG
未使用(上)使用(下)

微信图片_20201119135510.JPG

阴影偏差增大可减少地面阴影的锯齿。主要原因灯光距离地面太近摆放时注意距离

微信图片_20201119135513.JPG

灯光通道_灯光与模型都有光照通道灯光与模型在相同通道灯光才会对模型有影响也可以说排除一些不需要光照的物体

微信图片_20201119135515.JPG

Lightmass

微信图片_20201119135517.JPG
不想让阴影带有颜色1.0与0.0区别

微信图片_20201119135520.jpg

微信图片_20201119135523.jpg
针对平行光,阴影指数变大阴影边缘末尾处变得更加硬朗最大值8

微信图片_20201119135526.JPG

微信图片_20201119135528.JPG

微信图片_20201119135530.JPG
阴影角度的偏移

微信图片_20201119135532.JPG

微信图片_20201119135534.JPG
阴影角度偏移虚实

微信图片_20201119135537.JPG

点光源参数基本基本就是这样有些直接看字就能理解意思就没有做演示

我们在来看下体积雾首先拖拽出我们的高度指数雾

微信图片_20201119135540.JPG

接下来调节我们体积雾散射强度

微信图片_20201119135542.JPG

模拟舞台灯光夜晚路灯

微信图片_20201119135545.JPG

IES光域网文件

微信图片_20201119135547.JPG

来源:Game艺视界
原文:https://mp.weixin.qq.com/s/-UwLIZb_WoZq2vBV002DUg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-11-21 21:09

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表