Lumen渲染笔记
1. Lumen全局光照取代了屏幕空间全局光照(SSGI)和距离场环境光遮蔽(DFAO)。Lumen反射取代了虚幻引擎4的屏幕空间反射。
2. 启用 生成网格体距离场(Generate Mesh Distance Fields) 后,需要重新启动引擎。Lumen的全局光照和反射效果可以在不重新启动编辑器的情况下启用/禁用,如果你希望对比使用和不使用Lumen时的不同效果,这个特性就很重要了。
3. 启用Lumen后,静态光照的贡献会被禁用,并且所有光照贴图都会被隐藏。
4. Lumen能提供无限次数的漫反射。
5. 天空光照是通过Lumen的 最终采集(Final Gather) 来解决的。天空光照还包括天空阴影,它可以让室内空间比室外暗得多的。
6. Lumen还能为带光半透明和体积云提供较低品质的全局光照。
7. 自发光材质通过Lumen的最终采集发射光线,并且不需要额外的性能开销。但是,自发光区域的大小和亮度可能会受到限制,因为太小太亮会造成噪点瑕疵。相比手动放置光源,这种方法具有内在的缺陷,解决起来困难得多。
8. Lumen解决了间接高光或反射相关的问题,使之能应对完整的材质粗糙度数值范围。
9. 所有反射中都能看到漫反射全局光照和带阴影的天空光照(shadowed skylight)。此外,Lumen反射还支持透明涂层材质。
10. 虚幻引擎5抢先体验版中的Lumen支持以下功能:
(1) 支持所有光照类型。这包括定向光源、天空光源、点光源、聚光光源和矩形光源。
(2) 仅在定向光源上支持光源功能。
(3) 不支持将移动性光源设置为静态,因为静态光源完全存储在光照贴图中,而其贡献被Lumen禁用。
11. 如果项目选择了 动态全局光照方法(Dynamic Global Illumination Method) 和 反射方法(Reflection Method) ,Lumen就会启用。
项目设置中还包含一些其他默认设置,它们同样会影响Lumen:
(1) 软件光线追踪模式(Software Ray Tracing Mode) 提供了用于选择追踪方式的选项。
(2) 细节追踪(Detail Tracing) 可以追踪个体网格体的距离场,从而进行最高质量的渲染,但需要更高的性能成本。
(3) 全局追踪(Global Tracing) 可以用最快的追踪速度来追踪全局距离场,但品质将会下降。
(4) 在可用时使用硬件光线追踪(Use Hardware Ray Tracing when available) 使用支持的硬件来追踪场景几何体上的光线,否则将会在不满足这些条件时默认使用Lumen的"软件光线追踪"。对于存在超过一万个实例的场景,硬件光线追踪需要巨大的场景更新性能成本,而且还要求启用"支持硬件光线追踪"。
(5) 支持硬件光线追踪(Support Hardware Ray Tracing) 启用受支持的显卡、RHI和操作系统来追踪场景几何体上的光线,以使用光线追踪功能来获得最高的品质。
(6) 生成网格体距离场(Generate Mesh Distance Fields) 会为静态网格体生成距离场并显示,Lumen中的"软件光线追踪"会用到它。它还能与其他动态光照和阴影方法一起使用(使用了距离场以及可移动天光和定向光源)。
12. 后期处理体积在 全局光照(Global Illumination) 和 反射(Reflections) 属性部分中提供了Lumen相关的重载设置。
方法(Method) 属性会使用项目设置中的 全局光照(Global Illumination) 和设置的 反射(Reflections) 方法(除非此处被覆盖)。Lumen是项目的全局光照和反射方法。
各个方法的品质通过以下方式控制:
(1) 最终采集品质(Final Gather Quality) 能提升Lumen全局光照的品质,并减少要渲染的噪点,但会增加渲染时所需的GPU成本。
(2) 品质( Quality) 能提升表面上的Lumen反射品质,并减少要渲染的噪点,但会增加渲染时所需的GPU成本。
13. Lumen光照更新速度,Lumen使用了大量的缓存来获得实时性能。尽管局部光照的改动会快速生效,但全局光照的改动需要等待一会才能开始生效(例如禁用日光)。
14. 禁用项目的静态光照,在使用Lumen时,移除了来自静态光照的预计算光照。在项目设置中取消选中 允许静态光照(Allow Static Lighting) 旁边的复选框,可以为项目完全禁用预先计算的光照。
禁用静态光照还可以节约一些由于着色器排列(shader permutations)引起的静态光照开支。它还可以让材质环境光遮蔽输入和材质弯曲法线使用Lumen全局光照。
使用静态光照的项目会把自身的光照贴图加载到内存和磁盘中,除非关卡在世界设置中启用"强制不使用预计算光照(Force No Precomputed Lighting)"。然后,你需要重新创建光照并保存关卡。
15. 材质弯曲法线,Lumen全局光照支持材质弯曲法线贴图(Material Bent Normals Maps),该贴图可以用于在骨骼网格体上提供可靠的自遮挡。
要在Lumen中使用材质弯曲法线,你需要进行以下操作:
在项目设置中禁用 允许静态光照(Allow Static Lighting),从而在GBuffer中腾出空间。
在项目的 DefaultEngine.ini 配置文件的 [SystemSettings] 部分中设置 r.GBufferDiffuseSampleOcclusion=1 ,然后重新启动编辑器。
设置材质,以输出到 BentNormal 自定义输出节点。