跳转到主要内容
Unreal Engine

高品质渲染解析

Lumen适用场景:

  • 户外/室内 灯光
  • 工作室 灯光
  • 大世界 灯光

Lumen光线追踪:

  • 软件光追:实时更多,生成距离场计算的光追,是一种折中的方案
  • 硬件光追:离线方案,真正的追踪物体的三角面,需要使用DX12并且RTX2000以上的显卡
Lumen光追

Surface Cache 表面缓存

Lumen之所以性能能如此高,是因为Lumen会预先在场景中生成SurfaceCache,用更少的MeshCards生成一个简易的用于光追模型,能让光线更快的找到物体信息并计算。

如果模型过于复杂,简易的MeshCards无法精准的表达模型的外形,可以在模型的Details中增加MeshCards的数量用于生成更精准的SurfaceCache。

Surface Cache

因此,在制作一些复杂模型的时候,建议使用模块化搭建的导入,让SurfaceCache能够精准包裹单个模块即可。

模块化搭建

使用命令 r.Lumen.Visualize.CardPlacement 1 可以在视窗观察每个模型的MeshCards。

可视化MeshCards

lumen—表面缓存视图中:

  • 粉色部分:说明没有得到一个很好的表面缓存
  • 黄色部分:说明完全没有surfaceCache,主要表现在反射上不太正确
表面缓存问题

粉色问题解决方案

  1. 增加后处理体积PPV中的sceneDetail SceneDetail设置
  2. 提高MeshCards的数量 MeshCards设置
  3. 将模型拆开

黄色问题解决方案

  • 提高尺寸(不建议)
  • 检查模型

💡 在制作场景时,确保场景中的Mesh是合理的,不是由大量小的mesh组成的Merge,尽可能保持独立。

不合理的Mesh

过多小的mesh会产生不合理的Lumen漏光

建议:如果整体上是共面的Mesh(墙上的画框),合并在一起没有关系;如果存在过多的转角且挤出(墙上的书架),则不适合合并。

软件光线追踪

在室外场景,能达到完全实时的光照,并且性能很好。

  1. 将环境混合混合器的功能全部打开
  2. 将直射光设置为可移动,并将光线和太阳光绑定 光线设置
  3. 将skylight中的实时捕获打开

💡 LumenGI的颜色极大程度上受PBRShader上的AlbedoColor影响,它并非物理正确的渲染效果。

注意事项:

  • MehsCards如果都是特别规整的情况下,软件光追的GI效果将会非常好
  • Lumen对于镜面反射表现很差,这是Lumen的限制,无论如何也达不到RayTracing那种非常sharp的效果
  • Lumen的效果和贴图的Albedo固有色强相关,在有的颜色下,使用SurfaceCache的反射极易造成溢色的出现

MRQ设置

在视图中把可视质量设为电影级:

电影级质量

在MRQ中只需要开一个抗锯齿即可:

MRQ抗锯齿

分辨率越高,Count数越低。

Lumen 没有AO这个特性

Lumen暂时也没有一个很好解决透明的一个算法,所以这里也是沿用的RTX的算法。

Background Music