单机游戏 > 塞尔达传说:荒野之息专区 > 塞尔达传说:荒野之息新闻 > 《塞尔达传说:荒野之息》超长干货技术分析

《塞尔达传说:荒野之息》超长干货技术分析

2019-08-09 来源:未来游戏研究所 作者:未来游戏研究所

• Specular Lighting | 镜面光照

  阳光,天光,闪电,点光源都属于此类别。起初我以为神庙,塔也是如此(因为它们是自发光的,因此我就假设它们是区域光源),但看到神庙与塔所展现出的非常能够揭露真相的加工痕迹(artifact)时,就可以排除这一点了。不是所有发光的材质都能够照明环境,而神庙与塔可以归属于那些不能的发光材质。

• Aperture mapped reflections | 光圈映射反射

  如果这个术语对你来说感到很新颖,那可能对了。基于这款游戏的文本转储,《荒野之息》开发人员标记了他们对虚幻引擎4的场景捕获2D反射的看法。环境是这样反射出来的。林克头部(明确来讲,是光圈)上方的虚拟相机有着相对较小的视野,因此当林克移动时就会使得反射(实时显示)在它们适当的空间内移动,直到光圈再次捕获环境。你可以在以下的视频中看到这类的加工痕迹与视野。

• Screen Space Reflections | 屏幕空间反射

  只有那种看起来像层压材质的才会使用这种模型,而这些仅限于神庙之中。在光泽贴图中的一个数值告诉引擎仅对这些材质使用屏幕空间反射。它们会反射屏幕上的任何内容,能够在任何材质的入射余角看到。然而,这些材质上同样也有使用光圈映射来进行环境反射,这也是让我感到迷惑的源头之一。这些材质反射的不协调表现使得我对神庙外的其他材质也做出了假想。值得庆幸的是,我们把这一点理清了。

  观察建议:看看林克的反射与蓝灯的反射的对比。林克必须得在屏幕上才能显示出其反射,而蓝灯不需要在屏幕上也能显示出反射。

(屏幕空间反射+镜面高光)

  局部反射之谜解开了!

(正面的墙不能反射,而侧面的墙则可以)

  局部反射之谜解开了!那么,神庙材质具有一层额外的光泽反射层,但他们在外部反射上也使用了同样的反射模型。怪不得这么让人迷惑!

  使用光泽材质,可以在屏幕空间(屏幕空间反射)内捕获所有内容的反射。而使用非光泽材质(几乎所有的外部材质),使用与虚幻引擎4中所用到的场景捕获2D反射技术几乎完全相同的技术来捕获环境反射。基本上,虚拟相机(具有自己的视体与视野)位于林克的头部正上方,始终面对主相机的地平线,无论林克的定向如何(这使得有限的屏幕外反射得以实现)。然后将捕获的图像馈送到产生反射的材质中,就好像向电视发出现场直播信号。这意味着图像的馈送是以游戏所运行的任何帧率(30帧)实时投射的。这样使得材质的不同元素得以无需等待新的捕获就能更新。但是,实际捕获画面本身会以低得多的帧率(4到5帧)而更新。只要场景捕获相机从其绝对位置移动,你就能看到这一点。在更新捕获反射之前,当前捕获画面于材质内(例如,水)在相机移动的任何方向实时移动(30帧)。然而,一旦材质接收到更新的捕获,就会更正反射。这种更正的延迟是我们得以真实地了解捕获更新即沿着材质的痕迹(4到5帧)。

(桥柱的反射稍微有些延迟)

  你可以在这里看到,过时的反射仍然可以平滑地跟踪林克的行动。没有任何卡顿。然后当新的捕获更新时,反射就得以更正了。这与反射贴图的运作原理不同,反射贴图仅在贴图本身更新时才会更新反射。在这,捕获的反射显然已经过时了,但它仍然以30帧的速度改变自身的位置。

  你可以在以下动图中体会到捕获相机的FOV:

(由于没有地平线相机末尾视线的颜色反射在材质上)

  现在为什么所有非自发光材质都只有菲涅尔反射就讲得通了。使用这样的反射技术,这些是它唯一可以正常运作的角度了!

  我碰巧找到了这个拱门,并意识到了这是测量捕获相机视野的完美设置:

结合上一些基本的三角学来看

  我估算其水平视野为大约115º。在林克还没有穿过拱门前,拱门的反射就已经离屏了,因此我们得知它肯定不是180°的视野了,因为如果是的话,拱门的反射就不会像这样出现视觉错误了。

  你还能够看到,当相机距离拱门数英尺并且垂直于拱门时,反射是倾斜的并且与视野成比例,这使得我们可以观察到它的宽度。它会测量场景捕获相机的相对水平视野。

  不过我想重申一下,这仅仅是粗略的估算,所以我可能会偏上个10°左右,但在有的角度下使用这个视野是不可能的,因此通过排除法,我们至少能有一个估算值。


塞尔达传说:荒野之息 主机游戏

  • 类型冒险游戏
  • 发售1970年01月01日
  • 语言未知
  • 平台
  • 研发
  • 运营
《塞尔达传说:荒野之息》是任天堂开发的系列重启作品,是真正的全开放世界,而非以前的种种限制,你可以从任何方向到达你想去的地方。本作会于……

暂无促销活动

火爆开服更多+

thisLineHeights20

新闻更多+

thisLineHeights20

攻略更多+