利用 NVIDIA 的 Unity HDRP 的光线追踪功能

PIERRE YVES DONZALLAZ / UNITYTechnical Art Manager
Jan 25, 2021|8 Min
利用 NVIDIA 的 Unity HDRP 的光线追踪功能
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。
我们很高兴地宣布,Unity将在NVIDIA即将举办的一场网络研讨会中展示高清渲染管线(HDRP)中的最新光线追踪功能,以帮助专业人士为其高端可视化和游戏项目光线追踪(目前处于预览阶段)做好准备。

NVIDIA网站注册参加现场网络研讨会。该活动将于太平洋时间 2021 年 1 月 27 日星期三上午 10:00 开始,将持续约 1 个小时。如果无法参加,您可以稍后观看会话级别/会话次数的广告需求/广告主。

所有现场网络研讨会的参与者都将参加抽奖,有机会赢得一(1)个NVIDIA®Quadro RTX™ 5000!但是,您必须注册并参加整个现场研讨会才有资格参加。

什么是光线追踪?

对于光照场景,光线追踪包括从摄像机或表面向其他表面和光照结构(尤其是在摄像机视图之外)发射光线,以生成光照。电影制作和高端可视化广泛使用光线追踪。然而,直到最近,以合理的帧率渲染此类图像所需的计算能力使得该技术无法用于实时应用。因此,数十年来,游戏一直在使用另一种方法:光栅化。简单地说,它就是通过找出哪些光线会影响像素来对屏幕上的像素进行着色,实际上它根本不涉及光线追踪的概念,并且由于其屏幕空间特性而受到一些限制。

幸运的是,随着硬件加速光线追踪技术在最新主流GPU中的普及,光线追踪技术将很快成为生成光照的新规范,尤其是在高端平台上。高清渲染管线 (HDRP) 混合了传统的光栅化和光线追踪技术,提供了一种混合光线追踪管线。它提供了常见光照效果的光线追踪版本,例如环境光遮挡 (AO)、反射、全局光照 (GI)、次表面散射和阴影。

例如,可以看看这个令人印象深刻的 2019 年 BMW 8 系轿跑车展示,这是 Unity、NVIDIA 和 BMW 合作的成果。它演示了实时光线追踪如何以离线渲染解决方案时间和成本的一小部分提供逼真的结果。

HDRP的光线追踪功能目前处于预览状态,因此不一定能投入生产。不过,我们也非常欢迎大家前来试用并在论坛上提供反馈。

研讨会内容

研讨会将利用Unity 2020.2中提供的全新HDRP模板。

因此,在下载Unity 2020.2后,您将能够按照研讨会中给出的说明进行操作。启动项目非常简单:在Unity Hub中创建一个新项目,选择高清渲染管线模板,然后单击Create按钮。

在Unity Hub创建新项目

在目前版本中,HDRP模板仅使用光栅化技术通过烘焙光照贴图、光照探针组反射探针阴影贴图等渲染光照。因此,研讨会的第一步是快速转换模板以利用光线追踪。

稍后,我将更详细地介绍HDRP中可用的4种主要光线追踪效果,即光线追踪环境遮挡反射全局光照阴影。最后,我将以HDRP的路径追踪结束会话级别/会话次数,这是一种更蛮横的光线追踪方法,它以大幅增加渲染时间为代价提供更高的视觉保真度。

光线追踪环境光遮挡 (RTAO)

十多年来,屏幕空间环境光遮挡(SSAO)一直是游戏实时渲染的主要手段。它用于模拟环境的漫射光遮挡,以改善世界中对象之间的视觉接触,并使凹陷区域的光照变暗。但是,这种效果如果太过张扬,可能会在几何体周围产生光晕,甚至产生卡通效果。除此之外,这种屏幕间隔技术的一个主要缺点是无法从帧外的对象生成遮挡,因为它只依赖z缓冲区中可用的深度信息。从正面来说,这种效果更适合处理摄像机视野内小区域的微遮挡,性能成本相对较低。

希望得益于光线追踪,光线可以射到摄像机视锥以外的表面,从而能够到达框架以外的对象。这样一来,摄像机周围的大型对象就可以产生巨大的宏观遮挡。虽然从技术上说,AO只是环境光照的粗略近似值,但它可以补充其他光照技术,例如分辨率或密度有限因而无法捕捉微遮挡的光照贴图或光照探针。

光线追踪反射 (RTR)

类似于SSAO,屏幕空间反射(SSR)只能反射帧内的对象:同样,摄像机无法立即看到的表面也无法被反射。分层看地板会导致SSR技术无法提供任何有用的信息。因此,SSR 是非常近似的,并且该技术往往有许多反对者,包括您,因为静态反射探针的良好广告位通常可以为大多数静态场景提供更具吸引力和更少干扰的结果。但是,SSR照单全收的一个方面是处理平行于视角的表面(如地板、墙壁和天花板)的平面反射。SSR的一个最佳用法是摄像机的镜头间距被锁定,比如赛车游戏。

但是,通过光线追踪,我们能够获得屏幕外的信息,因此,我们可以提供更加精确的世界反射,至少在摄像机周围的某个半径范围内,由光簇和光线长度定义。

Ray Traced Global Illumination(光追全局光照)

光线追踪最令人印象深刻的功能之一是生成实时全局光照的能力,即模拟间接光照,或者简单地说,模拟光照在环境中的反弹。

在游戏引擎中,间接光照通常使用预先计算或烘焙技术(例如光照探针或光照贴图)处理,它们可以大大缩短美术师和设计师处理光照的迭代时间。

幸运的是,HDRP 为 RTGI 提供了两种技术:性能和质量。前者适用于直射光下的高帧权重场景,而后者则能通过多次弹射和采样在更复杂的室内提供非常精确的结果,但运算成本非常高。

光线追踪阴影

开箱即用的阴影过滤质量(PCSS)可让HDRP提供精美的阴影贴图,模拟阴影的自然平滑度,同时确保阴影投射物附近保持清晰,就像在现实生活中一样。但是,如果使用成本更低的 Medium 过滤质量,则结果可能会不佳,因为无论投射物和接收器之间的距离如何,整个阴影贴图都会得到统一过滤。

光线追踪阴影可以显著改善结果,它可以从表面向光源发射光线,以确定它们之间的遮挡量。因此,这可以以中等的性能成本提供极其逼真的阴影近似值。此外,HDRP 支持透明阴影!

路径追踪

最后,路径追踪能让美术师以比传统离线渲染器快得多的速度生成高质量的图像。光线从摄像机射出,每当它们击中一个表面,我们就向其他表面和光线发射其他光线(即光簇结构 ) 。光线在摄像机和光源之间的传输称为路径,因此称为路径追踪。

与上述其他光线追踪方法相比,路径追踪的优势在于它提供了一个统一的流程来生成所有光照,例如阴影、反射、折射和全局光照。该技术的主要缺点是渲染时间和噪点。对于后者,我们可以在几秒钟内累积样本,以获得更低的噪点。

结语

希望在观看了这次即将开始的研讨会之后 , 你们将更好地了解Unity中可用的光线追踪功能 , 并且你们应该能够大大提高可视化 , 甚至实时游戏的视觉质量。

我们期待您参加研讨会,并现场回答您的问题!你也可以在Unity光线追踪论坛向我们提问和留下反馈。

作者简介
Pierre Headshot

Pierre Yves Donzallaz(图形研发技术美术经理)在 AAA 的实时渲染领域有十余年的技术美术经验,他拥有深厚的技术和美术背景,擅长光照、关卡美化、UX、工具设计和工作流程改进。

他曾参与过多款屡获殊荣的游戏和大型 3A 级作品的制作,包括《危机》系列、《Ryse:《Son of Rome》、《侠盗猎车手V》和《Red Dead Redemption 2》。

目前,他是 Unity 研发图形团队的成员,负责领导其他技术美术师,他们的使命是提高美术师的效率、教育全球用户以及与工程师和设计师一起开发新的工具、工作流程和图形功能。

Anis 头像

Anis Benyoub(高级图形开发研发工程师)目前正致力于拓展游戏与实时应用的渲染管线,以支持实时光线追踪。Anis热衷于研究蒙特卡洛积分,物理性渲染和实时渲染的性能(他也常在社区里和大家分享知识)。

在加入 Unity 之前,他曾先后在 Pretty Simple GamesAutodesk 担任 3DS Max 的 3D 研发工程师和 Stingray 游戏引擎的核心软件工程师。他拥有蒙特利尔工程学院计算机科学硕士学位(计算机图形方向)和里昂国立应用科学学院计算机科学工程硕士学位。