电玩巴士 > 单机 > 正文
从《原子之心》窥见光线追踪将带来的前卫体验
从《原子之心》窥见光线追踪将带来的前卫体验
来源: TGBUS原创 作者: 饼干 2019-01-06 23:25
你还记得游戏中的“镜子”长啥样吗?

不知大家还有没有印象,大约在一个多月之前曾有一段神秘的游戏预告视频。视频很简短地展示了一具躺在浴缸中的人形物体,其中令人感到惊悚的是浴缸中涌动着如血液般鲜红的液体,并且这些液体还有触角似的部分向外延伸。这其实是一款来自俄罗斯的名叫Atomic Heart(暂译为《原子之心》)的第一人称冒险游戏,不过它的开发商Mundfish暂时还没有公布太多内容。

在不久前的一次NVIDIA的访谈节目中,Mundfish的CEO Rob Bagratuni谈及了游戏的故事背景,他称其为“平行宇宙的前苏联”。故事发生在20世纪中期,现实世界中人们在那段时间里经历了很多,同时也带来了巨大的变革,在《原子之心》中的苏联科技也同样得到了微妙的发展。人们开始尝试并在机械与生物技术上取得了突破,这些前卫的机器人科技被应用在普通家庭中,目的是为了减轻现代生活所产生出各种繁杂负担。

当然了,这样的设定岂能少得了智械暴走?而《原子之心》中的暴走更加严重,不只是那些冷冰冰的机械,还有各种血肉模糊的异形生物,在预告片中看到的或许就是其中之一。不过Rob在采访中否认了这是恐怖游戏的说法,他认为自己想要表达的,更多是在未知领域探索的新奇感,而不是简单的毛骨悚然。

不论是视频短片还是文字资料,现阶段能够让我们去挖掘的信息还是太少了,但我依旧想写点什么来聊聊这部游戏。首先是因为Mundfish这个团队有些独特,他们是因为《原子之心》才走到一起,而起步就做出如此庞大的作品,这种情况并不多见。其次也是因为《原子之心》令人惊艳的画面表现力,这得益于新锐的光线追踪技术,并且它也是本篇想要探讨的核心重点。

01.png

在具体说明《原子之心》的精美画面前,首先还是要从非专业的角度讲讲“Ray tracing”(光线追踪)是怎么一回事。要说这个概念火起来,大概是因为今年NVIDIA推出了新的RTX系列显卡,并把实施光线追踪这项技术搬出来表明其强悍程度。不过,光线追踪并不是一项才出炉的新技术,只是由于其过高的性能消耗一直没能在电子游戏中得到合理运用。

如今我们能够看到越来越逼真的游戏画面,大部分都要仰仗着计算机图形技术的发展,从最早的“Ray casting”(光线投射)到后来的“Scanline rendering”(扫描线渲染)一直演变到我们现在热议的光线追踪。直观来讲这是一个“化繁为简,再从简入繁”的过程。

02.png

在硬件条件远不如现在的时代,计算机中的立体画面表现,靠的更多是钻研精神和想象力。通过射线的交点来建立图象,我们从这之中收获了最早一批的第一人称冒险游戏,而如今的光线追踪依旧是在运用类似的思路。

在光线追踪技术的实现过程中,首先要从场景中的虚拟视点出发,也就是玩家的屏幕视野。由该视点向对应的方向和角度发射射线,每条射线与场景中的物体相较并生成相对应的一个像素点。此时第二道计算将围绕着该点的呈现效果展开,首先以它为起点向着场景中的光源发射射线,这是为了判断该点是反光还是阴影或是两者都是,如果射线路径被其他物体挡住那便是阴影,反之亦然。

在确立了像素点的类别后,还需要进一步根据该点物体的材质和它的状态进行分析,如果是透明或半透明材质,还会产生影响其他像素的折射光等等。这个过程的计算量是空前的,这也正是为何该技术一直以来难以被应用到游戏中,毕竟玩家是自由的,视角也自然是千变万化,一旦光线追踪能够得到良好的运用,想必会让游戏体验提升一整个档次。

03.png

技术原理示意图

不论是最初的射线技术还是光线追踪,它们的算法思路都是“反向计算”,是一种从摄像机反推回物体与光源的计算,这其实是有违常识的。在现实生活中,我们之所以能够看到五彩斑斓的世界,是通过光线投射到各种非自发光物体上经过吸收、反射、折射等等变化后进入我们的眼睛来实现的。这个过程是自然形成的,遵循着我们目前所知的自然规律,如果非要类比到电子游戏的话,就好像每时每刻都在刷新整个世界的光影,这几乎是计算机无法实现的。

“反向计算”正是为了实现这不可能的目的,在单一时刻玩家的视野能够覆盖到的内容是比较有限的,通过减弱不必要的、增强必要的部分,从而呈现出一个相对拟真的画面效果。尽管离完全还原真实还有差距,但这种计算过程相较于传统方法而言是最为接近自然法则的,在不计运算量的理想情况下便可以实现还原真实,但“理想情况”终究是一种假设。

04.png

说了一大堆通俗的技术解释,关键还是要看结果,这也正是我拿《原子之心》举例的原因。在Mundfish和NVIDIA合作的一则技术演示中,光线追踪带来的变化一目了然,那么接下就借助演示中出现的画面来直观感受一下这股强大的技术力吧。

R01.png

光线追踪启动

R02.png

光线追踪关闭

这是一组非常直观的对比图,该视角看过去影响较大的是位于地面的射灯和机器人头部的灯光,并且射灯的照射范围更广,亮度更高。在光线追踪关闭的情况下,由射灯发出的直线光透过机器人的躯干在后方的墙面上留下了轮廓清晰的阴影,头部的光亮也透过外壳打在墙上。

这种光影效果其实已经非常不错了,但在开启光线追踪后提升依旧明显。由于房间内不止于这两种光源并且还伴随着大量的反射光线,影子因此变得模糊,头部发光点的荧光效果也更加明显。看到这样的区别不免会有些质疑现实情况究竟是怎样的,那么你完全可以在今晚回家的路上观察路灯的光线经过自己身体投射出的影子,或是睡前在关灯后的房间中用手机发光来感受手部的投影。

R03.png

R04.png

在我们讨论光影效果的时候,总是会把话题的焦点放在“影”上,但其实光的表现才是更难处理的部分,尤其是镜面和物体表面的反射光。如果你此时回想曾经在游戏中看到的镜子,它们似乎大多都是一层灰色并不会反射光线,也有一些是通过预制的演出来呈现。实际上,在第一组对比图中仔细观察也可以发现右侧镜面的变化,当光线追踪关闭时镜子中的倒影呈现出方向上的扭曲,而开启时不论是镜面还是光滑物体表面,都能够呈现相对真实的倒影。

R06.png

R06.png

这一组对比图体现了非常经典的镜面相对情形,我们曾经在电影《盗梦空间》中看到过类似的画面,但游戏又与电影不同,如果没有光线追踪的支持,双镜面在呈现对侧镜面反射光时几乎是完全的信息丢失,仅仅能倒映出场景中实际摆放的物体并且效果也非常扭曲。光线追踪开启后镜面便恢复正常了,这几乎是以往游戏中不会存在的效果,但其运算代价想必也是非常高的,并且从镜面中略有折损的图像来看,这便是现在没法达到的“理想状态”。

R07.png

更加复杂的反射情况

以上的这些就是现阶段光线追踪能够达到的相对优秀的光影效果,尽管它的瑕疵还很明显,但这依旧是至今为止我们很难看在游戏中看到的光景。每当游戏画面表现力在某一阶段停滞时,我们总是会想“这就是极致了吧?”不过那些耕耘在技术第一线的大佬们显然还没有满意。

不敢断言明年就会进入光线追踪的时代,但像3DMark这样的产品也正在顺应需求推出新的测试软件。在明年的早些时候对自己显卡实力有疑问的玩家就可以用它来跑分测试了。感谢阅读这篇有些笨拙的分享,游戏真的很美妙,能够在这样一个日新月异的时代见证其成长,实属幸运。

05.png