(本视频转载自YouTube:视频原址)
RTX背后的技术可以用于各种用途,但实时光线追踪最常见的应用是大大改善阴影和反光。通过使游戏中光线的行为和现实中保持一致,RTX使游戏中出现的阴影和反光的细致程度与可信度达到了全新的水平。这方面最惊人的例子之一就是反光不再受到屏幕空间的限制。远在玩家屏幕空间之外的光源依然会在各种表面上造成反射。虽然乍看起来这种效果的缺失似乎并不明显,但实际上它造成的差异是惊人的。这就是那种直到亲眼看见你才知道自己曾经错过的东西。地板和玻璃材质映照出屏幕空间以外的物体。窗户上映出的蓝色全息影像实际上是在宇航员身后的一个房间里。
同样,RTX渲染出的阴影不仅在形状上近似投影物体,也能实际表现阴影在现实中的行为。结果就是游戏的逼真度和可信度都进一步提高。
实现光线追踪的一个重要环节是性能。最新的硬件能够达到令人惊叹的效果,但这还只是第一代光线追踪硬件,也就是说我们还达不到让所有光源都产生光线追踪阴影之类的疯狂目标。在光照方面,我们尽量巧妙处理,把重点放在几个确实能从光线追踪阴影显著获益的聚光源上。有一件事需要牢记,在光源中使用任何光源半径、光源长度或软光源半径,都会使它的开销大于单纯的一个点。如果阴影只是从一个点投射的,那么渲染器就不需要对阴影进行降噪处理,渲染一帧的时间会减少。遗憾的是,当光源不是单纯的一个点,而是一块发光的面积时,光线追踪阴影才是最漂亮的。面积光源给整个阴影增加的柔和度是使光线追踪阴影显得突出而真实的要素之一。我们还决定让定向光源投射光线追踪阴影。这大大提高了逼真度,看来也是目前最理想的光线追踪阴影应用。因此所有物体的近接阴影都比较清晰,而离投影物体越远,阴影就越柔和。
注意电台旋钮上的各个阴影。
实时光线追踪对开发者来说是一种全新的工具,和所有工具一样,它的成功不仅取决于你通过它所能实现的成果,也取决于它的实用性。特别是对我们这样的小型独立开发商而言,日常的现实和有限的资源要求我们使用节省时间的工具和方法。当RTX对开发者公开时,《飞向月球》的润色阶段已经接近完成。这款游戏逼真的画面是它的主要卖点,因此我们知道应该使用实时光线追踪。但是实现这种技术就意味着返工,这有可能打开潘多拉魔盒。对它进行的风险和可行性评估得出了积极的结果,这在很大程度上要归功于它在虚幻引擎中的集成。这对我们来说是个决定性因素。
宇航员在窗户上的反光和左侧把手的阴影都展示了RTX技术。
在游戏基本做完之后实现RTX,意味着需要调整一些材质和光照设置。对于《飞向月球》,我们把重点放在反光方面,因为这对视觉效果影响最大。
半透明的反光要求我们对玻璃主材质做一些更改。最大的更改是降低粗糙度和减少精细法线。以前我们在玻璃上做了一些小斑点,这使它显得更有工业气息和沧桑感,但是在使用光线追踪渲染后,它就显得“出戏”了。通过调整粗糙度和法线,我们得到了需要的结果。下面显示了修改前后的对比。除了改善画面,还需要提高性能。设置精细而且对比强烈的法线意味着被追踪的光线会更多地散射,因此需要有更多光线才能得到精美的图像。这个因素和粗糙度共同决定了半透明材质的性能影响。
窗户着色器上的精细法线使光线追踪反光的噪点过多。
简化的法线提供了清晰的半透明反光,并提高了性能。
我们必须考虑的另一个问题是折射光线的数量。这就是指光线可以穿过半透明材质的次数。理想情况下,我们希望把它设置为三到四次,因为我们有许多可能会重叠的窗户和粒子。遗憾的是,这对性能不太有利,因此我们不得不将它设置为一次。然后,我们使用英伟达的虚幻引擎4.23 RTX分支中的最新技术,得以启用混合半透明效果。这样一来,对于不需要进行光线追踪的物体(例如尘土小粒子),就可以通过常规的光栅化来渲染。这样做的缺点是,这些问题不会显示在光线追踪反光中。
对于所有的不透明材质,我们也可以用一些措施来提高性能。和所有半透明材质一样,法线贴图中的大量细节和较高的粗糙度数值都不利于性能。最重要的材质节点是RayTracingQualitySwitch。它可以让你设置通常要如何渲染某个材质,在光线追踪的反光中又要如何渲染。我们选择在光线追踪反光中渲染时不使用法线。除此之外,我们还在纹理取样器中通过一个mip偏差来使用低分辨率mip,从而降低所需的VRAM带宽。
从虚幻引擎4.23开始,光线追踪反光也可以在最后一次反射之后回归反射球体捕捉。在这之前,我们至少要使用三次反射才能得到不显示太多黑色的良好结果。现在我们可以在不使画面产生大块黑色非追踪反光的前提下将最大反射次数设置为一次,这显著提高了性能。
由于稳定性问题和不确定性,实现新技术往往是很费时的工作。你必须愿意承担风险,并为最坏的情况做好心理准备。但是尽管这种技术还处于抢先体验阶段,我们却比较轻易地完成了实现过程。这对于《飞向月球》紧张的时间表来说是至关重要的,我们相信它代表着RTX的一个重大时刻。因为有虚幻引擎,光线追踪不仅能被少数预算充裕的业界巨头使用,也能被预算和人力有限的小规模团队使用。
总而言之,我们使用光线追踪支持了《飞向月球》逼真的图像。通过自然地表现阴影和反光,我们进一步提升了受到玩家热捧的写实风格。但应该指出的是,那些本身并不追求写实画面的游戏也能从这种技术得到类似的效益。无论你的游戏是写实的、重度风格化的还是漫画风的,光线追踪的效率和易用性都能让你设置高质量的光照场景而不必烘焙所有光照,从而让你腾出时间用于游戏的其他方面。如果你可以用更少的时间得到更好的结果,那么对大家都有好处。这种技术产生的结果是不可思议的,必将成为今后许多游戏的基础。我们热切期盼将它用在我们今后的游戏中。