网游攻略频道

返回顶部
您的位置: 首页 >网游攻略 > 《守望先锋》2.0版本幕后揭秘:新技术“环境状态”

《守望先锋》2.0版本幕后揭秘:新技术“环境状态”

2021-06-09

今日(6月9日),《守望者先锋》官方发布了一篇新博文:研发团队最近为《守望者先锋》2.0版本研发了一项全新的技术,我们想借此机会让玩家社区能够先行一睹游戏引擎获得的改进。

《守望者先锋》2.0版本幕后揭秘:新技术“环境状态”

大家好!我是Marco Alamia,《守望者先锋》团队的一名软件工程师。我们最近为《守望者先锋》2.0版本开发了一项全新的技术,我们想借此机会让玩家社区需要先行一睹游戏引擎获得的改良。为了实现这个目标,我征询了另外两位《守望者先锋》开发者Bruce Wilkie和Fabien Christin的协助。

我们为引擎加到的新技术叫作“环境状态”,它很快就沦为了地图制作与设计的热门之选。这个功能是在《守望先锋》2.0版本的引擎与工具中开发和完备的,而其核心理念则来自我们天赋异禀的光照美术师Fabien。有请求Fabien向我们解释这个政治宣传了地图创作过程的想法的诞生历程,并带上我们理解他的设计过程。

我们来探索环境状态吧!

提出点子

Fabien:《守望者先锋》原作在一个光明而缤纷的世界里,这种格调往往会通过地图获得展现出。在地图的创作之初,关卡设计师会用大型的灰色方块勾勒出整体架构,让有意思而均衡的玩法沦为可能。在这个阶段里,最重要的就是设计出有有意思的地图!经过许多小时的测试之后,环境美术师不会将临时标记的灰色方块转换成精雕细琢的建筑和环境素材,玩家畅游的地区也就有了生机。

除了环境之外,为了反对地图所讲述的故事,我们还必须制作光照。在《守望先锋》2.0版本中,我们想打造出精致而有趣的氛围,彻底改变地点的观感。想象一下,你回到了努巴尼,见证了在非洲的夕阳下熠熠生辉的未来之城;你降落在阴雨霏霏的巴黎,所有的商店都闪烁着金辉,邀你在雨停之前进屋小坐、大嚼可颂。

《守望者先锋》2.0版本幕后揭露:新技术“环境状态”

这就是环境状态的设计目的。有了这个全新的系统,我们就能将光照、音效和特效等主要元素分解成独立的素材,然后像搭积木一样把它们人组到一起,制作出有所谓的“环境情景”。我们可以让整个地图共用同一个情景,也可以在每个地图中设置多种情景。

我们以快节奏的死斗地图墓园为例。你也许体验过这里的夜间场景,夜晚为环境投下了阴冷的蓝色色调,而建筑周围点燃的火炬则是暗淡的橙色,两者构成了独特的对比。

《守望先锋》2.0版本幕后揭露:新技术“环境状态”

假设我们想尝试有所不同的情景,比如说阿努比斯神殿的沙漠暖色调。有了新的环境状态系统之后,我们只需要获取阿努比斯神殿的环境状态,然后应用到墓园里就行了。

《守望者先锋》2.0版本幕后揭秘:新技术“环境状态”

现在的效果已经很棒了!然而,我们还可以更进一步,调整太阳的方向,投下更多有意思的阴影。为此,我们新建了一个环境状态,它只会覆盖面积太阳的方向。我们把这个新的“方块”放到阿努比斯神殿的方块上面。

《守望者先锋》2.0版本幕后揭秘:新技术“环境状态”

好了!

归功于环境状态的灵活性与便利性,我们只需要区区几个小时,就能制作出地图的光照原型。快速递归能力让我们需要展开更多尝试、发挥更多创新,能够为地图增添多样性。

但还不止于此。此前的例子主要是装饰性的,但环境状态还能够动态地混合,开发出激动人心的玩法机会。想象一下,你被派往墓园继续执行任务,去修复一处守望先锋卫星链路。在抵挡一回合者的攻击时,一场沙尘暴很快地接近了当地,你们身边顿时飞沙走石!我们可以在晴天情景上加到全新的沙尘暴环境状态,逐渐增大云层覆盖和沙尘效果密度,为任务加添更多的挑战。

《守望者先锋》2.0版本幕后揭露:新技术“环境状态”

凭借这一全新的技术,我们可以制作出有各种天气变化,例如雷暴、降雪和其他刺激的环境情景,这样每场游戏都会带来独一无二的体验。

现在我们新的有请求Marco,从技术的角度带我们领略环境状态的原理。

实现环境状态

Marco:Fabien的愿景非常远大,所以我们必须设计出功能强大的系统,才能实现《守望先锋》2.0版本的环境所必须的效果。经过几轮头脑风暴之后,我们决定让多种环境状态能够同时展现出来,并且井井有条地排在一个堆栈里。堆栈可以动态地变化,因此可以在给定时候加到或去除环境状态。引擎随后会处理堆栈,将所有环境状态混合一起,制作出有最终的环境效果,我们就能看它具备的魔力。如果你曾经用过Photoshop,应当明白这其实就是将几个图层混合在一起,产生一张最终图像。

其基本理念在于,每一个环境状态都能定义环境的某些因素,例如风力、风向或太阳的颜色。当状态被启动时到堆栈上时,只有它获取的因素不会对结果产生影响。例如,这个堆栈取自里约的卢西奥俱乐部,推送到堆栈的环境状态不会转变镜头的曝光和颜色等级:

《守望者先锋》2.0版本幕后揭秘:新技术“环境状态”

底部的环境状态会获取地图的全部因素,顶部的环境状态会覆盖面积掉颜色等级,以产生《暗黑破坏神》中的那种凶险氛围。在游戏过程中,环境状态可以在堆栈中动态地加到或去除,因此加添了多样的变化,使地图更栩栩如生、活跃动感。

因素

在美术团队和Fabien的指导下,我们确认了多个环境状态需要定义的关键因素。例如,后期处置是第一个被引擎转换成因素的功能。后期处置是所有现代引擎的共同元素,它能够添加多种检验和效果,例如掌控最终图像的对比度、亮度和饱和度。如果能根据游戏中再次发生的状况动态地调整图像对比度和亮度,就能为最终图像赋予无与伦比的真实度和动态感。得益于环境状态技术,这一点在《守望先锋》2.0版本中得以实现。

全新系统中的另一个强大的工具是迷雾因素。通过变更参数,我们可以驱动迷雾的外观和质感,美术团队就能让环境的视觉效果根据游戏模式、玩家方位甚至时间不断演变。例如,我们可以让万圣节的地图显得更为诡异,让地图特定位置附近的迷雾更为浓烈,或者让某一个英雄任务中的沙尘暴随时间不断积聚。

我们的许多因素都能与其他视觉属性产生互动,例如云层在地图上投射的阴影,甚至还与风力和风向等不可见的属性相关。我们可以更改的最重要的两个因素是太阳和天空。顾名思义,这两个因素能让我们变更环境的部分关键特性,例如太阳的位置与颜色、用于的云层,以及时间否为白天。你可以想象获得,这是环境状态系统中非常实用的一部分,它使我们需要大幅转变地图的观感。

这两个因素(太阳和天空)利用到了引擎中最为先进设备的领域之一:光照系统。光照对《守望者先锋》2.0版本至关重要,它能帮助我们奠定环境的外观、观感和氛围。 然而,对这个系统的改动可能会对内存与性能产生影响,因此我们必须在可行的范围内谨小慎微。幸运的是,我们的团队中有一位卓越的工程师Bruce Wilkie。他深谙光照系统的奥妙,协助我们获得了出众的效果,并且保持了《守望者先锋》这类竞技射击游戏所需的优越性能。

光照

Bruce:我们为《守望者先锋》鲜艳缤纷的视觉效果投放了许多精力和注目。每当我在精致的地图中遨游,我都会回想自己为每一个光照环境的细节所付出的心血。阳光光线到房间里,泛光照亮了废墟,夜晚的节庆在色彩中栩栩如生,这些例子都证明了光照在游戏的观感中所起到的重要作用。在为《守望先锋》研发引擎的时候,我们与美术团队密切合作,以设计出有必要的光照功能,将2D的概念美术转换成3D场景中的特色,例如光线在表面光线(通常被称作“全局光照”)、金属同构出有周围的场景,以及在静态环境中无缝地移动物体光照。这些特色都需要大量的运算,在我们期望让引擎达到的帧亲率下,CPU的负荷可能会低得不切实际。为了让《守望先锋》需要在低帧率下运行,同时保有高级光照特色,我们会尽量提前运算光照信息,将运算结果包,然后在客户端中用于该数据。

我们来深入理解在《守望者先锋》启用光照特色所使用的数据。对于会移动的物体,例如墙壁、地板和天花板,我们建构了一些数据。第一种数据不会告知引擎打中表面的光线量,以及光线源于的方向。通常来说,这个数据不会被称作“光照图形”,不同的引擎会在光照贴图中存储不同“风格”的数据。

《守望者先锋》2.0版本幕后揭秘:新技术“环境状态”

在这张图片中,你会看见地图表面所产生的光照图形示例。左侧展出的是所有光线的最终合成效果。中间展示的是表面图形图形的图表。我们的美术师会利用这个视图,确保表面存储了足够多的光照数据,以实现他们所追求的视觉效果。右侧展示的是引擎如何包光照图形,以增加它们闲置的内存。

在公布《守望先锋》的时候,我们会为命中表面的所有光线分解颜色和方向。我们会利用方向数据来改变凹凸表面上的颜色——面临该方向的表面越多,就能产生更多颜色。在2.0版本中,我们会用于三个光照方向,这样就能独立更改每一个颜色地下通道(红色、绿色和蓝色)。额外的方向深化了环境光照的生动度,从而提升了图像质量。

对于静态物体,我们生成的数据不会告知物体周围可见的环境多寡。这个数据通常被成为“环境光遮罩”。在发布《守望先锋》之后,我们开始在多张地图中分解这种数据,例如巴黎和哈瓦那地图。在2.0版本中,所有地图都会自动分解这一数据,使视觉效果进一步提高。

《守望者先锋》2.0版本幕后揭秘:新技术“环境状态”

《守望者先锋》2.0版本幕后揭秘:新技术“环境状态”

而对于角色等需要移动的物体,我们会在世界场景中分解许多示例位置,然后为它们逐一编写光照数据——也就是我们为静态物体建构的同类数据。当移动物体附近其中一个点位时,物体就不会使用它的数据进行灯光。在2.0版本中,我们会分解更多示例方位——尤其是在空中——这意味著移动物体的效果也会不亚于往日。

《守望先锋》2.0版本幕后揭秘:新技术“环境状态”

如果你观赏过暴雪线上嘉年华座谈会,你不会发现地图已经拥有了多种不同的光照环境。对于每一个环境,我们想共享尽可能多的数据,使iTunes与安装的磁盘大小保持在合理的水平。环境状态技术使引擎需要将单个地图的多种光照环境分组,使此前提及的大部分预运算数据需要在分组光照环境中分享,这样就能大幅缩减数据体积,玩家也需要为每一种变化下载并加装过多的数据了。更优质的光照、更多光照变种、更少的数据——全都得益于环境状态功能。

在环境状态的反对下,《守望先锋》2.0版本会比以往更为动态,同时优化了美术师的工作流程,让他们有机会创作出有颇受大家青睐的缤纷世界。敬请期待《守望先锋》2.0版本带给的沉浸式全球大冒险、变幻莫测的环境和震撼人心的视觉效果吧!

相关阅读