虚幻5中Lumen提供哪些功能以及如何工作的

虚幻引擎 5 中的 Lumen 是一个完全动态的全局照明和反射系统。它可以在虚幻引擎 5 中使用,因此创作者无需自行设置。它是为下一代控制台和建筑可视化等高端可视化而设计的。那么它提供了哪些功能以及如何工作?

全局照明

当光离开光源时,它会照亮光可以到达的所有表面。这在计算机图形学中称为直接照明。在现实生活中,光并不止于此,它会从表面反射,呈现出相应的颜色,并照亮其他表面。从粗糙表面向各个方向反射的光称为漫反射间接照明或全局照明。从光滑表面镜面反射的光称为反射。最终,光线到达眼睛或相机形成图像。

过去,游戏的全局照明必须离线计算,因为计算量太大而无法实时计算。该离线过程称为光照贴图烘焙。在虚幻引擎中,光照贴图使用CPU LightmassGPU Lightmass进行烘焙。静态光照贴图提供高质量的光照,但需要较长的构建时间。它们限制了游戏环境。改变间接照明(例如移动壁挂式电视)会导致照明不正确,如下两张图所示:

 

传统上,具有动态场景的游戏依赖于基于辐照度探头的照明和环境光遮挡等技术来近似全局照明。高质量的实时全局照明一直难以实现。

Lumen 实时模拟场景周围的光线反射,通过自动更新间接照明来改变游戏世界。这意味着玩家可以破坏部分关卡、更改一天中的时间或淹没部分关卡,并且照明将相应地发生实际变化。不会再有“照明需要重建”的消息。游戏开发者在虚幻编辑器中进行更改时不再需要重建光照 - Lumen 可以实时处理它。

Lumen 提供高质量的实时全局照明,包括渗色和间接阴影等效果。Lumen 支持无限数量的漫反射光反射,这对于具有明亮表面的场景(例如下面场景中的白色疼痛)非常重要。

Lumen不仅可以解决全局照明问题,还可以处理天空阴影问题。天空阴影导致室内环境比室外环境显得更暗。 

 

Lumen 还可以准确地传播来自灯和窗户等发光材料的光,而无需任何额外的性能成本。然而,在出现噪声伪影之前,发射区域的小度和亮度是有限的。从发射材料传播光本质上比从手动放置的光源传播光更困难。

 

Lumen 还可以解决半透明材质和体积雾的全局照明,但质量较低。在下面的示例中,发射标志网格动态地照亮体积雾。

反射

Lumen 可以动态计算任何粗糙度水平的表面的反射。这取代了对预先计算的反射技术(例如反射捕获、平面反射和屏幕空间反射)的需求。

Lumen 仅仅解决从相机直接可见的动态全局照明是不够的;Lumen 还提供动态 GI 和在反射中看到的阴影天光。这可以实现更真实、更准确的反射。

 

 

Lumen反射可以准确地模拟涂层材料,例如汽车油漆,其外涂层具有镜面反射,同时内层也具有更光滑的反射。这使得涂层材料的反射更加真实。

 

Lumen 中的光线追踪

Lumen 利用光线追踪来计算照明效果。它使用场景的近似版本来实现更快的光线交叉。可以通过切换到流明场景视图模式来查看该场景。此视图显示当 Lumen 跟踪光线以计算全局照明和反射时,场景在 Lumen 中的显示方式。

 

默认情况下,Lumen 使用网格距离场,这是一种软件光线追踪技术。这是因为它不需要支持硬件光线追踪的显卡。距离场以允许光线快速相交的方式表示网格表面。

 

 

Lumen 中的软件光线追踪还使用全局距离场,将所有网格合并到一个距离场中。即使有许多重叠的网格,这也能提供非常快速的光线交叉——这是使用大量详细的 Megascans 资源时的常见情况。Epic在 Nanite 之地和远古之谷技术演示中仅使用全局距离场演示了 Lumen,因为这些场景中存在大量网格重叠。

表面缓存视图

当光线照射到表面时,Lumen 必须评估材料和入射光,这是昂贵且低效的。多条光线可能会击中同一点,并且材质可能有许多纹理查找。为了优化这一点,Lumen 将表面信息缓存在其默认启用的Surface Cache中。

表面缓存通过选择捕捉每个网格的方向来填充,以便覆盖所有表面。当玩家移动时,Lumen 会将附近的网格重新捕获到表面缓存图集中。纳米几何系统有助于加速这些渲染,尽管 Lumen 不需要它。然后,表面被照亮,包括多重反射全局照明和天空照明,这将在反射中看到。然后,表面缓存照明就可以加速全局照明和反射等功能。

Surface Cache 是 Lumen 中的一项关键优化,但也对内容有影响。只能支持具有简单外部的网格 - 墙壁、地板和天花板应该是单独的网格。将带有家具的整个房间作为单个网格导入预计不会与 Lumen 配合良好。Lumen 需要单独的网格来有效地缓存表面信息。

 

Surface Cache View 中的粉色区域缺乏全局照明覆盖。它们在反射中会显示为黑色,并导致与视图相关的照明错误,因为只有流明屏幕迹线在那里处于活动状态。

 

最终聚集和去噪

光线追踪是一项要求很高的操作,因此我们无法追踪很多光线。同时,屏幕上的每个像素都需要全局照明,其中考虑来自每个表面的光。我们无法追踪所有方向的光线,因此我们必须追踪一小部分。如果我们错过了重要的光线方向,它将显示为噪声,因此我们必须策略性地确定跟踪哪些方向并尽可能地重复使用跟踪。

Lumen 使用基于辐射缓存的高级最终聚集算法来实现漫反射全局照明。Lumen 的最终聚集使用屏幕空间辐射率缓存来大大减少主屏幕的全局照明计算。缩小尺寸的间接照明与全分辨率材质数据集成,以创建全分辨率着色。

入射光在辐射缓存内进行过滤,这大大减少了噪声并重复利用了附近像素之间的少量光线轨迹。这与普通的屏幕空间降噪器不同,因为我们仍在下采样的辐射缓存空间中工作,这要高效得多。

 

Lumen 仔细地确定追踪光线的方向。它检查前一帧中具有明亮照明的方向,这种技术称为传入照明的重要性采样。前一帧的光照用于引导当前帧中的光线追踪位置,从而获得与追踪四倍光线相同的质量,同时运行速度更快。在下面的场景中,使用重要性采样选择白色光线。

 

最后,Lumen 将附近的照明与远处的照明分开,并为远处的照明追踪更多的光线,以通过一种称为世界空间辐射缓存的技术来减少噪音。当仅通过通过小窗户射入的天空光来照亮室内房间时,这一点尤其有价值,并且对于室内环境中的 Lumen 质量至关重要。

 

对于粗糙表面上的反射,Lumen 重复使用屏幕空间辐射缓存,无需额外费用。这使得 Lumen 能够在汽车油漆等光泽涂层材料上提供第二层反射,而无需执行两次单独的计算,这会使成本加倍。

所有这些采样和降噪技术对于 Lumen 的高质量和高效率至关重要。虽然 Lumen 不是为直接照明而创建的,但由于最终聚集的保真度,有时可以使用发射几何体完全照亮场景。在《黑客帝国:觉醒:虚幻引擎 5体验》中,实验性夜间模式仅利用流明全局照明和反射来传播来自数百万个发射窗网格的光线;艺术家没有添加任何光源。

 

性能和质量

Lumen 主要依靠虚幻引擎 5 的时间超分辨率算法进行时间上采样来实现 4K 输出。与以明显较低的质量设置在 4K 下本地运行 Lumen 相比,这可提供最佳的最终图像质量。

当引擎使用全局照明和反射的高可扩展级别时,流明可以在下一代控制台上达到 60 FPS,尽管这些设置的质量仍需要改进。

在其他方面,Lumen 可以通过以下方式提高质量:

  • 提高后处理体积设置中的最终聚集质量利用硬件光线追踪当光线照射到表面时利用命中照明来获得更高的质量,而不是表面缓存

随着设置的增加,Lumen 可以为高端建筑可视化提供高质量的实时全局照明和反射。

这就是关于虚幻引擎 5 中 Lumen 的全部内容。希望您喜欢这篇文章并掌握其功能和内部工作原理。

想要高效运行虚幻引擎5,可以试试赞奇云工作站

但是如果想要体验一下Lumen的强大,那么本地电脑算力要求可不低哦,在实际运行ue会遇到电脑硬件配置不足带不动软件,前期硬件投入过大,还会遇到项目文件资产过大,项目耗时久,本地资源无法释放的情况等,建议可以试试赞奇云工作站,云端制作快人一步。

赞奇云工作站可以为UNREAL 用户提供云端制作输出方案,提高工作效率。用户在全国各地通过云工作站直接连接服务器,共享一套资产, 可以直接在云工作站上制作 / 修改工程文件,减少数据传输成本。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/71908.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【TI毫米波雷达笔记】MMWave配置流程避坑

【TI毫米波雷达笔记】MMWave配置流程避坑 在TI SDK目录下的mmwave.h文档说明中 强调了要按以下配置: mmWave API The mmWave API allow application developers to be abstracted from the lower layer drivers and the mmWave link API.The mmWave file should b…

【设计模式】适配器模式

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子&#xff…

Android多渠道打包+自动签名工具 [原创]

多渠道打包自动签名工具 [原创] github源码:github.com/G452/apk-packer 程序体验下载地址:github.com/G452/apk-packer.exe 如果觉得有帮助可以点个小星星支持一下,万分感谢! 使用步骤: 1、在apk-packer.exe目录内放…

【数据结构】“栈”的模拟实现

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

FastAPI入门

目录 FastAPI FastAPI 是什么 为什么要用 FastAPI FastAPI 入门 安装 用 FastAPI 写个接口 调试接口 创建快捷请求 保存为快捷请求 发送请求 总结 FastAPI FastAPI 是什么 什么是 FastAPI 呢? FastAPI 是 Python 的一个框架,如果要类比的话…

Python-OpenCV中的图像处理-形态学转换

Python-OpenCV中的图像处理-形态学转换 形态学转换腐蚀膨胀开运算闭运算形态学梯度礼帽黑帽形态学操作之间的关系 形态学代码例程 形态学转换 形态学操作:腐蚀,膨胀,开运算,闭运算,形态学梯度,礼帽,黑帽等…

① vue复习。从安装到使用

vue官网:cn.vuejs.org vue安装 cnpm install -g vue/cli 查看是否安装成功 vue --version 创建一个项目 vue create vue-demo(项目名称) 这个取消掉。空格可选中或者取消。 运行项目: cd 进入到项目下 npm run serve 运行成功后,访问这…

【Linux】【驱动】驱动框架以及挂载驱动

【Linux】【驱动】驱动框架以及挂载驱动 绪论1.配置开发环境2. 编写驱动文件3. 编译Makefile文件4.编译5. 挂载驱动注意:有些开发板打开了或者禁止了printk信息,导致你看到的实验现象可能不一样,此时已经将文件移动到了开发板中,开发板查看文…

接口mock常用工具

在进行测试时,我们经常需要模拟接口数据,尤其是在前后端分离项目的开发中,在后端未完成开发时,前端拿不到后端的数据,就需要对后端返回的数据进行模拟。 如下一些工具,可以完成接口的mock。 Yapi 首先添…

Redis_安装、启动以及基本命令

2.Redis安装 2.1前置处理环境 VMware安装安装centOS的linux操作系统xshellxftp 2.2 配置虚拟机网络 按ctrlaltf2 切换到命令行 cd (/)目录 修改/etc/sysconfig/network-scripts/ifcfg-ens3 vi 命令 按insert表示插入 按ctrlesc退出修改状态 :wq 写入并退出 此文件必须保持一…

dbm与mw转换

功率值10^(dBm值/10),单位mW。 对于-5dBm,其功率值为0.3162 mW。 dBm 10 * lg(mW)

数学建模(二)线性规划

课程推荐:6 线性规划模型基本原理与编程实现_哔哩哔哩_bilibili 在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支:数学规划。而线性规划(Linear Program…

深入探索 Spring MVC:构建优雅的Web应用

文章目录 前言一、什么是 Spring MVC1.1 什么是 MVC1.2 什么是 Spring MVC 二、Spring MVC 项目的创建2.1 项目的创建2.2 第一个 Spring MVC 程序 —— Hello World 三、RequestMapping 注解3.1 常用属性3.2 方法级别和类级别注解3.3 GetMapping、PostMapping、PutMapping、Del…

【网络安全】等保测评系列预热

【网络安全】等保测评系列预热 前言1. 什么是等级保护?2. 为什么要做等保?3. 路人甲疑问? 一、等保测试1. 渗透测试流程1.1 明确目标1.2 信息搜集1.3 漏洞探索1.4 漏洞验证1.5 信息分析1.6 获取所需1.7 信息整理1.8 形成报告 2. 等保概述2.1 …

【Linux 网络】网络层协议之IP协议

IP协议 IP协议所处的位置网络层要解决的问题IP协议格式分片与组装网段划分特殊的IP地址IP地址的数量限制私网IP地址和公网IP地址路由 IP协议所处的位置 IP指网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。 网络层要解决的问题 网络…

对于git功能的探索与研究

读前提示 注意: 本文只是面向初学者或者之前并未接触过git而想学习如何初步使用git的读者,如果您很擅长使用git,并善于维护远程仓库,那么不建议您看此篇文章,这会浪费您的时间。 当然,这篇文章还是能很好地…

WinForm内嵌Unity3D

Unity3D可以C#脚本进行开,使用vstu2013.msi插件,可以实现在VS2013中的调试。在开发完成后,由于项目需要,需要将Unity3D嵌入到WinForm中。WinForm中的UnityWebPlayer Control可以载入Unity3D。先看效果图。 一、为了能够动态设置ax…

用chatGPT从左右眼图片生成点云数据

左右眼图片 需求 需要将左右眼图像利用视差生成三维点云数据 先问问chatGPT相关知识 进一步问有没有现成的软件 chatGPT提到了OpenCV,我们让chatGPT用OpenCV写一个程序来做这个事情 当然,代码里面会有一些错误,chatGPT写的代码并不会做模…

并发编程--------JUC集合

并发集合 一、ConcurrentHashMap 1.1 存储结构 ConcurrentHashMap是线程安全的HashMap ConcurrentHashMap在JDK1.8中是以CASsynchronized实现的线程安全 CAS:在没有hash冲突时(Node要放在数组上时) synchronized:在出现hash…

案例12 Spring MVC入门案例

网页输入http://localhost:8080/hello&#xff0c;浏览器展示“Hello Spring MVC”。 1. 创建项目 选择Maven快速构建web项目&#xff0c;项目名称为case12-springmvc01。 2.配置Maven依赖 <?xml version"1.0" encoding"UTF-8"?><project xm…