×

Unreal5关于lumen相关知识点分享

发布时间:2021-06-24 09:46:52

Hello,大家好,今天给大家分享Unreal5关于lumen相关知识点,我是木偶心没。

感谢知乎Jiff的一张图解释了lumen的工作流程

0.png

稍微解释一下就是Lumen分为了两个部分,离线和实时运算

1、离线生成

离线部分就是首先为每个模型生成MeshCard。

1.png

MeshCard就是对每个mesh的捕获位置。但是mesh不能太过复杂,比如一个房间的的地面和墙等,需要被拆成单个mesh。以下这种就没有办法获取精确mesh card。

2.png

然后Lumen在各个meshcard捕获位置去获取每个mesh的材质属性等,并生成场景表面的自动参数化Surface Cache。Surface Cache可以快速查找场景中光线命中点的照明。

为静态模型生成Mesh Distance Field

Mesh Distance Field存储的是3D空间中的点距离物体表面最近的距离,就是软光追的一个加速器。有些mesh可能没有很好的距离场,并导致漏光的问题,所以可以直接在场景里面显示mesh distance field来检查问题。

3.png

然而在使用距离场mesh distance field之前,lumen会先使用屏幕空间追踪。因为屏幕追踪支持任何几何类型,可用于掩盖lumen场景和三角形场景之间的不匹配。并且屏幕空间追踪精度高。

如果在未找到命中或光线从表面后面通过时就使用mesh distance field来进行软光追。虽然lumen用mesh distance field去进行光线追踪效果已经很好了,但是考虑性能问题,渲染器将mesh distance field合并为global distance field以加速追踪,也就是,在每个mesh的前2米内使用mesh distance field去光线追踪(detail tracing),剩下的就直接使用global distance field去追踪整个场景(global tracing)。

4.png

上图红色表示Screen Trace,绿色表示mesh distance field,蓝色表示Global distance field。

2、实时运算

Lumen Scene就是一个进行软光追的低模场景,是很多的Mesh Card组成。

5.png

由于lumen scene只对摄像机附近的世界而不是整个世界进行操作,所以lumen在渲染的时候依靠Nanite的LOD和多视图光栅化来快速捕捉场景来更新surface cache。

Lumen是基于LOD来进行计算渲染的,所以如果传统模型没有LOD计算会非常慢。如果需要instance static mesh,它必须是Nanite而不是传统模型,因为在Nanite的网格上会快很多(大概快了10-100倍)。

以下是Lumen在Nainte和lumen scene的渲染对比

6.png

然后使用AtlasTexture等来存储meshcards上面的光照信息,最后将缓存的光照信息进行最终的IndirectLighting计算。

在最后的渲染阶段,Lumen非常依赖用Temporal Super Resolution在内部使用超低分辨率进行渲染,比如说在内部使用1080p的分辨率进行渲染,然后输出4k的分辨率。但是需要注意的是,如果你在PC平时使用时,没有调节Screen Percentage而使用默认的100,则在内部也会用4k分辨率去渲染。

7.png

3、其他

另外lumen的各种模型限制,材质限制和工作流程限制官网都有列出来

8.jpg

虽然lumen在unreal5中有两种光线追踪方法,软光追和硬光追,但是由于两者的一些限制,同时开效果会更好。

软件光线追踪,可以在任何DX11或更高版本的硬件上运行,并且可以选择超快运行,但是只支持有限的几何类型。而硬件光线追踪效果很好,但是消耗也非常高。并且硬光追对于PC来说,只能用D3D12,显卡最低配置Nvida RTX-2000和AMD RX-6000。

在early access的unreal5中,lumen支持使用的硬件光追的部分,也只有reflection和部分Final Gather,所以在早期,我们需要同时使用软光追的距离场和硬件光追来让lumen工作。

另外硬件追踪只会用Nanite的proxy 进行计算。目前硬件光线追踪作用的场景不能太大,不能多于10000个实例。

硬件光追比软件光追慢大概一半,但是更准确。使用硬件光追的时候避免重叠的物体,如果从场景里面有复制粘贴出来的重叠mesh,则会计算速度会明显变慢。

另外Lumen Reflections和Ray Traced Reflection(硬光追)的区别:

Lumen Reflection支持:

屏幕追踪

软件光线追踪

动态GI的反射(via surface cache)

天光的移动阴影反射(via surface cache)

两层Clear coat的反射

Ray Traced Reflections支持:

光照贴图Lightmap Gi的反射

多次反弹的反射

未来会把更多Ray Traced Reflection的其他功能添加到Lumen Reflection中

来源:Thepoly公众号

返回列表>
热门课程

专业讲师指导 快速摆脱技能困惑

相关文章

多种教程 总有一个适合自己

专业问题咨询

你担心的问题 火星帮你解答

学员作品赏析
1903学员阮捍、徐珂小组作品

1903学员阮捍、徐珂小组作品

1903学员周德志小组作品

1903学员周德志小组作品

1903学员周德志小组作品

1903学员周德志小组作品

1903学员王悦、王思琪小组作品

1903学员王悦、王思琪小组作品

1903学员王悦、王思琪小组作品

1903学员王悦、王思琪小组作品

1903期学员阮捍、徐珂小组作品

1903期学员阮捍、徐珂小组作品

1903期学员阮捍、徐珂小组作品

1903期学员阮捍、徐珂小组作品

1903期学员阮捍、徐珂小组作品

1903期学员阮捍、徐珂小组作品

关于我们
关于我们
在线咨询 电话咨询
点击领取免费教程