2018年5月21日

技术前瞻:使用虚幻引擎实现实时光线追踪

作者 Ken Pimentel

在GDC 2018上,我们见识了虚幻引擎令人振奋的新技术:光线追踪与实时渲染相结合。在NVIDIA和ILMxLAB的一次联合发布会上,Epic展示了这一全新突破,将实时渲染的质量推向了前所未有的新高度。

body-img1.jpg

离线渲染器早已在运用光线追踪技术实现逼真的效果,尤其是在具有大量反射和复杂的半透明材质(例如厚玻璃)的场景中。现在,在多家科技公司的共同努力下,我们将于2018年末在虚幻引擎4的主分支中发布对微软DXR API和光线追踪面积光影的支持。Epic预计在虚幻引擎4.22中发布对这些功能的二进制支持,更多功能在生产就绪后将陆续发布。

重要地位

渲染器通常使用两种方法来确定像素颜色:光栅化或光线追踪。光栅化从一个特定的像素入手,需要知道的是“这个像素应该是什么颜色的”。光线追踪则是从视角和光源入手,需要知道的是“这个光线的作用是什么”。

光线追踪的工作原理是跟踪光线在一个场景中的反射路径。光线每次反射,光线追踪都会存储光线之前撞击的物体颜色以模拟真实照明效果,而且还会减弱亮度。这种颜色存储可以形成鲜明的反射和细微又真实的颜色变化,某些类型的材质和效果只有通过光线追踪才能实现。
 
 
由于模拟的是光线的真实行为,所以光线追踪在产生面积阴影和环境光遮蔽方面的表现也十分出色。

相对的,光栅化是光线追踪的简化版,速度更快,资源占用更少,利用多个近似值计算照明。在速度快的GPU上,虚幻引擎的光栅化可以在高速GPU上以毫秒级水平交付4K分辨率帧。光栅化可以达到近似照片的效果,而不需要绝对的物理精度,其速度优势已经能让大多数虚幻引擎客户觉得物有所值。

但是对于真人电影和建筑可视化项目而言,逼真度比性能更加重要,光线追踪提供的高水平保真度是光栅化难以实现的(即使并非不可能)。直到现在,由于其极高的计算要求,光线追踪仍然只能在离线渲染中实现。使用光线追踪计算的场景可能需要数分钟到数小时才能完成一帧的计算,而要制作一秒电影动画,则需要24帧。

Epic Games资深渲染程序员Juan Canada表示,“在传统做法中,光线追踪已经被应用于制作流程的许多方面。即使某个作品计划使用光栅渲染达到实时高分辨率效果,但他们可能会使用光线追踪渲染静态画面和动画,为美术提供参考目标,或是作为光栅,甚至是最终像素效果的对比参照”。

“如果光线追踪能够实时完成,这些‘真实’的参照渲染就可以更快速地完成。这意味着,可以通过更多的渲染或多次迭代来达到更好效果,而不必花几个小时甚至几天来渲染几张图片。”

Canada补充道,能够使用光线追踪“让整个制作流程变得更容易掌控,因为你可以更轻松地获得最终结果。”

技术简介

实时光线追踪(它原本是一个悖论)的实现方法是使用最新的GPU和机器学习方法组合了大量计算能力,并在不需要光线追踪的情况下结合使用光栅技术。这种软硬件组合时至今日才能实现,是多家公司共同辛勤努力的结果。

Windows开发人员十分熟悉微软DirectX API,它长期以来被广泛用于偏重媒体的Windows应用程序(包括游戏引擎),以优化图形显示。微软最近开发了新的DXR(DirectX Raytracing)框架,这是利用最新的DirectX 12工作的API。

同时,NVIDIA发布了NVIDIA RTX,这是在NVIDIA Volta架构GPU上运行的光线追踪技术。NVIDIA携手微软,通过微软DXR API实现了完整的RTX支持。

diagram.jpg

Epic通过使用微软DXR和NVIDIA RTX技术,利用该管道创造了实时电影《反射》。

演示视频

为了在GDC 2018上宣布这一成果,Epic开始创建能够充分展示实时光线追踪技术光彩的演示。Epic与NVIDIA的光线追踪专家、ILMxLAB以及卢卡斯影业的沉浸娱乐部门展开了合作。

为制作这次演示,团队从ILMxLAB提供的高品质参考镜头着手,结合各方力量创造必不可少的模型。美术认真地重建每一个细节,从突击兵盔甲上的微小划痕到Phasma披风上的编织纹路。所有材质都是按照能够对照明做出自然反应的标准构建的。

场景搭建和摄影工作是直接在虚幻引擎中组合的。Epic利用自己的虚拟制作技术来拍摄演员/导演在虚拟现实中的表演。

这种技术的大部分功能已经内置到虚幻引擎中。但现在有了光线追踪,场景会呈现出栩栩如生的新效果。在光线追踪技术的帮助下,Phasma队长的盔甲那镜子般的曲面上了呈现出动态而精准的反射。

body-img2.jpg

《反射》演示以1080p分辨率和每秒24帧的速度在虚幻引擎中运行。反射、环境光遮蔽和纹理面积照明阴影都是使用光线追踪实时计算的。通过光线追踪,一些具有挑战性的效果,例如柔和阴影和光泽反射显得更加自然,明显提高了场景的真实感。

Epic团队与NVIDIA工程师合作,利用多种方法和光线跟踪实现了真实效果,包括反射去噪和细节减少。他们也在GDC 2018上举办了有关这些技术、挑战和取舍的深入演讲。
 
 

未来趋势

在最早发布的版本中,虚幻引擎渲染器将解决使用光栅渲染最难模拟,但使用光线追踪可直接处理的流程。

Canada表示,“我们将开始集成一些在GDC上展示的功能,比如用于精准面积阴影计算的光线追踪和用于景深处理的全新电影后期处理。我们还会添加一些新组件,让我们可以渲染折射等其他效果,并朝着这个方向继续努力。”

这对未来的电影制作意味着什么呢?光线追踪技术已经在电影和建筑可视化领域运用多年,已经成为生成逼真图像的标准技术。这种图像使用离线渲染器需要几个小时才能渲染完成,但现在虚幻引擎实现了光线追踪后,此类图像就可以实时渲染了。

这意味着导演、美术和设计师能够更快速地迭代,尝试新照明场景和摄影角度。最终,这将降低制作成本,并能够制作出互动性更强的内容。

《反射》GDC演示可以在配备四个使用了NVIDIA RTX技术的Volta GPU的DGX Station上运行。目前来说,您需要这种水平的硬件设施才能利用实时光线追踪。未来,我们可以依靠摩尔定律来降低这种技术封装和交付的成本与复杂性。DXR性能与分辨率有关,就像离线渲染一样,但是,由于虚幻引擎仍在执行其自己的渲染,因此性能将与场景有很大关系。

虽然《反射》演示需要在尖端硬件上运行,但Epic将这次演示视为起点,而不是终点。目前,NVIDIA提供了这次实时光线追踪演示使用的支持DXR的硬件,但AMD已宣布,他们将来也会提供DXR驱动程序。

Epic企业工程总监Sebastien Miglio表示:“我们将继续研发,让这种技术变得更加轻量级,更易于使用。它现在还处于初级阶段,但我们预计,光线追踪很快就可以在任何工作室中都能见到的常见电脑上运行了。”

Miglio还表示:“《反射》作品展示了Epic致力于引领未来的决心,这不仅仅是游戏的未来,更是需要高保真沉浸体验的任何领域的未来。很久以前,虚幻引擎就定义了高保真、高性能的标准。现在有了DXR,我们还将继续提高这个标准。使用虚幻引擎的客户大可放心,我们携手并进的道路一定是通往未来的最佳捷径。”

立即体验未来

虚幻引擎可能还需要数月才会集成光线追踪,但您现在可以立即使用实时光栅渲染。为帮助您入门,Epic引入了Unreal Studio,这是一套能够将CAD数据导入虚幻引擎的工具。

Unreal Studio包含不受限制的虚幻引擎使用权限、可从大部分CAD和建模程序导出数据的插件,以及大量有关如何准备、导出和导入场景的学习资料。

已准备好尝试虚幻引擎,但需要入门帮助?请立即注册申请Unreal Studio免费测试版,获取导出插件、视频学习资料以及众多功能吧!