再飞66号公路:深入探究守望先锋的独特美术

随着技术提升,用着相同引擎和流程的游戏都表现出色,游戏画面也逐渐趋同。《守望先锋》却做出了大胆的尝试,在已经流行的技术上做出了突破。很多美术技术上的突破需要深入的挖掘才能发现。我将从贴图,PBR流程上进行探讨《守望先锋》环境美术上的突破。

首先是贴图。《守望先锋》让贴图这个概念隐形化了。因为每一处贴图都经过了特殊处理。而这种处理分为三种:

1.不重复贴图。《守望先锋》中的材质贴图是随机组合的,不会出现两个同样的石块贴图。而这种不同性使得玩家不容易疲劳。这是一个必要的美术决定,却在很多游戏中缺失了。因为单独制作大量砖块的贴图十分复杂繁琐。但是《守望先锋》拥有自己的随机生成算法,在拥有一定量的美术素材库后,可以生成不重复的贴图。值得注意的是,贴图之间有非常自然地融合,玩家是无法直接分辨出贴图之间在哪里分界的。当一些游戏把贴图像方形小广告一样贴的整面墙都是的时候,很容易将玩家代入感降低。但是精细融合的贴图让玩家忽略了贴图本身的存在,帮助了贴图“隐形化”处理。

上图的碎石块都是贴图,但是没有让人产生重复感。很好的融入到了场景里。

2.贴图和模型混合。在《守望先锋》中,我们经常能够看到一堆石块或者杂物,但是这些物体往往只有一两个是真实的模型,其他的都是贴图。而玩家在不仔细研究的情况下是无法分清哪些是三维模型,哪些只是二维的贴图。这样也让游戏减少了模型,运行要求也降低。但这种方法的背后是极其紧密的3D设计组和贴图美工的合作。一般游戏中,贴图提供给了3D设计师,如果没有问题返工的话,就可以宣布工作结束了。3D只需要将美工的贴图加入模型即可。但是《守望先锋》中,贴图必须根据场景三维模型的光照来进行贴图制作,让贴图能够完全和三维模型融合起来。这是第二种贴图“隐形化”处理。

上图中的碎石块都是平面贴图,但最左侧的大石块是真实模型。两者完美融合。

3.贴图与法线图的结合。非PBR流程的游戏,都只有单一的平面贴图,这样就造成了光学上的虚假感。而法线图(Normal Map)可以让平面贴图也进行光照的计算
。在PBR流程里,一个贴图不仅仅由它本身的图案组成,而是由“固有色”(Diffuse),“粗糙度”(Roughness),“金属度”(Metalic)和“法线图”(Normal)组成。这样一个平面的贴图,也可以呈现出受不同光线影响的效果。在《守望先锋》里,很多贴图的纹路都是受光线影响的。但它们并非真正地被雕刻进了3D模型。这也减小了游戏的运算负担。

PBR渲染流程让贴图提供纹路信息,这样即使是光源改变了,贴图上的沟壑也会受影响。

近些年来,PBR,即Physically Based Rendering(基于物理过程的渲染)成为了游戏研发界最热门的制作流程。在以往的游戏开发中,美术需要通过复杂的光线布置和材质设定才能将游戏中的物体制作出来,并且期待这个物体可以在环境中表现的真实。因为所有的外观参数在制作时就已经确定,使得游戏在运行中不需要再计算光线,只需要将提前演算好的物体材质展现出来即可。但是缺点也很明显,一旦游戏场景有了巨大改变,往往之前设定好的外形参数就会与场景格格不入。

以前的游戏为了解决这一点, 会将光线中的物体和阴影中的物体分别应用上不同的材质。这在美术上并不复杂,只需要光线中的物体贴图调暗即可。比如当时的《穿越火线》就是这样,虽然角色本身不受环境光线影响,但是当他进入阴影里时,玩家能看到明显的明暗变化。这就形成了一定的真实感。这种分场景贴素材的方式的确在当时是性价比最高的方法,即实现了真实感,而且对于计算的要求也不高。但是因为光线无法正确的和物体互动,当时的游戏依旧看起来很“假”。

而PBR提供了另一种解决方案,它通过计算环境中的光线来塑造游戏中的物体。模拟真实世界的物理规则,严格准守光学原理。而《守望先锋》就使用了PBR流程,对于网游来说,PBR对于配置的要求极高,而《守望先锋》却以自己的方式来进行美术设计。

《神秘海域》使用了PBR流程,展示出来的是极端的真实感,这种真实感往往伴随着现实世界低饱和度的色彩。而《守望先锋》在材质的真实感基础上,让气氛更加清新活泼。为了寻找《守望先锋》光照的秘诀,我对《守望先锋》中阿努比斯神庙的石块进行了逆向工程。在这个过程中只关注光照,忽略贴图和建模。

上图是游戏内截图,下图是逆向工程

通过逆向工程我得出了一下结论:

1.《守望先锋》没有无源头的布光。物体上所有的光都来自于游戏中真实存在的光源。比如说阳光和天光。其他游戏中,为了让人物的形象更加立体,经常会在场景里布置很多光源,这些光源在游戏编辑器里(也就是引擎)是可见的,但是玩家在游戏中无法看到,这就造成了不真实的感觉。《守望先锋》中甚至大锤举起盾牌蓝色的光,都会映在旁边的队友身上,这就是通过环境中存在的光源来照亮物体,而非添加场景外光源。

2.《守望先锋》使用夸张的全局光照明(Global Illumination)。全局光就是指的物体反射光计算。如果一个人在嗅一朵玫瑰,那么他的鼻子上一定会映上玫瑰的红色。这和上一点光源不一样,因为反射光的物体都不是光源,但是忽略了这些光,游戏就会变得生硬不透气。而《守望先锋》用美术评价的话来说,就是“很透气”。它的暗部都不是很闷,颜色都是非常清新的。这是因为暗部收到了很多反射光的影响。就拿石头的侧面来说,它收到了天光,地面的同时反光。所以虽然在阴影面,但是十分明亮。

值得注意的是,《守望先锋》并没有使用默认的数值进行全局光计算。它的反射光是被加强了。这种人为增强让暗部更亮,而且饱和度更高。这是一种往往用在绘画里的窍门,《守望先锋》的美术把它用在了游戏里,让游戏更加生动。

3. 紫色天光。《守望先锋》的一个很大的特点就是它的天空光是蓝紫色的。游戏中对天空的光源属性进行了修改,使得其看起来是蓝色的,但是影响其他物体的时候是蓝紫色的。这就导致了守望先锋的大气透视呈现蓝紫色,影子也呈现蓝紫色。紫色本身是自然界中不存在的光(光谱到了紫罗兰色就停止了,再往后就是紫外线),运用紫色使得游戏更有卡通性。也增加了游戏的风格度。

4.硬影子(Hard Shadow)。《守望先锋》里的影子都是清晰边缘的。但是在现实生活中,越远的地方投射来的影子边缘会越模糊。但是这种模糊需要大量的计算。《守望先锋》为了画面整洁度和优化,舍弃了更加真实的阴影。暴雪对于真实元素的取舍很耐人寻味。

现实中的影子会随着距离增加,影子边缘会变模糊,而《守望先锋》所有地方都是硬边影子。
上图遮住阳光的那个尖石块形成了下图的这个阴影,但是即使离这么远,这个影子边缘依然硬朗。这一点是反自然的,但是却是《守望先锋》独特美术风格中的一环。

总结:

《守望先锋》在场景制作上的成功有两个重要原因:PBR本身的优势和《守望先锋》对于PBR的修改。PBR因为它使用真实的光线模拟,让游戏自然地更加逼真。而《守望先锋》没有停止在默认的设置下,它大胆尝试,将一些数据改的不那么“真实”,但是产生了自己独特的美术风格。同时又使用“隐形”贴图方法,让游戏在保证游戏效果时要求更低的配置。而所有这些美术特点都是统一的,它们都存在于整体的美术风格下,并且为其服务。这对以后国内游戏有所启发:选用好的引擎,同时要敢于在引擎数值上进行调整,做到风格化。

编辑于 2016-09-29