UE4光照基础概念和效果总结

本文为虚幻4官方光照教程学习笔记。

官方原视频教程地址

整理如下。

UE4 中静态/固定/可移动光源的对比

动态阴影的开销非常大!不需要产生阴影的光源尽量禁用阴影以节省开销。

Lightmass设置

Lightmass设置面板

Num Indirect Lighting Bounces(间接光照反射数量)

Indirect Lighting Quality(间接光照质量)

Num Sky Lighting Bounces(天空光照反射数量)

以上参数能有效提升光照贴图质量

Lightmass Importance Volume(Lightmass重要体积)

明确渲染范围,在该范围内提供最高的渲染质量

Lightmass Portal(Lightmass门户)

帮助把来自天空和大气的光照反射进室内——较为昏暗和缺少光照的室内,只有较小的窗子,使用Lightmass门户可以告知引擎将更多的光照射进室内。这样再经过室内反射,提高室内的可见度。

Lightmap(光照贴图)

定位方式——Settings-World Settings-Lightmass

UE4生成的Lightmap

虚幻4生成的光闸贴图要比一般的光照贴图复杂一些。会有一些颜色怪异的区域。实际上,虚幻4会为这张帖图生成两个不同版本。

光照贴图本质上是一张采集了颜色和阴影的图像,然后将它和模型纹理相乘。

所有需要通过引擎生成光照贴图的模型都需要准备供引擎使用的光照贴图UV坐标,我们查看模型是否准备好该UV通道:

打开某个模型的“静态网格体编辑器”(在底部Content Brower直接双击模型或在视口右键点击该模型-选择‘Edit [你的模型名字]’),顶部栏点击UV,查看是否存在UV channel 1。通常该UV通道会自动生成。如果不存在此用于生成光照贴图的UV通道,也可以手动生成,方式如下:

Details-LOD0-Build Settings(这里的窗口实际上在我们导入模型时也会自动弹出一次)-勾选Generate Lightmap UVs,也可以继续更改min Lightmap Resolution(最小光照贴图分辨率),这个分辨率需要根据模型大小已经我们的项目具体情况决定。

设置好之后回到顶部栏,打开UV内生成的新UV,就可以查看到引擎自动为该模型生成的Lightmap UV,这样这个模型就做好了生成光照贴图的准备。(这一步也可以在引擎外使用其他3D软件生成UV,如果项目对品质要求极高,也可以手动调整UV)

Volumetric Lightmap(体积光照贴图)

视口-Show-Visualize- Volumetric Lightmap

显示光照探针

它会像这样显示出网格状的排列,它的密度是由Lightmass重要体积以及距离模型的远近决定的。它们储存了本次烘焙环境时刻的光照信息,这些信息时为场景中存在移动的动态物体准备的。

我理解这个工具类似于Unity中的光照探针,不过虚幻4可以自动生成,提及它只是为了方便理解引擎背后的工作原理,并且提示我们不要忘记在场景中可能存在的动态物体,它们的阴影生成方式与静态物体烘焙光照贴图不同。

点光源属性

Source Length 光源长度

Source Radius 光源半径

这两个参数配合调整,可以让光源适配一些特殊形状。

点光源适配条形发光体

室外动态光照

将光源设置为固定或可移动光源时,光源

级联阴影贴图CSM属性

级联阴影贴图属性面板

即根据阴影相对摄像机距离,调整阴影质量,以优化性能节省开销。

Dynamic Shadow Distance值越低,阴影消失的越早,但近距离观察时阴影越锐利,即阴影质量越高。

Num Dynamic Shadow Cascade指阴影贴图数量,将阴影分为几个层次逐级降低。

距离场阴影

Settings-Project Settings-检索distance

在项目设置中启用距离场阴影

将其可视化的方式:视口-Show-Visualize-Mesh Distance Fields

显示网格体距离场方便观察

实际上阴影是由非常不精确的近似模拟的模型网格体产生的,而不是模型本身。这种近似的模拟可以优化场景性能。

启用光线追踪距离场阴影

勾选RayTraced DistanceField Shadows(光线追踪距离场阴影),当摄像机距离超出时,级联阴影贴图转换为距离场阴影,但距离场阴影不再支持动态阴影。因此我们一般可以混合使用CSM和距离场阴影。在近距离时使用CSM,远距离时使用距离场阴影,在保证阴影质量的同时节省开销。

DFAO-距离场环境光遮蔽

不太常用。由天空光源产生,将天空光源设置为可移动。

这种属性试图利用室外光源和距离场网格体信息,实现室内的光线反射。

调节Occlusion Max Distance以尝试得到更佳效果

IES-丰富光照层次

Details-Light Profiles-IES Texture

IES贴图位置

最适用于SpotLight(聚光灯)

使用一种IES贴图后的直接效果

可以使用一些外部工具创建IES纹理,也可以在引擎内部创建

如果直接将光源属性设置为静态,IES属性会变灰。可以先将光源属性设置为固定或可移动,设置好IES后再将光有类型改为静态,依然可以烘焙出IES纹理。

Light Function(光照函数)

将材质和光照进行混合。

操作1:将材质配置成特殊的光照函数材质

操作1

操作2:准备一张光照纹理贴图,并将其串联到材质的自发光节点

操作2

操作3:创建一个SpotLight并将其设置为Movable(可移动),并将准备好的材质拖到该光源的光照函数材质栏(Light Function Material)

操作3

效果如下

光照函数效果演示

操作4:调整材质,增加动态效果(以下部分涉及材质相关知识,需要另外学习)

光照函数属性材质的部分节点

调整Panner节点SpeedX/SpeedY属性值

调节材质节点参数

此时已经可以看到动态效果,继续调整其他节点参数值达到更佳视觉效果

这种高级光照一般适用于水面散焦,火焰飘动的光照等

光闸函数属性材质节点示例

反射

为了制造反射效果,有以下几种制造反射效果的方案。

第一种:屏幕空间反射

如果模型所使用的材质光滑度够高,那么模型会实时反射出周边镜像,实际上是将周围的场景信息渲染到模型表面的像素点上,并与噪点融合,营造出反射的现象。

这种方案优点是提供实时的反射画面,缺点是噪点较强,反射画面不太清晰。

第二种:Reflection Capture(反射捕获)


找到球状反射捕获

调用方式:Visual Effect-Sphere Reflection Capture/BoxReflection Capture

球状和盒状的唯一区别只是形状不同,绝大多数时候我们使用球状反射捕获即可

将该Actor放置在需要清晰反射效果的模型周围,呈现效果如下:

球状反射捕获效果演示

使用反射捕获能够帮助我们得到更清晰锐利的反射效果。

反射分辨率调整:Settings-Project Settings-检索Reflection找到Reflection Capture Resolution

关于反射捕获需要注意它的缺点(优点就是反射画面清晰):

1.  反射画面会跟随反射捕获Actor移动,需要进行主观判断,无法提供精确的反射画面位置

2.  屏幕空间反射(UE4默认自带反射效果)是实时的,但反射捕获无法提供实时反射

第三种:Planar Reflection(平面反射)

最后一个就是平面反射

只能用于平面的反射效果,即对象的表面是平整的。如:镜子,相框,水面,玻璃等。

这种方案的优点是我们可以自己选择是进行实时的反射渲染(开启逐帧渲染Capture Every Frame)还是进行一次渲染。缺点是实时反射渲染的性能开销会非常大,比较适用于小面积反射区域。且对反射物体的形状要求非常严格。

注:使用这种反射需要导Settings-Project Settings-检索global找到如下并开启

在项目设置中启用平面反射

第四种:Scene Capture

用渲染目标捕获反射的一种方式。适用于需要实时高反射的表面,并且开销非常低。如监控画面。

检索出场景捕获反射Actor位置
需要在这里指定贴图目标

这种方式不是很常用(我也不是很明白为什么,看起来好处多多),如果需要用到可能要单独了解一下这种方式。

大气雾Atmospheric Fog

大气雾Actor位置

将大气雾拖入场景中,同时还会生成地平线。此时的颜色与定向平行光源(Directional Light)有关。在Directional Light的细节面板中找到Atmosphere Fog/Sun Light(大气雾阳光),勾选之后,大气雾将自动把定向光源作为太阳光,根据太阳的方向和位置来调整大气的颜色。

指定平行光源为太阳光后自动生成的“太阳”

生成的SunDisk可以在Directiional Light的Details面板中禁用。调整定向光的角度,甚至可以实现从日到夜的颜色过渡。

Exponential Height Fog 指数高度雾

比大气雾简单。这种雾会随着高度的增加之间降低浓度。这种特性在海拔差异大的场景中能得到有趣的利用。此时在Directional Light的细节面板中找到如下属性:

定向光源的细节面板中找到该属性

可以看到Light Shaft Occlusion(光束遮蔽)和Light Shaft Bloom(光束光晕)

开启光束遮蔽后,可以得到如下效果:

启用光束遮蔽后的效果演示

开启光束光晕的效果如下:

启用光束光晕后的效果演示

光束遮蔽透射出更暗的光线,而光束光晕透射出更亮的光线。也可以同时开启。

在指数高度雾的细节面板中可以开启体积雾属性。

启用体积雾
全部启用后的效果演示

将光束遮蔽,光束光晕以及体积雾同时开启时能得到较好的光线投射效果,即光线边缘更加锐利清晰。在光源属性下可以调节体积散射强度

调节体积散射强度
不同强度效果对比

如图左一为光源的体积散射强度为0时的效果。这个值可以调节光源对雾气的影响程度,制造出体积光的效果。如秋天雾气浓重的夜晚车前灯的效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容