UE4渲染的整体流程(可视性、GBuffer、反射、动态光照阴影、后期处理)

您所在的位置:网站首页 3d模型怎么用ue渲染 UE4渲染的整体流程(可视性、GBuffer、反射、动态光照阴影、后期处理)

UE4渲染的整体流程(可视性、GBuffer、反射、动态光照阴影、后期处理)

2024-07-16 08:07| 来源: 网络整理| 查看: 265

个人博客完整原文:https://alvincr.com/2021/02/ue4-1-rendering/

评价渲染工具的好坏参考:渲染质量、渲染功能及性能。

1 整体流程

AlvinCR认为渲染并不是一个具体步骤,而是与其相关的多个流程。

与渲染有关的一切都是使用r.rendering函数。

渲染的准备工作:

可视性(包括遮蔽)——>渲染——>基础通道(属于渲染过程,基础通道材质包含:几何体、绘制和调用、预计算光照)——>GBuffer(是一条基础通道,需要GBuffer是因为基础通道采用延迟渲染器)——>动态光照和阴影——>反射——>后期处理——>可拓展性及性能

2 具体过程

2.1 可视性

在渲染的之前,需要使用CPU进行计算,然后将需要渲染的帧提供给GPU,因此CPU必须在渲染前一帧之前完成相关计算,因为使用CPU可以明确物体的存在方式、位置及是否需要渲染。

功能:

距离剔除。超出距离限制的物品将会禁用,默认开启

视锥剔除。用于识别镜头内外需要渲染的对象

预计算可视性。适用于移动设备、低端设备

可视化剔除。核心单元,上面三项都是为可视化剔除工作,能够实现的基础在于:每个网格体都能准确隐藏和包含它背后的对象,因此能够使大部分遮蔽准确地识别。

2.2 渲染

渲染包括:Z通道和基础通道。Z通道作用:渲染景深;基础通道作用:渲染几何体的所有部分,会在渲染时逐一处理每个绘制调用。因此渲染的重点在于基础通道。

基础通道最主要的实现在于:绘制调用、基础通道材质(包括光照贴图)、动态实例化。

GBuffer

GBuffer是基础通道的一部分,下面简称GB,GB能够将自己渲染成同一画面的不同版本,通过GB的渲染可以得到:世界法线(缓冲A)、高光度和粗糙度以及金属度(缓冲B)、底色及光照(缓冲C)、其它Buffer(缓冲D、E等等)

这些缓存是由各个图像保存后得到的,可以设置其他延迟渲染。中间显示的图片是由四周的各个缓存整合得到的最终效果图,因此可以对已渲染的版本进行其它渲染操作。

2.3 动态光照阴影

通过动态光照阴影组合可以实现渲染阴影的效果,由于室内和室外的阴影渲染很难采用同一种方案进行,因此需要根据情况来采用不同的解决方法

直接光照。间接光照、介于光照与阴影、光照和阴影

www.alvincr.com

2.3.1 影响光照的因素

直接影响

IES纹理用于得到更加逼真得光照效果,详情看附录光照函数。支持使用材质与光照混合,可以用于生成水火的效果,还能实现云在地上的阴影效果。

间接影响

光照传播系统。过时程序,用于提供实时全局光照。光追GI,目前并不常用

2.3.2 影响阴影的因素

直接影响:

法线动态阴影,默认使用缓存生成阴影缓存级联阴影贴图,是三种不同的阴影贴图采用级联方式进行合并,将阴影分成低、中、高三种质量,能够在不同距离进行显示,因此专用于室外环境,距离场阴影。由于阴影渲染必须考虑阴影的几何体贴图,因此会占用大量的资源,但是如果不考虑几何体本身,而是通过对阴影进行预测,那么渲染的速度会大幅提升。通过Mesh DistanceFiled函数可以视点与物体之间的距离,将网格体距离场信息存储在内存中,因此可以提升长时间运行的效率。虽然距离并不是很准确,但是用于远距离阴影足矣,这样就可以设置非常远的阴影了,不过不能用于骨骼网格体。光追阴影。既可以单独使用,也可以混合使用。嵌入式阴影。用于提升角色展示效果。各对象本身阴影。用于提升角色展示效果。接触阴影。用于产生细小的阴影。

间接影响:

胶囊体阴影。属于大幅简化的阴影,适用于所有骨骼网格体,因此对于生成大量单位的阴影并且阴影要求不高的时候,具有很好的效果。距离场环境光遮蔽DFAO。适用于非常大并且非常重要的对象,对于精细的对象效果并不好,主要适用于天空光照等室外环境。它使用世界场景中的距离场网格体来给环境光遮蔽着色。光追AO。

2.4 反射

采用堆叠设置方式,从而最大限度减少开销最高的效果。

反射捕获-》平面反射-》

反射捕获,性能开销最低,捕获的信息存储在硬盘中,因此可以在世界场景中放置大量的反射捕获。平面反射。精度偏低,性能开销较大,只适用于完全平整的表面,例如地板。墙壁、金属表面并不适合。屏幕空间反射。可以随时调整质量。光追反射。

2.5 其它设置

可以设置天空和大气、指数高度雾和大气雾。

雾:

高度雾。用于设置远处和高处雾的淡出效果。大气雾。远距离雾。指数高度雾。可以用来处理体积雾,会读取光照贴图及其设置,用于渲染体积材质。

半透明:

材质:设置混合模式和着色模型。半透明度:可以设置屏幕空间反射、光照模式、。其中光照模式主要使用:体积无方向、逐顶点体积无方向、表面向前着色(效果最好,开销最大)。

2.6 后期处理

标准色调映射器。执行色调映射实现颜色校正、色调校正、对比度校正。泛光。包括:标准反光、卷积设置(游戏中默认不用,因为性能开销较大)屏幕空间AO,SSAO。SSSSS,屏幕空间次表面散射。通常用于皮肤的屏幕空间特效,主要适用于人,树叶也可以。SSGI,屏幕空间GI。在整个屏幕空间内实现近似全局光照的效果。景深。包括:高斯景深(用于游戏,效果较差,性能较好)、散射景深、圆形或过场动画景深。曝光度。可混合物。可以使用材质编辑器来进行后期处理,以此来实现各种特效效果。属于内置特效,因此包含在引擎之中,通过可混合物可以启用:粒子、晕映、镜头炫光、尘土遮罩、色差

2.7 性能

主要设置CVar

三:其它 统计数据面板。可以合并网格体细节模式。远阴影。类似于远处消退的级联影影贴图。光照范围。可以设置最大绘制距离,还可以生成蓝图去检测距离。材质开销。半透明度。半透明材质的指数十分影响性能,因此在设置材质时应尽可能的关注。使用体积无方向进行测试的速度最快,但是显示的阴影十分模糊。烘焙光照。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3