0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Imagination 基于 O3DE 引擎的光线追踪 Demo 详解

颖脉Imgtec 2022-11-30 15:47 次阅读

今年,Imagination技术团队参加了在旧金山举办的游戏开发者大会(GDC),期间展示了与亚马逊网络服务(AWS)合作创建的光线追踪demo。

在本文中,我们将重点介绍开创性的移动光线追踪的实现,这是与亚马逊网络服务(AWS)合作完成。亚马逊网络服务(AWS)是开源实时3D引擎(O3DE)的主要创建者,该引擎可支持使用光线追踪实现实时动态计算全局照明。


光线追踪的强大功能

光线追踪是一项强大的技术,允许开发人员通过计算光线在3D 引擎渲染器内的反弹情况来增强游戏动画,或任何实时计算生成的图像。挑战在于它是计算密集型的,这就是为什么 Imagination 的IMG CXTGPU IP中的 PowerVR Photon 架构在帮助实现使此类实时计算所需的功率和带宽效率方面如此关键。IMG CXT 代表了五级光线追踪级别系统的第一个4 级解决方案。

光线追踪级别系统94a9edb6-7045-11ed-b116-dac502259ad0.png

光线追踪模拟了光线在现实世界中的工作方式,光子从光源发出并在场景中反弹,直到到达观察者的眼睛。光线追踪可以在3D 渲染中以多种方式使用,以生成灯光和阴影,使 3D 场景看起来更逼真。虽然游戏中的光线追踪通常用于创建逼真的反射,但如果它用于全局照明 (GI),它可以真正模拟3D 场景在现实世界中的表现。

基于另一种(基于探针的)计算和使用场景内的二次光反弹方法,全局照明告诉渲染器场景环境的哪些部分更暗、更亮,以及灯光如何在附近对象之间扩散(强度和颜色)。为了更好地了解反射和GI 的视觉影响,请查看我们为启动 IMG CXT GPU 而创建的光线追踪演示,它们带来的差异非常明显。它演示了GI 如何比仅使用反射更有效地创建真实感。

我们于 2021 年 7 月开始着手 O3DE演示,在 O3DECon大会(开源3D基金会的官方大会)展示结束后,我们与开发人员取得了联系。O3DE 是 AmazonLumberyard 的演进,捐赠给 了Linux 基金会,并由合作伙伴委员会和公众组成的委员会开发和维护。我们花了第一个月的时间从长远角度评估引擎的性能,找出它可以为我们的演示团队提供哪些可能性。

我们发现该引擎可以使用光线追踪来实时动态计算GI,因此我们决定将其用作即将到来的演示的主要功能。从那里开始,与 AWS 开发人员的展开了紧密合作,我们互相帮助;我们测试了引擎,并向开发人员提供了持续的反馈,基于这些反馈,他们实现了一些缺失的功能。

结果是我们称之为“Buon(GI)orno”的图形演示。


GI 如何对实时变化做出反应的演示

由于引擎处于早期阶段,该项目确实给我们的艺术家和图形工程师带来了一些挑战。然而,通过时间和耐心(以及远见),我们设法同步,然后将我们的努力集中到现在非常易于使用的AAA 引擎中。

事不宜迟,这里是“BuonGIorno”图形演示。这是一个意大利式小村庄的风格化表示,并展示了使用光线追踪后全局照明如何实时工作。


第 0 节 – Buongiorno!视频是我们在 GDC 上展示的演示的更新版本,下面我们将解释屏幕上发生的事情(可参照以下时间节点查看):– 0:00 到 0:15 :简介。– 0:16 到 0:28 :基本功能描述。– 0:29 到 0:51 :颜色扩散和光遮挡。– 0:52 到 1 : 05:RTGI 对整个场景的影响(开/关)。– 1:06 到 1 :28 :当场景中的材质和光照条件发生变化时,由于光线追踪,引擎实时动态处理RTGI 效果。– 1:29 至 2:00 :场景展示,由 Imagination 的 PowerVR Photon 架构 + 混合渲染提供支持,使用 O3DE。


关于 O3DE 引擎

我们将首先简要介绍负责开发O3DE 的团队。他们是艺术家和工程师的集合,他们的角色是通过图形演示展示创新技术和功能。他们从使用新软件中受益,因为这有助于他们增强作品的视觉效果,而公司则从性能数据收集中受益,这些数据代表了在发售设备中实施时,它们将如何在硬件上运行。

94d19af0-7045-11ed-b116-dac502259ad0.jpg

如果您对 O3DE 感兴趣,那么入门很简单。您可以从O3DE 的网站下载引擎,在稳定版本或每日构建版本(其中包含最新更新)之间进行选择。与任何新事物一样,第一步可能令人生畏,但不要担心,坚持下去,您会在短时间内就适应它。

开发人员正在努力根据社区反馈(尤其是我们的反馈:作为引擎的早期采用者,我们与主要的O3DE 合作伙伴之一 AWS 密切合作)发布修改和更新,并提供有关如何使用这些功能的文档。那么,经过测试,O3DE 带来了什么?嗯,O3DE 具有其他游戏引擎的所有典型特征,例如多线程渲染器、数据驱动的动画系统、实时物理引擎等等。

正如我们上面提到的,O3DE的突出之处在于,与其他游戏引擎不同,它可以使用光线追踪实时动态地重新计算 GI,使其成为展示我们IMG CXT的硬件光线追踪功能的完美合作伙伴。

除了 GI,我现在将介绍其他几个主题,以展示熟悉引擎是多么容易,并根据我们在制作BuonGIorno 演示过程中学到的知识,为您提供一些提示。


创意工作流程

对于开发人员来说,从项目的第一天开始就有清晰的想法是多么重要,我怎么强调都不过分。制作演示或视频游戏是一个艰巨的过程,因此您必须从一开始就拥有具体的愿景才能获得好的结果。这意味着了解项目的目的。例如,我们演示的主要目的是展示如何通过使用光线追踪GI,从物体扩散的鲜艳色彩可以实时动态地影响周围环境照明和附近的实体。这就是我们如何想出创建一个意大利风格的小村庄并创建有彩色房屋的想法。


通过光线追踪 GI 影响二次光反弹的材质开关

我们首先收集参考资料,并制作由白框组成的场景(或布局)的初稿,然后我们迭代相同的想法,实现简单的动画和基本的技术功能。通过这种方式,您可以立即了解您的概念是否有效,以及它的可行性。完成并获得批准后,我们开始制作构成场景所需的资源。

第一阶段是对资源进行建模。您甚至可以使用照片扫描或其他技术,但请注意,游戏引擎通常需要您生成经过优化的资源,因此您需要注意一些事项。

  • 密切关注多边形数量。
  • 注意模型的拓扑。
  • 根据您的 UV 接缝指定平滑组。
  • 调节 UV 岛的分布和间距,以避免颜色溢出。

达到这种优化水平意味着您将能够制作干净的高多边形到低多边形“烘焙”(这意味着通过某些贴图通道将细节从高多边形造型投影到同一模型的低多边形版本,例如凹凸、法线或高度)。这对于认为资源已准备好接收动画和纹理至关重要。

说到这里,让我们进入资源制作流程的下一部分,即创建纹理贴图和材质。

目前,基于物理渲染(PBR) 的 O3DE 工作流程要求您为每个材质通道设置独立的纹理贴图。然而,在未来的更新中,开发人员正在努力提供使用称为“纹理打包”的技术的可能性。除此之外,要导出的纹理贴图的数量和类型取决于您对着色器的要求。事实上,并不是每个着色器都针对相同的用途进行了优化或需要相同类型的纹理。

例如,在创建新的PBR 材质时,O3DE 允许您在不同的着色器之间进行选择,每个着色器都支持不同的功能和纹理贴图。这样您就可以决定哪一个更适合您的需求。我希望您注意到,在O3DE 中这些不同版本的 PBR 材质之间,有一点是它们都支持 “辐照度”。

94de70ae-7045-11ed-b116-dac502259ad0.png

O3DE 中不同 PBR 材质预设中的辐照度

如果您可以在所有三个PBR实现技术中找到它,这一定很重要,对吧?

正确的!这是因为O3DE 中的辐照度是一个通道,当使用带有“乘”值的 GI 来管理颜色扩散的强度时,它决定了从该特定材料扩散出什么颜色。在实施 GI 时,您需要注意这一点。

让我们进入下一部分,这将是关于O3DE 中的资源和功能实现的。


O3DE 中的资源和功能实现

如何使用资源填充关卡是开始可视化演示或视频游戏的第一件事。您只需从场景内的资源浏览器中拖动FBX 或 GLTF 文件(3D 文件的行业标准文件格式),就会自动创建具有网格组件的“实体”。从那里,您可以根据每个资源在场景中的用途开始添加“组件”。例如,让您的关卡感觉生动是在演示或视频游戏中实现的最重要的事情之一,因此您需要知道如何在某个点为某些对象或角色实现动画。

O3DE 有两种不同的动画方法,一种最适合蒙皮(变形)对象,另一种最适合非蒙皮对象。第一种方法涉及将Actor 组件与 Simple Motion 组件或在 O3DE“动画编辑器”中创建的运动系统一起使用。如果您不需要为实体蒙皮,您可以使用“轨迹视图”编辑器并创建序列,在其中将动画“关键帧”直接放入编辑器。选择取决于您的需要,但请注意,O3DE中仍然不支持蒙皮对象主动影响 GI。对于开发人员来说,此功能仍在开发中,他们希望尽快实现它。

94edf880-7045-11ed-b116-dac502259ad0.png

非蒙皮对象会影响光线追踪 GI 探测器的实时激活,而蒙皮对象则不会。


预制件

预制件是一种特殊类型的组件,它允许将配置完全的游戏对象(O3DE中的“实体”)保存在项目中以供重复使用。然后,可以在场景甚至其他项目之间共享这些资源,而无需再次配置。这对于将被多次使用的对象非常有用;因此,它们至关重要,尤其是在关卡创建的模块化或程序化方法上。O3DE 以预制件为中心,甚至您的关卡也会自动设置为预制件。


使用 Prefab 实例化游戏对象(实体)的强大功能

预制件在 O3DE 中很容易创建:您可以通过右键单击实体来完成- 然后您必须决定将其存储在项目中的哪个位置。然后,您只需从“资源浏览器”访问它们,复制并通过双击它们从视口或大纲中进行编辑。您现在只需单击几下即可将您的更改从一个预制件反映到所有实例化副本!

我们现在已经知道如何在编辑器中实现资源了——但是如果您看不到演示或视频游戏,那它又是什么?因此,下一个主题是照明。我不会专注于基本的照明特性,但我想让你知道如何应用GI。

O3DE 中的 GI功能强大。首先,如果需要,它可以一次使用多个光源,包括定向灯、点光源、聚光灯和区域灯。接下来,它可以计算二次光反弹,既可以为您使用硬件光线追踪核心来进行动态计算,也可以作为探针与光源的单一交互进行烘焙。第三,也是最重要的,GI也很容易设置。

您需要执行以下操作:

  • 1. 首先,转到您的“LevelName.prefab”并添加一个名为“DiffuseGlobal Illumination”的组件。2. 选择您希望在场景中具有的GI 质量级别。3. 创建一个新实体,并向其中添加一个“Diffuse Probe Grid”组件(O3DE 将要求您创建一个“长方体组件”以确定将包含和分布探针的体积边界)。4. 通过设置 GI 体积的尺寸并将其移动到场景内需要的位置来定义GI 体积的边界(它必须完全包含您希望受 GI 影响的实体)。5. 开始调整 GI 参数,例如Probe Spacing、“Number of Rays per probe”、“Ambient Multiplier”(应保持为 1)和偏差。您可以通过激活探针的可视化,来帮助自己在这些参数之间达到正确的平衡(“show active/inactive probes”,这是 O3DE 中最近添加的功能)。6. 确保 GI 实体处于活动状态,模式设置为“实时(光线追踪)”,并开始在体积影响内播放实体、灯光、材质和动画。您会注意到GI 会实时适应您的更改,从而提供更好的整体环境照明。这就是光线追踪 GI 的强大之处。

7. 任何这些步骤和设置都可以随时查看和修改。

最后,我想谈谈如何完成和导出您的项目。

完成项目时需要注意的是后期处理。设置后处理FXS 很简单:它需要将“PostFX 层”组件添加到实体,然后您可以开始将所有其他单个效果组件添加到同一实体。目前, FX 功能有很多后处理特性可选,例如屏幕空间环境光遮蔽、自动或手动曝光控制、HDR颜色分级、色差、光晕等。

其他功能,例如光线追踪屏幕空间反射,是O3DE 开发人员正在开发的东西,希望很快就会实现。

94fff0da-7045-11ed-b116-dac502259ad0.jpg

一些可用的后处理效果在 O3DE 中作为实体内部的“组件”实现。


测试和导出您的工作

O3DE 编辑器可以随时播放和测试您的关卡,跟踪顶点计数、图元计数、绘制项目,并监控FPS速率。除了播放按钮外,还有一个物理模拟按钮,供想要尝试该功能的人使用。

要导出您的作品(特别是我们演示的视频),您可以从轨迹视图中设置“camera director”,并创建最终的可播放序列。从那里,您可以直接在引擎中录制视频。


结论

您现在了解了我们在创建BuonGIorno 演示时了解的有关 O3DE 的所有内容。从本质上讲,我们想要展示的是 ,O3DE 是多么容易实现既熟悉又惊人的新功能,以增强您在演示和视频游戏中的视觉效果。通过关注全局照明而不仅仅是反射,我们了解了光线追踪如何帮助当前和下一代开发人员制作更好、更逼真的环境照明。

虽然目前还没有在O3DE 中同时实时运行光线追踪反射和光线追踪 GI 的选项,正如我多次提到的,开发人员正在开发它!感谢他们的努力,并且感谢 Imagination移动和桌面PowerVR Photon 架构,这些功能将很快成为视频游戏和实时 CGI 世界的标准,让每个人都能享受更好的视觉效果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • imagination
    +关注

    关注

    1

    文章

    570

    浏览量

    61270
  • 光线追踪
    +关注

    关注

    0

    文章

    183

    浏览量

    21462
收藏 人收藏

    评论

    相关推荐

    基于光线追踪实现反射折射效果

    本文翻译自Scratchapixel3.0[1],是一个关于计算机图形学的系统性的学习教程。如果有误,欢迎在评论区讨论。光线追踪的另一个优点是,通过扩展光线传播的思想,我们可以非常容易地「模拟反射
    的头像 发表于 11-09 01:07 118次阅读
    基于<b class='flag-5'>光线</b><b class='flag-5'>追踪</b>实现反射折射效果

    基于光线追踪的渲染算法实现

    我们已经涵盖了所有需要说的内容!我们现在准备写我们的第一个光线追踪器。你现在应该能够猜到光线追踪算法是如何工作的了。首先,注意到自然界中光的传播只是从光源发出无数条射线,反弹直到它们撞
    的头像 发表于 10-30 08:06 205次阅读
    基于<b class='flag-5'>光线</b><b class='flag-5'>追踪</b>的渲染算法实现

    制造业升级新引擎:单北斗有源终端赋能精准定位与追踪

    制造业作为实体经济的主体和现代化产业体系的核心,其升级转型对于推动高质量发展具有重要意义。在这个过程中,北斗有源终端产品凭借其精准的定位与追踪功能,为制造业的升级提供了新的引擎。顶坚北斗有源终端一
    的头像 发表于 10-24 10:06 147次阅读
    制造业升级新<b class='flag-5'>引擎</b>:单北斗有源终端赋能精准定位与<b class='flag-5'>追踪</b>

    光线追踪算法概览

    本文翻译自Scratchapixel3.0[1],是一个关于计算机图形学的系统性的学习教程。如果有误,欢迎在评论区讨论。由伊本·海塔姆描述的现象解释了我们看到物体的原因。基于他的观察,可以得出两点有趣的评论:首先,没有光,我们什么也看不见;其次,如果我们环境中没有物体,我们也看不到光。如果我们在星际空间旅行,这通常就会发生。如果我们周围没有物质,我们只能看到
    的头像 发表于 10-12 08:07 123次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>算法概览

    光线追踪的工作原理

    本文翻译自Scratchapixel3.0[1],是一个关于计算机图形学的系统性的学习教程。如果有误,欢迎在评论区讨论。注:本课程更多地是关于3D渲染的一般介绍。如果您有兴趣了解射线跟踪技术,请查看
    的头像 发表于 09-30 08:05 173次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>的工作原理

    Imagination GPU为边缘智能提供高效率的加速

    作者:Imagination
    的头像 发表于 09-11 13:10 211次阅读
    <b class='flag-5'>Imagination</b> GPU为边缘智能提供高效率的加速

    AMD光线追踪专家加盟高通,共筑Adreno GPU性能新高度

    在科技行业日新月异的今天,顶尖人才的流动往往预示着技术创新与突破的新篇章。近日,一则令人瞩目的消息在半导体与图形处理领域引起了广泛关注——AMD前光线追踪技术领域的杰出专家Paritosh
    的头像 发表于 07-11 10:03 549次阅读

    解码AI驱动的DLSS 3.5光线重建功能

    神经网络渲染器提高了光线追踪图像质量,使用可在采样光线之间生成更高质量像素的 AI 网络取代需要人工设计的降噪器。
    的头像 发表于 05-11 11:06 484次阅读
    解码AI驱动的DLSS 3.5<b class='flag-5'>光线</b>重建功能

    MediaTek携手望尘科技通过移动端光线追踪技术打造沉浸体育游戏体验

    MediaTek携手望尘科技(GALA Sports),在手游领域实现了光线追踪技术的革命性应用。该技术现已成功融入望尘科技旗下的钓鱼与篮球体育游戏中,极大地提升了玩家的视觉沉浸体验,让游戏画面更加逼真。
    的头像 发表于 05-07 11:39 663次阅读

    MediaTek携手望尘科技共同推进移动端光线追踪技术在手游中的应用落地

    MediaTek 与望尘科技(GALA Sports)携手合作,共同推进移动端光线追踪技术在手游中的应用落地,将该技术成功导入了望尘科技旗下的钓鱼和篮球体育在线类游戏,为玩家带来更具沉浸感的逼真游戏画面。
    的头像 发表于 04-18 10:04 354次阅读
    MediaTek携手望尘科技共同推进移动端<b class='flag-5'>光线</b><b class='flag-5'>追踪</b>技术在手游中的应用落地

    边缘光线理论基础

    边缘光线理论在实际的二次光学设计中应用十分广泛,由于实际光源不可视为点光源,多为扩展光源。通过对光线的控制,中心光线可以控制目标光斑的最大照度值,通过边缘光线来设计光学系统的照明范围。
    发表于 04-11 09:54 801次阅读
    边缘<b class='flag-5'>光线</b>理论基础

    微软:SSD固态硬盘可降低显存占用,提高光线追踪性能

    其专利说明如下:由于光线追踪加速结构常需占用其他数据存储空间(如几何图形和纹理数据),导致系统需大增内存负担,且所需带宽大。本文方法旨在缓解这一问题。
    的头像 发表于 03-25 15:46 512次阅读

    下一代掌机芯片,深度学习、光线追踪还有与VR/AR联动?

    、英伟达、AMD 和高通等。然而,对于下一代掌机芯片,我们还有什么可以期待的突破呢?   深度学习+光线追踪   要说卖得最好的掌机芯片,那无疑是任天堂Switch掌机所搭载的英伟达Tegra X1 SoC,凭借全球 1.3 亿台的出货量,Tegra X1可以说为英伟达
    的头像 发表于 01-09 00:04 1582次阅读

    追踪器arduino原理

    追踪器 (LDR) 是一种基于光敏电阻的光测量器件,常用于测量光强度和控制感应器。在 Arduino 上使用 LDR,可以实现对光线进行检测、测量和控制的功能。本文将详细介绍 LDR
    的头像 发表于 12-08 10:22 1401次阅读

    服务汽车全生命周期,Imagination详解智能座舱解决方案

    上周,2023智能汽车芯片技术研讨会(AutoSemi)在上海圆满举办,来自OEM、一级供应商、汽车半导体设计等专业人士围绕汽车半导体相关议题展开讨论。Imagination中国区技术支持总监艾克
    的头像 发表于 11-29 08:27 509次阅读
    服务汽车全生命周期,<b class='flag-5'>Imagination</b><b class='flag-5'>详解</b>智能座舱解决方案