查看原文
其他

技术前瞻 | 实时光线追踪又一进步(Unreal Circle南京站回顾视频同步公开)

虚幻引擎 2020-09-06

*在本文的最后,我们附上了来自Epic Games美国总部的官方工程师吴民杰在上个月的Unreal Circle南京站进行的演讲“解构Speed of Light”完整视频,请务必耐心阅读到最后或收藏本文以便日后查阅 




在SIGGRAPH 2018大会上,我们看到了虚幻引擎在实时光线追踪领域的又一进步。由Epic Games、英伟达与保时捷联手展示的实时渲染短片《Speed of Light》以保时捷超跑概念车为主角,通过光滑表面的多个光源交互演示了实时光线追踪技术的最新发展。这段实时渲染演示短片是英伟达主题演讲的亮点,重点展示了实时光线追踪的可能性。



主题演讲所展示的宣传片不仅是一部动画短片,还是一段交互式体验。用户可以在其中控制并编辑不同的光照配置,从而了解它们如何实时影响跑车的外观。


“我们在此项目中实现了一系列创新突破:一个完全采用光线追踪技术的动态场景,带有多盏阴影和纹理区域光源、真实的区域光照采样、光线追踪半透明和透明涂层着色模型、反射阴影去噪,以及屏幕空间实时光线追踪全局光照。”Epic Games嵌入式系统总监兼项目VFX总监François Antoine说道。


“项目由两个部分组成:短片‘观赏模式’和交互式光照工作室,两者采用了完全相同的车辆模型资源和渲染功能集。实际上,影片本身就是通过虚幻引擎的Sequencer在交互式光照工作室内实时拍摄的。”


这段演示以GDC 2018演示短片《Reflections》所展示的技术进步为基础。《Reflections》这段视频讲述了三位身着反光盔甲、采用光线追踪技术的星战人物的故事,并使用虚幻引擎进行实时渲染。《Speed of Light》则展示了自那以后虚幻引擎在光线追踪性能和速度两方面所取得的进展。



除了使用了比《Reflections》更全面的RTX功能集外,相比起《Reflections》所用到的四枚Volta GPU,该演示仅使用了两块NVIDIA Quadro RTX显卡。仅这一点就足以证明英伟达硬件正在快速推动实时光线追踪的发展并且为将该技术集成进虚幻引擎未来版本中做准备。


构思内容


当Antoine与首席技术官Kim Libreri在探讨虚幻引擎该如何充分利用NVIDIA Quadro RTX显卡所提供的功能时,演示内容的构思就逐渐浮现在脑海中。“当我们首次听说图灵的光线追踪功能集时,我们立即想到了一个以汽车为核心的项目,”Antoine说道。“汽车意味着各种各样的平滑反射、曲面反射,也就是业内所谓的‘液体线’”。


“我们谈到了一种能够在视觉上呈现保时捷Speedster精髓的方法,以及RTX和图灵在光照真实性方面为实时渲染行业带来的巨大提升。”他继续说道。“我们立刻想到了‘速度’和‘光’这两个词。”


团队齐聚SIGGRAPH 2018,并讲述了影视和交互作品背后的创新技术,其中包括《Speed of Light》演示短片。“短片可以无缝过渡到交互式体验,两者使用了完全相同的区域光源和车辆模型资源,多边形数量也一样,”Antoine说道。“即便这是一个完全动态的场景,并且在第一代硬件上运行,影片和光照工作室的真实程度仍然令人印象深刻。”


合而为一


制作这段演示不仅需要强大的硬件。团队从保时捷概念车的实际CATIA CAD制造文件入手,然后使用 Unreal Studio免费测试版提供的导入工具套件Datasmith将其导入到虚幻引擎中。


最初导入产生了4000万个多边形,所以团队选择性地将数量细分到不到1000万个多边形。但后来证明这个步骤并非必要,因为多边形数量降低四倍实际上对渲染性能的影响并不大。“事实证明,多边形数量对NVIDIA RTX渲染性能的影响不如光栅化渲染那么严重,这对于大型数据集的可视化而言无疑是一大利好,”Antoine说道。“相反,单像素的光线投射量是衡量性能影响的更佳标准。”


演示使用了各种不同的材质,由内而外充分呈现了概念车的各种细节,并且致力于确保反光和半透明表面看起来尽可能准确真实。为此,团队参考了大量真实材料,甚至拆卸了保时捷的真车零部件,以便更好地了解其内部结构及其与光线的交互方式。



这种方法在分析Speedster尾灯时尤为实用。“这种全新见解,加上光线追踪更为真实的物理行为,使得我们能够获得比以往更真实的尾灯,”他说道。


此外,团队邀请了X-Rite的色彩管理专家扫描了数个保时捷材料样本,例如皮革和油漆样品,并以专有AxF格式保存(此格式最近已获得Unreal Studio支持)。这产生了高分辨率的纹理和法线贴图,可用于汽车油漆的透明涂层,纯白色涂料和皮革座椅纹理。


“虽然这是我们首次尝试使用AxF,但事实证明,它有助于验证我们的材质外观,并且为最终成像作出了直接贡献。”


《Speed of Light》实时渲染


演示内容在实时播放期间同时用到了光栅化和光线追踪技术。首先是计算出光栅基础通道,然后启动光线追踪通道。“凭借这种方法,演示内容可以计算出传统光栅技术难以实现的复杂效果,”Epic Games首席光线追踪程序员Juan Canada说道。


光线追踪的工作原理是投射有限数量的光线,并对这些光线生成的光照/色彩进行采样。如果单独使用光线追踪,将需要大量光线和样本才能生成照片级真实感的图像,因此需要非常长的时间才能完成渲染。但是,如果为了缩短渲染时间而仅采集较少样本,图像看起来就会斑斑点点。


为最大限度减少光线和样本数量,同时仍然能够生成照片级真实度的图像,光线追踪技术使用了去噪处理。这种方法可减小相邻像素颜色之间的差异。去噪器并非一个模糊像素或平均像素的简单函数,而是一个考虑了诸多因素的复杂算法。事实上,光线追踪器的去噪器可以决定渲染器在速度和质量方面的有效性。


在《Speed of Light》中,英伟达优化了用于《Reflections》项目的去噪器。“这种去噪器现在可以通过单个样品处理包含光泽度和粗糙度的材质,通常是与数百或数千个样品参考进行匹配,”英伟达实时渲染软件高级经理Ignacio Ignacio Llamas说道。他将此贡献归功于英伟达软件工程师Edward Liu,后者在这项高级去噪技术的开发中发挥了重要作用。


你可以从光照条纹反射在汽车上的方式感受到快速高效去噪带来的效果。 按传统方法,RTX渲染将利用平面上的简单纹理来生成这样的效果。在《Speed of Light》中,条纹由带有光线追踪柔和阴影的动画纹理区域光源生成。这模仿了在真实摄影工作室环境中生成高亮条纹的方式,其中,光照影响了汽车材质的漫反射和镜面反射分量,从而创造出更加真实的光照行为。


除了展示实时渲染在反射表面取得的进步之外,这段演示还体现了实时光线追踪半透明取得的巨大进步。“它的工作原理是追踪来自摄像机的主光线,并选择首先只与场景中的半透明几何体相加,直到击中第一个不透明物体,而这是通过光栅化G缓冲来计算得出的,”Llamas解释道。“对于沿着光线找到的每个半透明层,我们随后会追踪反射和阴影射线。这些反射射线自身可能击中额外的半透明层,并且还会追踪到额外的阴影射线。”他继续补充道,目前的光线追踪半透明技术尚不包含去噪功能,但他们已打算将其加入光线追踪半透明的未来开发计划中。



屏幕空间光线追踪动态漫射全局光照进一步提升了汽车的光照率。现在比以前用到的光源数量更少,而且能够实现比以前更微妙的效果。


光线追踪技术进步带来的优势使得《Speed of Light》得以实时播放。“该短片在Quadro RTX 6000上的平均帧率大约为35到40FPS(1080p),高于我们在DGX Station上达到的水平,”Llamas说道。


推进技术革新


几年前,实时光线追踪似乎仍然遥不可及,但如今已经触手可及。随着光线追踪技术的不断发展,用户的设置和使用将变得越来越简单。不再需要反射探针、光照烘焙或复杂的光照方法来伪造光栅渲染的真实感。光照和反射将分离物理属性,因此不再需要变通方法。


“实际的创新技术比你注意到的还要多,而这是一件好事,”Antoine说道。“技术不应吸引你的注意,它只需要让图像看起来更合理。”


有几个因素在推动发展的过程中发挥了作用。首先,英伟达的显卡能以一定的速度追踪光线,从而生成高质量图像。


其次是DXR技术,以及一个提供了可以快速开发光线追踪架构环境的API。另外,去噪技术的进步同样发挥了作用。


Epic Games对于实时光线追踪的未来充满期待。“这项革命性技术将改写高真实度图像和体验的制作成本,”Epic Games资深产品经理Ken Pimentel说道。“您将无需再从物理真实性和华丽图像之间进行选择,虚幻引擎可以同时让你拥有这两点。”



在上个月刚刚过去的GTC CHINA 2018上,两位来自Epic Games美国总部的技术大咖,François Antoine与吴民杰,空降苏州会场,破例以两场叠加的形式为开发者带来关于Speed of Light项目的演讲。


两位技术大咖带来深度演讲 / 幸运参会者喜提英伟达显卡


而吴民杰更是在接下来的Unreal Circle南京站上,再次为南京的开发者带来该项目的解构与分析、并近距离解答现场开发者的提问。



未能至现场参加活动或希望配合本文再次复习的开发者,可立即点击下方查看吴民杰演讲全场回放。




III  近期焦点  III



如需获得更多虚幻引擎4的授权合作方式和技术支持,请发送邮件至EGC-Business@epicgames.com咨询;


如果你想来Epic工作,扫描下方二维码关注我们后发送关键词“招聘”,即可了解我们的最新招聘信息。Epic Games欢迎你的加入!

长按屏幕选择“识别二维码”关注虚幻引擎

“虚幻引擎”微信公众账号是Epic Games旗下Unreal Engine的中文官方微信频道,在这里我们与大家一起分享关于虚幻引擎的开发经验与最新活动。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存