上一次修改时间:2021-12-08 17:48:09

Nanite-Lumen

  1. Nanite优势

    图片.png

    图片.png

    Nanite不支持的范围;

    1)Nanite不支持变形类的物体,如骨骼物体,地形编辑下的样条曲线物体;

    2)为了保证整个软件光栅化逻辑的简洁高效,Nanite Mesh不支持带有骨骼动画、材质中包含世界位置偏移或者Mask遮罩的物体;

    3)材质中,Nanite仅支持不透明模式,双面材质也不支持;

    图片.png

    Nanite的注意事项

    1)Nanite mesh在场景中复制多个时,不会对性能造成明显的影响

    2)在线框模式下Nanite mesh是不会显示的;

    图片.png

    Nanite代理网格体;

    Nanite转换后会自动生成代理网格体,代理网格体会在Nanite数据无法使用时(如平台不支持Nanite)生成;

    硬件的光追也会使用代理网格体;

    图片.png

    Nanite数据大小;

    图片.png

    图片.png

  2. mesh转换成Nanite的方法

    1)导入外部mesh;

    图片.png

    2)转换场景中的非Nanite mesh,取消勾选后点击应用更改,可以将Nanite mesh再次转换非Nanite mesh;

    图片.png

    3)右键菜单,批量也可操作;

    图片.png

    Nanite mesh的信息显示;

    图片.png

  3. 场景中Nanite mesh查看;

    图片.png

  4. Lumen的开关控制

    1)项目设置;

    图片.png

    2)后期处理框中设置,后期框中的Lumen设置会覆盖项目设置中的设置,如项目中开始了Lumen,在后期框中将Lumen关闭后,则后期框内不会有Lumen效果;

    图片.png

    后期框中设置lumen反射的质量;

    图片.png

  5. Lumen使用

    1)使用Lumen时需要将天光等光源改成动态模式,且天光必须开启实时捕获;天光开启实时捕获需要场景内有体积云、天空大气、天空材质的天空球三者中,最少有一个;

    图片.png

    图片.png

    2)天光不会自发光,而是采集环境的亮度来照亮场景;

    3)指数高度雾、天空大气、体积云都会影响天光,从而间接影响Lumen光照;

    4)天空大气和体积云依赖于方向光,当场景中没有方向光时,天空大气和体积云产生的亮度很小;

    5)天光使用HDR贴图时,不会受方向光影响,也可以同Lumen一起照亮场景;

    图片.png

    6)Lumen光照下,骨骼物体会影响漫反射,在墙体上留下阴影;但由于Lumen使用的是屏幕追踪的方式,因此,骨骼网格体位置不变,移动摄像机时,影子也会随着改变;

    图片.png

    7)由于Lumen使用了大量缓存来获实时性能,因此,如果快速移动一个自发光的物体,产生的光照效果会有延迟;

    8)后期框中,最终采集质量的数量会提高阴影质量,但也会影响性能,该值在0.5-1之间时,不会对性能产生太大影响,但该值超过1后,会对性能产生成倍了增长,因此该值最多可设置到2(手动输入可以输入2以上的值);

    图片.png

    9)Lumen全局光照选项可以用来在场景中单独显示Lumen效果;

    图片.png

    图片.png

  6. 虚拟阴影贴图(VSM)

    图片.png

    虚拟阴影贴图的开启(UE5默认开启)

    图片.png

  7. UE5场景灯光

    1)灯光分为静态,固定和移动三种类型,其中静态和固定灯光都是需要烘焙;

    图片.png

    2)静态光源是在运行时完全无法更改或移动的光源;静态类型光源会将它的直接光照,间接光照以及阴影,完全烘焙到光照贴图中,在运行时,对性能可以说是0消耗;

    静态光照不能让场景中动态的物体产生阴影,也不会生成光生自身光照贴图

    图片.png

    3)静态光源可以通过调整光源半径,产生比较柔和的区域阴影;光源半径较小,投身阴影的锐度会更高;光源半径越大,投射的阴影会越柔和;不过,需要在烘焙后才可以看到效果

    图片.png

    4)固定光源是保持固定位置不变的光源,虽然和静态光源一样不能移动其位置,但可以在游戏运行时改变光源的亮度和颜色等,固定光源可以让可移动的物体产生动态阴影,但会有性能消耗,且消耗和场景中动态物体的数理成正比

         固定光源的直接光照使用的是延迟着色直接进行渲染的;所以在运行时可以改变光源的亮度和颜色;

         固定光源的间接光照和间接阴影都存储在光照贴图中;在游戏运行时不能改变;

         固定光源的直接阴影是存储在阴影贴图中,它使用的是距离场阴影,所以它的直接阴影清晰度不依赖与其阴影投射表面的光照贴图分辨率;

    图片.png

    5)定向固定光源是特殊的,它是支持采用联级阴影贴图的形式,同时也可以作为静态阴影;定向光源的固定模式,可以利用级联阴影设置,在离摄像机比较近的距离内,生成动阴影,而在距离摄像机比较远的时候,切换为静态阴影

    图片.png

    图片.png

    6)可移动光源,将投射完全动态的光照和阴影;在游戏运行时,可修改位置、旋转、颜色、亮度、衰减、半径等所有属性;动态光源不会生成间接光照,不会为场景提供GI的效果;

    移动光源使用全场景动态阴影来为场景生成阴影,这种方式性能开销很高;性能开销的大小主要取决于受该动态光源影响的物体数量以及这些物体的面数;

    对于动态类型的点光源和聚光灯源来说,虚幻引擎用阴影贴图缓存的方法来提高性能,虚幻引擎会默认自动启用阴影贴图缓存功能;

    进行阴影贴图缓存需要满足以下条件:

    1>阴影贴图缓存仅用于点光源和聚光灯;

    2>场景中的物体为静态或固定模式时,才会使用阴影贴图缓存;

    3>场景中物体的材质必须是没有使用场景位置偏移的;

    4>光源必须是停止状态,处于非移动的状态;

    7)静态光源的质量中等、可变性最低、性能开销也最低;

         固定光源一般拥有最好的品质、中等的灵活变化程度,以及中等的性能开销;

         动态光源灵活性最好,可以在游戏运行时,实时为场景生成光照和阴影,它的缺点是不能为场景生成全局光照,而且它的开销也是最高的,性能开销主要是要为场景生成动态阴影;

  8. 定向光源的原理和应用

    1)定向光源是模拟从无限远的地方发出的光线;意味着定向光源投射出的光线均为平等光线;常被用于模拟太阳光

    2)定向光源参数:

    1>源角度:源角度指的就是视直径,简单来说就是用角度来定义光源的半径,默认值即为现实中观察到的太阳的视直径,修改源角度可以改变阴影边缘的柔化效果;

    图片.png

    2>投射调制阴影和调制阴影颜色只适用于可移动的光源;

    图片.png

    3>阴影量(0-1),用来控制阴影 的深浅,为0时表示无阴影;

    高光度范围(0-1),用来控制光线照射到的材质表面的高光强度;

    图片.png

    4>光照通道:光源和场景中的物体都分别有多个光照通道,且默认值均为0,如果想让场景中的某个物体不接收光照,可以将物体的光照通道设置为与光源的光照通道不同的值

    图片.png

    5>静态和固定光源的调节选项,光源为可移动时,无法调节;

    间接光照饱和度是用来控制光线溢色的,即光线照射到物体表面反射后,会将物体表面的颜色反应到物体周围;

    图片.png

    6>光束遮挡:只在场景中存在指数高度雾或天空大气时才会生效;用来模拟雾气暗处的阴影;

    图片.png

    图片.png

    7>光束泛光:泛光范围为光线强度;泛光着色只会改变泛光的颜色,不会对场景产生影响;

    光束泛光会对性能产生额外开销;

    图片.png

    图片.png

    8>级联阴影贴图只在光源为固定和可移动时可以调节;

    级联阴影指引擎会根据物体距离摄像机距离的不同,而显示不同质量的阴影贴图,动态阴影级联数字即为阴影贴图的层数,层数越高,随距离切换时阴影会更平滑,性能消耗也会更大

    分布指数:

    图片.png

    过渡部分的数值也可以控制级联阴影切换时的平滑程度,但值越高也会相应的增加性能消耗;

    图片.png

    级联阴影贴图在设置了虚拟阴影贴图后会失效虚拟阴影贴图是引擎以一种统一的方法设置阴影,只需要调节几个参数,无需设置调节复杂的阴影参数

    图片.png

    对于虚拟阴影贴图,可以通过调整定向光源的源角度和局部光源的光源半径来调节它们阴影的半影大小;

    图片.png

    阴影采样光线数量的设置;

    图片.png

    阴影采样光线数量不足时,阴影会出现噪点;(上图中的第二条命令)

    图片.png

    阴影采样光线数量设置为0时,则会出现硬阴影;

    图片.png

    设置阴影的柔和度;

    图片.png

    上图和上上命令图相对,上上命令图是控制总体光线路径的采样数量;上图是控制每条光线路径的采样数量;

    9>大气太阳光索引可以控制多个定向光源,如太阳光(索引设置为0)和月亮光(索引设置为1);

    图片.png

  9. 天空光照

    1)天空光照用来捕获场景的远处环境并将其作为光源应用于场景;这意味着,天光是通过采集大气层、天空盒顶部的云层或者远处的山脉等这些信息,来照亮场景和反射;

    2)可以通过使用立方体贴图,天光通过采集立方体贴图的信息,进而来照亮场景和为场景提供反射;

    图片.png

    图片.png

    3)开启生成网格体距离场,且将天光设置为可移动后,可以调节距离场的相关参数;图片.png图片.png

    图片.png

    4)距离场环境遮蔽和屏幕空间环境光遮蔽

    1>屏幕空间环境光遮蔽仅限于使用场景深度的情况,而且仅在可见屏幕空间中有效;

    2>预计算方法仅对世界场景中的静态对象有效;

    3>距离场环境遮蔽是全动态的,可以用于动态照明场景或静态烘焙场景;

    4>对于开启lumen的动态天光来说,它是不会使用距离场环境光遮蔽的;使用lumen的最终采集能为场景提供带阴影的天空光照

    5)天光的实时捕获,开启后,当环境光照发生变化时会实时更新天光;未开启时,需要手动更新;

    天光开启实时捕获的前置条件:在场景中必须要有天空大气,体积云,或拥有天空材质的天空球,这三个中必须得有一个

    实时捕获模式比重新捕捉更快且更高效,因为实时捕获模式将所有计算都保存在GPU上,而且实时捕获模式还利用时间分段的优化方法来将场景的捕获分布于多个帧上,而不是在每帧上执行完整的场景捕获过程;

    环境立方体贴图天空光照不如捕获环境的效果好,因为采集环境的天空光照支持局部阴影

    图片.png

    图片.png

  10. 局部光源

    1)局部光源分为点光源,聚光源,矩形光源(面光源)三种;

    图片.png

    2)点光源快捷键,W-移动,E-旋转,G-隐藏光源Actor;

    3)点光源的调节选项,光源强度可以设置强度的单位;

    光源半径决定了光线可达的范围,此外,光源的半径还可以定义光线影响的对象;实际使用时,要避免使用较大的光源半径和多次重叠的光照

    光源半径和光源长度决定了物体表面上反射高光的大小;

    图片.png

    图片.png

    4)使用点光源进行补光时,可以将高光的范围调整为0,让其只起到照亮场景的作用,而不会影响物体表面的高光;

    图片.png

    5)静态光源的半径和长度,对静态烘焙光照贴图还会产生影响,较大的光源半径将投射更柔和的区域阴影,较小的半径将支烘焙比较锐利的阴影;

    6)开启虚拟阴影贴图后,在可移动的点光源下,较大的光源半径将投射更柔和的区域阴影;

    点光源的工作原理:在引擎中,点光源被简化为从空间中的一个点均匀的向各个方向发射光线;

    图片.png

    7)可以取消默认的反转平方衰减,来手动指定光源的衰减指数;

    图片.png

    8)创建聚光照的材质函数,实现聚光灯忽明忽暗的效果;

    图片.png

    图片.png

    图片.png

    图片.png

    9)聚光灯的IES纹理,IES纹理是用于光源描述的文件,其实际上是ASCII码,并非图像文件;

    图片.png

    IES纹理可以控制灯光的形状,开启使用IES强度选项后,灯光强度将使用纹理的强度,未开启时,使用聚光灯的强度;IES的渲染速度快,不会对性能造成明显的影响各个灯具制造商的网站上都可以直接下载IES纹理(现实中)

    图片.png

    10)矩形光源,矩形光源的衰减半径和其它点光源一样为球形;

    矩形光源可以通过控制光源后面挡光板的角度和长度,来控制光源周围的影响范围;

    图片.png

    图片.png

    11)矩形光源设置为静态或固定时,矩形光源的宽度和高度会影响静态烘焙的效果;这时可以将静态矩形光源理解为,矩形表面是分布许多微弱点光源的模拟;

    12)矩形光源设置为可移动模式,则只有高光反射会使用矩形的宽度和高度;当是移动模式时,实际光线是从矩形光源中心向外发射出来的;如下图中,增加矩形光源的长度和宽度并不会影响长方体的阴影

    图片.png

  11. UE5大气环境

    UE5场景大气环境种类:天空大气,指数高度雾,体积雾,大气雾以及体积云;

  12. 天空大气

    1)虚幻引擎中的天空大气是一种基于物理的天空和大气渲染技术;可以创造类似地球的大气层,同时提供包括日出和日落的天的时间变化,还可以创造奇特的外星大气层;

    2)天空大气可以模拟光经过行星大气层时发生的近似散射;

    3)天空大气主要包括以下内容:

    1>在天空大气中可以有两个定向光源,其中天空颜色就取决于太阳光的角度和天空大气的参数;

    2>天空颜色将随着太阳高度而变化;

    3>控制天空大气的参数,可以控制大气密度,控制大气散射和模糊效果;

    4>从地面到天空再到太空过渡时,天空大气可模拟场景的曲率变化;

    4)天空大气创建;

    图片.png

    在场景中设置两个定向光源,用来模拟太阳光和月亮光,

    图片.png

    打开定向光源的大气太阳光选项,设置定向光源的索引,通常将太阳光设置为0,月亮光设置为1;

    图片.png

    在场景中设置天空光照,并开启实时捕捉的模式;

    图片.png

    图片.png

    按住Ctrl+L,移动鼠标,可以控制索引为0的定向光源,按住Ctrl+Shift+L,移动鼠标,可以控制索引为1的定向光源;

    图片.png

    5)在虚幻引擎中的天空大气系统是主要利用米氏散射和瑞利散射来模拟光线的吸收和散射的;

    图片.png

    瑞利散射:光线与更小粒子,比如像空气分子的相互作用产生了Rayleight散射,这种类型的散射主要依赖于光波长;默认值0.0331代表现实中大气的密度;增加该值,大气密度更大,光线散射更多;

    米氏散射:Mie散射是模拟光线与大气中悬浮的灰尘、花粉、空气污染物等更大粒子的相互作用产生的散射;Mie散射通常会吸收光线的能量,从而导致天空的清晰度因光线被遮档而变得模糊;

    MIE各向异性:光线与大气中较大的悬浮粒子相互作用时会发生散射,米氏各项异性就是控制光散射均匀程度的,通常情况下经过MIE散射,光会更加向前方散射,从而在光源周围产生明亮的光晕现象;

    图片.png

    6)大气吸收范围和吸收颜色可以用来调整大气呈现的颜色;

    图片.png

    7)大气高度

    当高度高于设置的大气高度时,引擎将停止计算大气的相互作用,散射等;

    图片.png

    8)瑞利散射指数分布是指当高度达8km时,大气密度为原本的40%;

    图片.png

    9)大气的美参数;

    空中透视视图距离范围,该可以控制远处大气的密度,适用于开放世界地图

    图片.png

    10)天空大气和指数高度雾的配合使用

    开启支持天空大气影响高度雾选项,启用后,指数高度雾会在颜色上应用天空大气的雾效;

    图片.png

    将雾内散射颜色和定向内散颜色调整成黑色,设置完成后随着时间断的不同,指数高度雾的颜色会随着大气颜色变化而变化

    图片.png

    天空大气下的高度雾贡献还可以用来控制高度雾对场景的贡献量

    图片.png

  13. 大气雾

    1)大气雾提供一种透过行星大气的光散射的现象;

    2)大气雾需要在定向光源中勾选大气太阳光选项,使之与定向光源关联;

    图片.png

    3)大气雾的效果;

    1>可以在定时光源周围生成光晕效果;

    2>天空的颜色会随着定向光源的高度变化而变化;

    3>通过控制大气雾的散射和衰减设置,来控制大气密度;

    图片.png

    天空大气和大气雾同时存在时,天空大气会覆盖大气雾的效果

  14. 指数高度雾

    1)指数高度雾,在场景中较低位置处密度较大,而在较高位置处密度较小;

    2)指数高度雾提供两个雾色,一个用于朝向定向光源的半球体,另一个用于相反方向的半球体;

    3)指数高度雾的放置位置将决定雾的高度

    4)参数:

    雾密度为整个雾的密度;

    雾高度衰减可以调整指数高度雾的高度,值越小,衰减速度越大;

    雾最大不透明度,用来控制不透明度,设置为0时,雾就会消失;

    起始距离用来设置指数高度开始的位置,该设置还可以节省性能;

    第二雾数据可以用来控制第二层雾的叠加效果;

    图片.png

    5)勾选定向光源的大气太阳光选项后,会在定向光源的周围产生雾内散射效果;

    图片.png

    6)雾内散射颜色控制指数高度雾的整体颜色,

    图片.png

    7)定向内散射颜色控制定向光源周围的散射颜色;

    图片.png

  15. 体积雾

    1)体积雾就是在摄像机视锥的每个点上计算雾的密度和光照,以便光源在体积雾上生成阴影和光束;

    2)全局体积雾需要在高度指数雾的体积雾选项中开启;局部体积雾需要使用粒子系统来控制;

    散射分布为0时,会均匀散射,为0.9时,会在光源的方向上散射;

    消光范围可以控制体积雾光照量吸收的多少,值越大,光束的亮度会越高,值为0时,体积雾会消失;

    图片.png

    图片.png

    3)全局体积雾的密度由指数高度雾的密度来控制;

    4)定向光源的体积散射强度用来控制,定向光源对体积雾的控制量;值为0时,表示无贡献;

    图片.png

    5)定向光源中的投身体积阴影必须开启,否则体积雾的效果会消失;

    图片.png

    6)定向光源的光束遮挡开启后,会使暗处的体积雾产生阴影的效果;

    图片.png

    7)体积雾会在体积雾可视距范围内替换雾内散射颜色参数;因为体积雾基于物理,而指数高度雾并不基于物理,所以两者并不能混合

  16. 体积云

    1)体积云是基于物理的云渲染系统;该系统使用材质的方法,可以创建所需的任意类型的云,云系统可以呈现动态实时的效果,并通过使用实时捕获的天空大气和天空光照进行相互影响;

    2)体积云的渲染方式:体积云系统使用支持光线步进的三维体积纹理来表示实时云层,另外使用体积材质的方法,可以在天空中创建各种各样的云,还能够在一天中呈现不同时段的光照和色彩;

    3)体积云系统的几个主要元素:

    1>云系统的体积材质

    . 体积云是使用体积材质域的材质类型,可用体积纹理来呈现云的外观,体积纹理是一种3D纹理,可拆分为一系列对齐到网格的2D纹理;

    默认体积云材质贴图,切换到3D贴图查看;

    图片.png

    图片.png

    2>云体积中的光线步进

    . 参与介质要形成云,需要复杂的光照模拟,体积云系统采用光线步进的近似算法来模拟云渲染;

    . 具有可伸缩的实时性能,并支持多种平台和设备;

    . 支持光照的多重光源散射效果、云投身阴影和投身到云上的阴影、地面对云层底部产生的光照效果等;

    . 云系统提供了可伸缩的光线步进质量模式:

    1] r.VolumetricRenderTarget.Mode 0 模式(引擎默认体积云模式),该模式适用于对性能要求比较高的游戏,但是只能呈现低分辨率效果;

    2] r.VolumetricRenderTarget.Mode 1 模式,这种模式平衡了质量和性能,适合多种地面视角的游戏,该模式开销相对较高,具有质量更高的视觉效果;

    3] r.VolumetricRenderTarget.Mode 2 模式,这种模式注重更高质量,同时仍支持实时游戏的地面视角,可以产生高分辨率效果,但相较前两种质量模式,它的性能开销较大;

    3>光源多重散射

    . 在光线穿过体积云的时候,会与体积云内的粒子上发生散射,这种光效应被称为多重散射,我们看到的云的开关,就是这种效果引起的;

    . 在我们真实世界中,云实际是由小水滴组成,当光线经过云体但未被吸收的光线会产生非常复杂的散射效应,散射效应会影响光线在云体积中传播路径,让云层看起来浓厚光亮;

    . 在实时渲染中,复杂的多重散射效果是通过在体积材质中追踪透光率的多个倍频来实现

    . 引擎中默认体积云材质的多重散射倍频设置;

    图片.png

    图片.png

    4>云遮蔽和阴影

    . 云遮蔽和阴影主要由定向光源和体积材质的参数来控制,从而决定云的外观;

    . 云阴影有两种可用模式,可以在所用的云材质内切换,这两种模式是:默认所使用的光线步进(Ray Marched) 以及Beer 阴影贴图;

    1] 光线步进体积阴影使用次级光线步进来获得锐利且颜色丰富的阴影,这种阴影方式开销较大,光线步进阴影非常适合从地面到天空乃至太空的过渡;

    2] Beer阴影贴图使用级联阴影贴图,为云层提供更远的阴影距离支持,并支持向地面投射阴影,这种方法在渲染时比较快,但缺点是不够精确,并且缺乏体积自身阴影颜色;Beer阴影贴图通常用于从地面视角;

    引擎中默认体积云材质的云阴影切换

    图片.png

    图片.png

    . 定向光源对体积云形成的阴影:

    1] 大气光源(如太阳和月亮)提供了对云和大气阴影的控制,使用大气光源,我们可以控制阴影的强度、产生云阴影的地方与当前摄像机位置的距离、云能否产生自身阴影并把阴影投射到大气中等;

    图片.png

    在定向光源里开启投射云阴影后,可以通过降低云阴影范围来减少性能消耗;

    图片.png

    . 天空光照对体积云的实时捕获:

    1] 天空光照组件提供了实时捕获模式,可以处理与以下组件的交互:天空大气、体积云、指数高度雾和使用cubemap贴图的天空球,天光的这种自动捕获模式可以在不牺牲性能的前提下,实现动态的捕获天空环境

    图片.png

    天空光照下关于体积云的设置;

    图片.png

    -----------------------------------------------------------------------------

    体积插件开启,该插件为引擎里所有使用了体积渲染的功能都能使用

    图片.png

    图片.png

    可供选择的云材质目录

    图片.png

    材质实例里Detail和scale可以调整云的大小;

    Outd2可以调节体积云的厚度;

    图片.png

    体积云绘制示例地图;

    图片.png

    在运行模式下手动绘制体积云,鼠标滚轮可以调整绘制笔刷的大小;shift-擦除已绘制的区域;

    shift+鼠标滚轮调整笔刷的厚度;

    图片.png

    绘制的参数,Show Lighting勾选后,还可在较厚的云层里生成闪电的效果;

    Lightning Multiplier可以调节闪电的强度,Noise Multiplier可以调节体积云的细碎程度;

    图片.png

    图片.png

    将体积云绘制的示例移动到自己的场景:

    将体积云绘制蓝图拖入到场景中;

    图片.png

    修改参数;

    图片.png

    将场景中的体积云材质修改为带PaintClouds的材质;

    图片.png

    将GameMode修改为体积绘制;

    图片.png

  17. 传统的反射方式

    屏幕空间反射,立方体贴图反射,平面反射,以及硬件光线追踪的反射方式;

    在UE5中,将来这种基于硬件的RTX反射,将会被舍弃,它的全部功能将被融合到lumen中

    屏幕空间反射

    屏幕空间反射,是一种动态后处理特效,屏幕空间反射只会反射在屏幕空间内的物体;

    屏幕空间反射的优点

    首先是动态实时的反射,可以为场景中的动态物体提供反射效果;第二,反射中的场景位置,也是比较准确的;

    屏幕空间反射的缺点

    如果物体处于屏幕范围外,则反射会消失;

    立方体贴图反射

    立方体反射在引擎是指球体反射和盒体反射;

    图片.png

    立方体贴图反射原理

    立方体贴图反射会在反射球的位置向各个方向拍摄采集六张图片以作为立方体贴图,依此为反射物体提供反射效果;

    立方体贴图反射不会实时更新,场景发生变化后,需要手动更新反射;

    图片.png

    平面反射

    平面反射能够实时反射动态物体,但性能消耗极大;

    平面反射其实就是在反射的方向,再渲染一次场景,也就是说它会使这个场景被渲染两次,所以要把一半的帧时间花在渲染线程和GPU上;

    全动态的光照场景,使用平面反射,会造成比静态烘焙场景更高的渲染开销;

    图片.png

  18. Lumen反射

    1)Lumen解决了所有材质粗糙度的间接反射或反射;

    2)在反射中都可以看到带有全局光照和阴影的天光;

    3)lumen反射支持透明涂层Clear Coat材质,对于Clear Coat材质,它拥有底面和清漆两层反射的效果;

    4)lumen反射还可以通过使用lumen表面缓存,在反射中呈现动态GI和带阴影的可移动天空光照;

    5)lumen反射依赖于lumen全局光照,lumen反射集成了lumen全局光照效果;

    6)lumen反射相对其它反射,比较节省性能;

    7)场景中物体的粗糙度不一样,lumen反射的开销也不一样,如果材质比较粗糙,比如大0.4,那么引擎会重新利用最终采集的结果,当粗糙度小于0.4时,会产生额外的性能开销 ,粗糙度小于0.4时,引擎就需要在反射锥中追踪额外的光线,来提供比较清晰的反射;

    8)虚幻引擎中开启lumen后,默认是使用lumen反射和屏幕空间反射相结合的方式,即物体如果不在屏幕范围内时,则会使用屏幕空间反射,使用r.Lumen.Reflections.ScreenTraces 0可以用来禁用屏幕空间反射,数字改成1为启用屏幕空间反射;

    屏幕空间的反射效果;

    图片.png

    禁用屏幕空间反射后,只有lumen反射的效果;

    图片.png

    9)lumen的反射是基于模型的距离场的,反射的效果就是模型距离场的效果,要提高精度,就需要提高距离场的精度;

    图片.png

    图片.png

    图片.png

    10)lumen反射目前无法反射无法生成距离场的物体,如骨骼网格体,如果需要lumen反射骨骼网格体,需要硬件支持光线追踪(系统需要win10),且在引擎中开启硬件光线追踪

    图片.png

    图片.png

    11)平面反射和lumen全局光照不兼容,在平面反射中不能反射lumen的全局光照;

  19. 后期处理

    1)后期处理无论场景中有没有放置后期体积,虚幻引擎都是会默认启用的,未放置时,会启用后期体积的默认参数;

    2)后期体积总体参数:

    Bloom-为场景高光的部分提供泛光的效果;

    Exposure-自动爆光,模拟人眼对光的自适应效果;

    Chromatic Aberration-色差,模拟真实世界摄像机镜头边缘附近的颜色变换的特效;

    图片.png

    Dirt Mask-污渍遮罩,可通过使用合适图片来模拟摄像机水渍和污渍的效果;

    Lens Flares-镜头光晕;

    图片.png

    Image Effects-图像效果,模拟真实世界中摄像机变暗的特效;

    颜色分级-调节画面颜色,色温,对比度等效果;

    Misc-可以将游戏画面截取一帧,再将该帧图片放到ps调整颜色,调整完成后导入引擎LUT,引擎利用查找表(LUT)可以实现场景颜色校正,使游戏画面的颜色和ps中调整的一样;虚幻引擎中使用的一种查找表是16*16*16的中性色调LUT,解压后为256*16的纹理;

    图片.png

    游戏场景截图步骤:

    图片.png

    图片.png

    在ps里调整好的图层(图层0不用拖入)拖入到中引擎自带的中性lut上;

    图片.png

    图片.png

    在ps里将lut存为png;

    图片.png

    在引擎中导入lut;

    图片.png

    修改lut图片的属性;

    图片.png

    LUT的局限:

    . 因为LUT是作用在低动态范围以及在sRGB空间中显示器颜色上,所以它只是与当下显示器相对应的效果;

    . 因为颜色校正LUT发生在色调映射之后,所以不一定在它输出到的所有显示器上都会呈现相同的效果;

    . LUT是在我们当前显示器上为项目快速定义风格的好方法,但是它并不适合在项目中使用;

    项目应该使用颜色分级下的颜色校正属性,对画面进行调整,因为这些参数是发生在色调映射之前,可以确保在各种不同类型显示器上的效果都是一样的;

    电影-UE默认情况下使用的是电影色调映射器了,也就是ACES颜色编码系统,使用ACES编码系统,可以兼容多种显示类型,还可以确保在多种格式和显示之间保持一致的颜色;

    全局光照-Lumen;

    反射-Lumen;

    渲染功能

    后期处理材质-可以用来设置一些复杂后期效果;

    Ambient Cubemap-环境立方体贴图,可以使用立方体贴图来照亮场景;

    Ambient Occlusion-屏幕空间AO,使用Lumen时不起作用

    Ray Tracing Ambient Occlusion-光线追踪AO,使用Lumen时不起作用

    Transluccency && Ray Tracing Translucency-传统半透明物体设置,目前lumen尚不支持半透明材质,半透明材质的物体也不会生成网格体距离场,所以也不会有高质量的动态全局照明

    后期处理体积设置:

    无限范围勾选后,后期体积会在整个场景中生效

    当场景中有多个后期时,一定要设置每个后期体积的优先级,否则引擎不知道重叠的部分应该使用哪个;

    图片.png

    世界分区 && 数据层-UE5新添加的功能;