今天是2020年11月23日 星期一
正文共:6560字 64图 预计阅读时间17分
上一期我们认识了基本灯光以及参数那么接下来我们就实际使用下,看下场景中是如何设置参数之间如何配合才能烘焙出更好的效果。
首先我们先创建一个场景,对场景进行一个基本配置
后处理
【明度色彩相关的后处理】
举例说明:
UE4的空场景中是有默认的后处理场存在的,将镜头摇下来,对准地面能看到自动曝光的变化过程【如下所示】:
因此,调节场景时无法锁定显示效果,故需要先加入自定义的后处理场,将默认的后处理效果“覆盖”。【setting中有对特定后处理禁用的选项;这里不建议直禁用某项功能 】
具体设置:
【反射相关的后处理】
SSR【基于屏幕空的反射】经由相机逆向查找物体对应位置关系计算所得,并非通过HDR手段绘制反射效果。效果在镜头中心位置很真实,边缘由于算法问题会出现真空带(非常明显);故此用于模拟粗糙表面的反射较好。
举例说明:
由于场景中没有天光(或其他HDR信息提供者)故一个镜面物体的显示效果应当为纯黑,而此时【如下所示】
具体设置:
将屏幕空间的反射强度归零【如下所示】
列举三种HDR反射效果
天光内添加HDR
动态采集添加HDR(捕获场景环境)
静态HDR(手动载入hdr)
如何为良好的照明准备资产 照明前的基本设置重要内容重复
Post-processing 设置(打光前) 在对场景打光前,需要对 PP 进行一些设置以便得到一致的光照烘焙结果。 (视频10:00 处) ■ 关闭 Auto Exposure (操作:将min brightness和max brightness都改成1) ■ 关闭 SSAO 以及 SSR (操作:ambient occlusion和Screen Space Reflection的intensity改成0) 屏幕空间环境光遮挡(SSAO)是一种近似因光遮挡而导致的光衰减的效果 文档详解 https://docs.unrealengine.com/en-US/Engine/Rendering/LightingAndShadows/AmbientOcclusion/index.html 屏幕空间反射(SSR)是默认情况下启用的一种效果,可更改对象在“材质”表面上的外观。 文档详解 https://docs.unrealengine.com/en-US/Engine/Rendering/PostProcessEffects/ScreenSpaceReflection/index.html ■保持默认 tone mapper (tone mapper,色调映射,其过程可以被认为是模拟胶片对光的响应的一种方法。) ■ Vignetting = off ■ Bloom = off 正确的光照预览参照球材质设置如下: ■ Chrome Sphere 铬球 ■ Base Color 1 ■ Metallic 1 ■ Roughness 0 ■ Grey Sphere 灰度球(50%灰度,sRGB) ■ Base Color 0.18(Linear) ■ Roughness 1 ■ Metallic 0 ■ Directional Light 3.14(π) 这时在视窗里应该会得到一个接近 0.5 灰度的场景,可以用截图软件在外部用 PS 检测一下。使用烘焙的照明,您将获得GI(全局照明)
您有便宜的柔和阴影,因为它们是烘烤的,因此无法评估
它对全球GPU的要求不高。
这里是缺点。您的迭代速度较慢。
每次更改内容时,都需要重新烘烤。
照明是静态的。基本上,这意味着没有任何动作
这需要更多的内存,因为所有的光
烘焙光照贴图中的内容,然后将其存储在内存中。
所见即所得基本上,您所做的任何调整都是您在屏幕上看到的内容,它是完全实时的,因此您可以调整所有内容
光照贴图存储光照信息,并打包成纹理
每个光照贴图都是HDR纹理的集合
另外,它不仅存储光强度,而且还存储光的方向
当然,光照贴图的分辨率越低生成速度越快。您的迭代速度更快。您还会得到一个非常柔和的阴影。
光照贴图分辨率越高,生成速度就越慢 但是您有更好的阴影
当您烘烤照明时,仅烘焙两种类型的光静态和固定的要注意的一件事是,定向光点光源和聚光灯是目前唯一能发出光子的光子。天光不发射光子。这意味着什么?只有一个反弹,因为它们不发射光子。
Lightmass光照烘培
01.GI(间接光)计算实际是造成目前次世代游戏引擎不真实的罪魁祸首,UE4其实完全能达到离线渲染的GI质量水平,关键是参数的调整和 大量的计算时间,关于GI也就是LightMass计算的调节,UE4在编辑器中给出了4个预制档位。 以下谈论的部分不涉及LightMass光照贴图的分辨率影响。光照贴图分辨率越小越好,如果你明确阴影产生的是锯齿而不是噪点,那就该加分辨率。 这四个档位实际上只是针对具体的基本参数的倍率关系,具体倍率在 Epic Games/4.9(你的引擎版本号) /Engine/Config/BaseLightmass.ini 文件中(记事本打开)Crtl+F搜索对应档位关键词可以找到。可以自己调也可以保持默认以防调整太夸张。 02.另外在引擎中另一个地方的参数同样会影响基础烘培参数,那就是“世界设置”,如下 涉及到的参数包括 1. Static Lighting LevelScale (下文简称SLLS),世界尺寸缩放,这里的缩放指的用于计算光照的参考尺寸,而不是真正的改变场景尺寸,默认为1,可以小到0.1。 重点参数,越小计算采样的基础精度(采样数上升)越高。计算时间受该参数强烈影响。 Static Lighting Level Scale(静态光源等级缩放) 这可用于确定在照明中计算多少细节,较小的比例将大大增加构建时间和细节。增加细节。 1-0.5-0.2-0.1 2. Num Indirect LightingBounce (下文简称NILB),反弹次数,对计算时间影响不大,越高GI反弹次数越多,同时如果精度不够,也意味着噪点将会更容易产生。可以大到100。非重点参数。 Num Indirect/Sky Lighting Bounces:影响场景中中的亮度 3. Indirect Lighting Quality (下文简称ILQ),间接光计算质量,默认值1,可以大到10, 重点参数,对精度影响巨大,计算时间也和这个值成整倍数上升。 Indirect Lighting Quality(间接照明质量) 设置越高,会导致构建时间大量增加,但解算器穿帮(噪点、斑点)变少。减少噪点 在经验上,我们为了构建时间和最后质量做权衡,我们让他们有一个固定的关系 4. Indirect LightingSmoothness (下文简称ILS),结果模糊度,用于模糊计算结果,平滑噪点,基本保持1的值,过大细节丢失,过小噪点凸显。 Indirect Lighting Smoothness(间接照明平滑度):影响场景中中的亮度 Evironment color/Environment intensity 5. Diffuse Boost (漫反射增强):加 Diffuse Boost的值是增加场景中间接光照亮度的有效方式 6. Use Ambient Occlusion (使用环境遮挡): 使静态环境遮挡可以通过全局光照计算并内置到您的光照图中。 7. Direct Illumination Occlusion Fraction (直接照明遮挡率):多少AO应用于直接照明 8. Indirect Illumination Occlusion Fraction (间接照明遮挡率):多少AO应用于间接照 9. Occlusion Exponent (遮挡指数):指数越高,对比度越高 10. Fully Occluded Samples Fraction (完全遮挡样本比例): 为了达到完全遮挡,必须遮挡的样本的比例。 11. Max Occlusion Distance (最大遮挡距离): 一个对象对另一个对象造成遮挡的最大距离。 12. Visualize Material Diffuse (可视化材质漫反射): 仅用导出到全局光照的材质漫反射覆盖法线直接和间接照明。这在验证导出的材质漫反射与实际漫反射匹配时非常有用。 13. Visualize Ambient Occlusion (可视化环境遮挡): 仅用AO项覆盖法线直接和间接照明。这在调整环境遮挡设置时很有用,因为它隔离了遮挡项。 14. Compress Lightmaps (压缩):是否压缩lightmap 综上所诉,最终的质量由 “采样数量”和 “采样精度”共同决定,缺一不可。 下面来分别讲解这两者的调节,只讨论质量,不计时间成本。 采样数量”:在引擎中,受SLLS的值控制, 在文首提到的BaseLightMass.ini文件中, 也受 NumIrradianceCalculationPhotons 和 IndirectPhotonScarchDistance 两者共同的影响,就是说两者要调一起调,单独调没用。无论在引擎还是在ini文件中调,都行,选其一就行。如下图。 “采样精度”:在引擎中,受ILQ控制, 在BaseLightMass.ini中, 受NumHemisphereSamples 或者NumHemisphereSamplesScale的控制, 三者选其一即可。 光源设置灯光 indirect Lighting Saturatio n(间接照明饱和度) Shadow Exponent (阴影指数) 控制阴影半影的衰减,或区域从完全光照到完全阴影的变化速度 最后说一说渲染时间,想要好的效果,要花费不少的时间,如果是单台I7级别的电脑,简单场景高质量花费十多个小时很正常,复杂场景就更多了,所以建议有条件的使用引擎路径中的SwamCoordinator小软件 (可以在引擎安装目录搜索出来)联机渲染,效率高很多,具体设置这里就不展开了,Google 文献地址: https://mp.weixin.qq.com/s/CUVJ57s_qsCNzdVHw5OhNQ 下一期我们分享资源导UE4应该做哪些准备工作本期分享就到这里!更多精彩+++关注联系我们
下期见,学习不止,不止学习
微信群服务号
公众号
B站