Lumen 是Unreal Engine 5的全动态全局照明和反射系统,开箱即用。它专为建筑可视化等游戏之外的下一代游戏机和高端可视化而设计。在这里,我们将介绍 Lumen 的功能并概述技术细节。

全局照明当光离开光源时,它会照亮从该光源可见的所有表面;这在计算机图形学中称为直接照明。但在现实生活中,它并没有止步于此,它会从表面反弹,并在移动过程中拾取表面的颜色。从粗糙表面向各个方向反射的光称为漫反射间接照明或全局照明。从光滑表面镜面反射的光称为反射。最终,光线到达您的眼睛或相机,并形成图像。

过去,对于大多数游戏来说,全局光照必须在称为光照贴图烘焙的离线过程中解决,因为它的计算成本太高而无法实时计算。在虚幻引擎中,光照贴图是通过CPU Lightmass或GPU 光照质量。来自光照贴图的静态光照可以提供非常高的质量,但需要很长的构建时间,并且极大地限制了游戏环境。任何以显着方式改变间接照明的动作,例如移动壁挂式电视,都会使照明处于错误状态。

需要这些动态场景的游戏一直依赖于低质量的基于辐照度探针的照明,以及诸如环境光遮蔽之类的近似值。在质量上与烘焙照明相媲美的全局照明仍然难以捉摸。

Lumen 实时模拟场景周围的光线反射,使玩家能够改变游戏世界的任何方面,间接照明自动更新。玩家可以摧毁大部分关卡,改变一天中的时间,或者淹没关卡的一部分,这些变化将自动传播到照明。游戏开发人员可以告别在虚幻编辑器中看到“需要重新构建灯光”消息。

Lumen 以高质量解决全局照明,包括渗色和间接阴影等效果。Lumen 支持无限漫反射反弹,这在具有明亮表面的场景中很重要,例如下图场景中的白色油漆。

Lumen 在解决全局照明的同时,也解决了天空阴影问题,这会导致室内环境比室外环境更暗。

Lumen还可以通过发光材料(例如下面的灯和窗户)传播照明,而无需任何额外费用。在导致噪声伪影出现之前,发射区域的小而亮是有限度的。发射性照明本质上比手动放置的光源更难解决。

Lumen还解决了半透明和体积雾的全局照明,尽管质量较低。在这里,自发光标志网格动态地照亮了体积雾。

思考Lumen 可以动态地解决任何表面、任何粗糙度的反射。这取代了反射捕获等预先计算的反射形式,以及平面反射和屏幕空间反射等有限技术。

但是,仅解决从相机直接可见的动态全局照明是不够的;Lumen 还提供在反射中看到的动态 GI 和阴影天窗。

Lumen反射支持涂层材料,例如这种车漆,其外涂层具有镜面反射,而内层具有更光泽的反射。

Lumen 中的光线追踪Lumen 使用光线追踪来解决这些照明特征,并使用场景的近似版本来实现更快的光线交叉。这个场景可以通过切换到流明场景视图模式来可视化。该视图显示了 Lumen 在追踪光线以进行全局照明和反射时“看到”的内容。

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

软件光线追踪还可以将网格合并到全局距离场中,从而提供非常快速的光线交叉,即使有许多重叠的网格——通常是手动放置的Megascans的情况。Epic 的技术演示Lumen in the Land of Nanite和Valley of Ancients仅使用全球距离场追踪,因为大量的网格重叠。

Lumen 还可以通过项目设置使用硬件光线追踪。硬件光线追踪更准确但更昂贵,代表的几何类型更多,包括蒙皮网格。镜面反射需要硬件光线追踪。

在The Matrix Awakens: An Unreal Engine 5 Experience技术演示中,高大的城市建筑阻挡了阳光的直射,让 Lumen 为大部分屏幕提供照明。

Lumen 在此演示中使用硬件光线追踪来实现高质量反射、蒙皮网格和巨大的视野范围。表面缓存当光线照射到表面时,Lumen 需要评估材质和入射光。在每条射线结束时这样做非常昂贵,而且效率低下;多条光线可能会射到同一个点,并且材质可能有很多纹理查找。Lumen 将此光照缓存在默认启用的Surface Cache中。

Lumen 通过选择从哪个方向捕获每个网格来开始填充 Surface Cache,这样它的所有表面都将被覆盖。随着玩家在世界中移动,Lumen 不断将附近网格的材质属性重新捕获到 Surface Cache 地图集中。Nanite 虚拟化几何系统极大地加速了这些网格渲染,尤其是在高多边形网格上,尽管 Lumen 不需要它。然后照亮这些表面,包括计算多反射全局照明和阴影天光,这将在反射中看到。Surface Cache 光照现在可用于加速全局光照和反射等功能。

Surface Cache 是 Lumen 的重点优化,但也有内容方面的考虑。特别是,只能支持具有简单内部的网格——墙壁、地板和天花板都应该是单独的网格。将包含家具的整个房间作为单个网格导入预计不适用于 Lumen。

Surface Cache View Mode 在没有覆盖的地方显示粉红色。这些区域在反射中将显示为黑色,并会导致与视图相关的全局照明,因为只有流明屏幕轨迹会处于活动状态。

最终聚集和去噪光线追踪是一项非常昂贵的操作,因此我们无法追踪很多光线。同时,屏幕上的每个像素都需要考虑接收来自场景中其他所有表面的光照;这就是为什么它被称为“全局”照明。我们不可能追踪所有方向的光线,所以我们必须选择一个小子集。如果我们错过了重要的方向,它将在最终图像中显示为噪声伪影,因此我们必须聪明地了解我们追踪光线的方向,并尽可能地重用那少量的痕迹。

对于漫反射全局照明,Lumen 使用基于辐射缓存的高级最终聚集算法,该算法已在 Siggraph 2021 上展示。

Lumen 的最终聚集使用屏幕空间辐射缓存对主屏幕的全局照明计算进行大量下采样。下采样的间接照明与全分辨率材质数据集成以产生全分辨率着色。

传入的Lumen在此辐射缓存中进行过滤,这极大地消除了噪声并重复使用相邻像素之间的宝贵轨迹。这与屏幕空间降噪器不同,因为我们仍在下采样的辐射缓存空间中操作,这更有效。

Lumen 非常谨慎地选择跟踪其光线的方向;它检查最后一帧有明亮照明的方向,这种技术称为入射光的重要性采样。前一帧的光照用于指导在这一帧中搜索光照,它提供的质量与我们追踪四倍多的光线相同,但运行速度更快。在下面的屏幕截图中,使用重要性采样选择了白色光线。

最后,Lumen 通过一种称为世界空间辐射缓存的技术,将附近的光照与远处的光照分开,并追踪更多的光线来解析远处的光照以减少噪点。当室内房间完全由进入小窗户的天空照明照亮时,这一点变得非常重要,并且是 Lumen 室内质量的关键。

对于粗糙表面上的反射,Lumen 无需额外成本即可重复使用屏幕空间辐射缓存。这也是 Lumen 能够在透明涂层材料(如汽车油漆)上提供第二层反射的原因,而成本不会增加一倍。

光滑表面上的反射会追踪额外的光线以找到反射光。这些光线发现的照明在相邻像素之间共享,并在帧之间进行时间累积以消除噪声。

所有这些采样和去噪技术一起对 Lumen 的质量和性能至关重要。流明不是为直接照明而设计的,但由于最终聚集质量,有时可以完全使用发射网格来照亮场景。在The Matrix Awakens: An Unreal Engine 5 Experience中,实验性夜间模式仅使用 Lumen 全局照明和反射来传播来自数百万个发光窗口网格的光;艺术家没有放置任何光源。

性能和质量Lumen 严重依赖于使用虚幻引擎 5 的时间超分辨率算法对 4K 输出进行时间上采样。这提供了最佳的最终图像质量,而不是在 4K 下以明显较低的质量设置运行 Lumen。
当引擎使用高可扩展级别进行全局照明和反射时,Lumen 可以在下一代游戏机上达到 60 FPS,但是这些设置的质量仍在进行中。

在另一个方向,Lumen可以通过以下方式提高质量:在后期处理音量设置中提高最终聚集质量使用硬件光线追踪当光线撞击表面时使用碰撞照明以获得更高质量而不是表面缓存随着设置的增加,Lumen 为建筑可视化提供了高质量的实时全局照明和反射。

希望您喜欢 Lumen 功能和内部工作原理的总结。Lumen 仍在开发中,我们正在努力改进它。特别是,我们正在努力在下一代游戏机上以 60fps 的预算运行时获得更好的性能和质量,并将其用例扩展到汽车、虚拟制作和电影渲染。

现实中会游戏制作会遇到电脑硬件配置不足带不动软件,前期硬件投入过大,还会遇到项目文件资产过大,游戏项目耗时久,本地资源无法释放的情况等,建议可以试试呆猫云桌面,云端制作快人一步。可以为UNREAL 用户提供云端制作输出方案,提高工作效率。用户在全国各地通过呆猫直接连接服务器,共享一套资产, 可以直接在呆猫上制作 / 修改工程文件,减少数据传输成本。

Lumen超全功能知识点来了,ue5初学者们必看相关推荐

  1. Houdini超全的电脑配置要求汇总,装机必看

    Houdini 以其程序生成专业知识而闻名,它已被用于包括<冰雪奇缘>.<里约热内卢>和<疯狂动物城>在内的众多大片中.Houdini 能够对所有传统几何图形.关键 ...

  2. 计算机一级windows系统操作知识点,计算机一级考试:高分必看知识点之windows操作...

    计算机一级考试:高分必看知识点之windows操作 1.设置任务栏的属性 执行"开始/设置/任务栏属性",在属性窗口设置相应的参数 2.设置"数字"." ...

  3. ESXI下安装OpenWrt/LEDE软路由教程(附超全功能固件镜像下载)

    注意 openwrt官网下载的镜像是个内核版本,等于是个纯净版的几乎没有什么功能,后续如果需要安装插件不稳定极容易出错,所以两条路,要么你在安装前会编译进去自己想要用的插件,要么在网上安装大佬们已经编 ...

  4. 超全zookeeper知识点与实战

    第1章 Zookeeper 1.1 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 配合其他服务器, 文件系统--存储各种服务器上线信息 通知机制--客户端 ...

  5. 单价数量和总价的公式_小学六年超全的数学公式!家长们赶紧给孩子看过来……...

    小学数学基础知识整理 (一到六年级) 小学一年级 初步认识加减法.学会基础加减. 小学二年级 完善加减法,表内乘法,学会应用题,基础几何图形. 小学三年级 学会万以内加减法,长度单位和质量单位,倍数的 ...

  6. 最全解析如何正确学习JavaScript指南,必看!

    划重点 鉴于时不时,有同学私信问我:怎么学前端的问题.这里统一回复一下,如下次再遇到问我此问题同学,就直接把本文链接地址发给你了. "前端怎么学"应该因人而异,别人的方法未必适合自 ...

  7. cad编辑节点快捷键是什么_3分钟成为CAD高手,最全的快捷键命令,工作再忙必看...

    CAD制图是一项高端的操作,一张图纸可以在方寸之间,展现出精妙的设计,很多新手觉得初学CAD太难,掌握一些常用的快捷键命令,3分钟就能成为CAD高手,工作再忙也要看. 一.学会格式转换 CAD文件打开 ...

  8. Android开发环境搭建【超详细-Android初学者入门必看】

    Android开发环境搭建 1.1. JDK下载地址,JDK简述 下载Oracle公司的JDK可以百度"JDK"进入Oracle公司的JDK下载页面,当前下载页面地址为 http: ...

  9. apk开发教程!那些年Android面试官常问的知识点,2年以上经验必看

    前言 下面的题目都是大家在面试字节跳动或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享. 参考解析:郭霖.鸿洋 内容特点:条理清晰,含图像化表示更加易懂. 内容概要:包括 Hand ...

最新文章

  1. 【机器学习基础】机器学习中的特征工程总结!
  2. java io字符输出流_Java字符输入输出流
  3. app和外部应用的关联及应用举例
  4. 算法与数据结构(part2)--Python内置类型性能分析
  5. 开源工具 @sap/ux-ui5-tooling 介绍
  6. 【剑指Offer学习】【面试题22:栈的压入、弹出序列】
  7. sqlite3 加密版本 下载_【平凡666】单机游戏管理器(支持未加密游戏管理) - 游戏相关...
  8. 树莓派系统安装及摄像头驱动
  9. 基于深度学习的图像修复
  10. 三级网络技术--宽带接入技术--XDSL
  11. Focal Loss 安装与使用 TensorFlow2.x版本
  12. There were 16888 failed login attempts since the last successful login
  13. 微型计算机数据处理的基本单位,计算机内部数据处理的基本单位是()。
  14. elasticsearch OOM
  15. 选择偏好(Selectional Preference)概念解释及其相关研究
  16. MOSS--SharePoint 开发学习一些总结
  17. pageinspect
  18. 图像采集卡的概念及作用原理
  19. 「敏捷模型」敏捷架构:规模化敏捷开发的策略
  20. 孙悟空与秦始皇是什么关系?

热门文章

  1. 第8章.商品详情页面之thymeleaf
  2. C++--【基础】--HEX、DEC、OCT数据转换
  3. python怎么写excel数据透视自动报表_使用Python生成自动报表(E
  4. 【小5聊】回看2022,展望2023,分享我的年度总结和感想,在一个行业十年,坚持下去你就是这个行业的专家
  5. QQ2010去除迷你首页O(∩_∩)O
  6. 最新100个微信小程序
  7. 锂电池电量百分比计算_锂电池充放电理论及电量计算方法详解
  8. 谁是软件测试的利益相关者?如何识别它们?
  9. errorCode 1045,state 28000: Access denied for user 'mysql'@'localhost' (using password: YES)
  10. 简单的股票行情演示(一) - 实时标的数据