让游戏更真实的秘密

硬派学堂

炎炎夏日,对于许多玩家来说,最惬意的享受莫过于开着空调对着液晶大屏幕,酣畅淋漓地在游戏世界中尽情遨游了。不过许多玩家也发现,即使是同一款游戏大作,在不同电脑上的画质表现也会有天壤之别。这是怎么回事呢?

游戏的画质优劣,在很大程度上决定了玩家的体验效果。而造成画质差异的主要原因,就在于玩家的显卡是否支持和开启游戏的各种3D特效。

许多玩家都知道,游戏中的每一帧画面其实都是显卡“画”出来的。那么显卡又是怎样画出这些图画的呢?简单来说,显卡的3D绘图过程可以分为搭框架、贴图、输出画面三个步骤。即先由大量的三角形构建出物体的框架,然后在框架上画上颜色(贴图),最后将3D场景投射成2D画面输出到显示屏幕上。

由于游戏引擎和显卡性能的限制,早期的3D游戏画面用现在的眼光来看难免显得粗糙。但是随着3D技术的飞速进步,游戏的画面效果正在向电影靠拢。可以预见在不久的将来,3D游戏的画面质量可以与电影媲美。

全屏抗锯齿:让画面更加平滑

既然游戏画面是由大大小小的方形像素色块组成的,那么在物体的边缘难免会产生“锯齿”。例如早期3D游戏中的一些人物皮肤,简直就是有棱有角的色块,但是这又与现实严重不符。解决这类问题的方法,一是提高游戏画面的分辨率,通过增加像素的数量来提升画面的精细程度;二是通过一些补偿方法,将锯齿失真缩小到人眼不易觉察到的范围。于是就有了全屏抗锯齿(Full Scene/Screen Anti Aliasing,简称FSAA)的诞生。

如果在两个锯齿之间再增加若干个同样颜色的像素点,其表面的过渡就会变得平滑许多。全屏抗锯齿的原理,就是让显卡对一个像素作多次取样,就像多画几次一样,从而抹平3D画面中的锯齿和粗糙边缘,使画面看起来更为平滑细腻,更加接近真实世界。不过这也使得图形芯片需要处理的图像分辨率远远高于实际输出的图像分辨率,大大增加显卡的工作负荷。

目前几乎所有流行的游戏都提供了开启全屏抗锯齿特效的选项。对于所有的显卡来说,开启全屏抗锯齿都会在一定程度上降低游戏的流畅程度,要想兼顾画面质量和游戏速度的话,玩家只能尝试不同的全屏抗锯齿倍数,在画质和流畅度之间找到一个最佳的平衡。

纹理过滤:让细节更加逼真

消除了物体表面的锯齿,接下来就要看贴图的效果了。当显卡将3D游戏中的场景框架搭好开始贴图时就需要纹理过滤(Texture Filter)了。我们不妨再拿绘画来做比喻,如果在绘画时选择的色彩失真,那么呈现在我们眼前的就不是栩栩如生的精美图画,而是光怪陆离的若干色块色斑。因此游戏贴图的效果是否真实,在很大程度上取决于显卡纹理过滤后得到的像素颜色值是否逼真。纹理过滤就像是通过反复比较调色来确定当前像素的颜色值。它分为双线性过滤(Bilinear Interpolation)、三线性过滤(Trilinear Interpolation)和各向异性过滤(Anisotropic Interpolation)三种。随着纹理过滤级别的提升,3D游戏中场景贴图的细节会更加清晰,纹理表现也更加真实。

与全屏抗锯齿相比,开启纹理过滤对游戏速度的影响要小得多。因此目前许多3D游戏最高都可支持到16倍各向异性过滤,也就是16× AF(Anisotropic Filtering)。目前中高档的显卡开启16× AF都不会有什么大问题。

需要指出的是,不同的游戏在纹理过滤的设置选项上稍有区别,例如极品飞车系列游戏就将双线性过滤、三线性过滤和各向异性过滤都放在同一个选项下,而魔兽世界、使命召唤系列等游戏则将各向异性过滤单列了出来。

我们来看看《极品飞车:无间风云》游戏开启纹理过滤特效后的画面效果。可以看到在双线性过滤特效下,山坡和高速公路护栏上的纹理表现较为模糊;开启三线性过滤后画面质量有一定改善;而在各向异性过滤特效下,山坡和高速公路护栏的纹理细节表现最为清晰,层次深浅也最为分明,整个游戏画面更加逼真。

HDR:光与影的魔术师

在很长的一段时间里,传统的渲染模式采用的都是8位纹理格式,只能表现出256∶1的光线范围。但是真实世界中丰富多彩的光影效果,用这么狭窄的光线范围根本无法体现出来,就好像只有几种颜色的蜡笔画不出照片效果的图画一样,早期的3D游戏无法做到逼真。

HDR的全称是High Dynamic Range,即高动态范围,它可以表达出50000∶1的光照细节,就好像几色的蜡笔换成了数百色的颜料笔来画画,自然也就能获得非常逼真的光照效果了。启用HDR后,不仅可使用的颜色多了几百种,连画笔也变得更细腻了,自然可以让画面的色彩和光照的层次都更加丰富,让亮的地方更加亮,暗的地方更加暗,而且不论是亮部还是暗部的细节都可以表现得非常清晰细腻。

目前只要是支持DirectX 9.0c以上的显卡,都可以支持HDR技术。相对于前面介绍的几种特效来说,HDR带给游戏画质的提升更加明显,只要看看游戏画面的前后对比便可一目了然。不过,开启HDR特效也会给显卡带来沉重的负荷,显著降低游戏的帧率,原来只需要“拿几支蜡笔画画”的显卡变成“要拿几百支画笔画画”,想不累都难。

物理加速:有了互动的世界

通过不断地改进画质,游戏的画面越来越精美,越来越逼真。但是美中不足的是,这些物体的真实感仅仅停留在外观上,并不会随着环境的变化而产生互动。例如不管人物如何来回跑动,游戏中的花草树木始终一动不动;各种建筑、家具、杂物遭到猛烈的枪炮射击,却没有任何破损;爆炸时光有冲天的火焰,却没有任何飞溅的碎片和尘土……这些不符合物理特性的现象,难免会让玩家感觉游戏不够真实。

物理加速技术的诞生,让这一困扰硬件和游戏领域多年的问题得到了解决。它可以让游戏中的物体以更加自然的方式移动,并且当周围环境发生改变时,物体也能作出更加真实的交互性回应。举例来说,当玩家操纵的人物走过一株灌木旁边时,它的枝叶会被人物的身体推开然后又弹回;从不同的角度向目标开枪,目标会以不同的方式破碎,倒地的方向也截然不同;游戏中遇到雨雪天气的话,雨滴、雪花、水汽也会与周围环境产生各种逼真的互动……如此出色的物理细节改进,足以让游戏玩家们欣喜万分。

目前的3D游戏中被普遍应用的物理加速技术有两种,分别是Ageia开发的PhysX技术以及Havok开发的Havok技术。至于硬件方面,当前主流的DirectX 10显卡都已经提供了对物理加速技术的支持。随着物理加速效果受到越来越多游戏厂商和玩家的肯定,它已经成为了3D游戏体验中的重要元素,相信今后采用该技术的3D游戏将会为玩家带来更加真实互动的游戏体验。

27-d20-10.jpg
27-d20-11.jpg
在《帝国时代3》中,开启HDR特效前(上)后(下)的画面对比
27-d20-01.jpg
当年风靡全球的3D游戏《古墓丽影》的画质,现在看来已经显得非常粗糙
27-d20-02.jpg
打开抗锯齿特效可以显著提升游戏的画面质量
27-d20-03.jpg
27-d20-04.jpg
27-d20-05.jpg
《极品飞车:无间风云》游戏中,双线性过滤(上)、三线性过滤(中)、各向异性过滤(下)三种纹理过滤特效下的画面对比
27-d20-06.jpg
27-d20-07.jpg
在《孤岛惊魂》中,开启HDR特效前(上)后(下)的画面对比
27-d20-13.jpg
在开启物理加速后,《虚幻竞技场3》中的各种建筑物都可以被玩家随意破坏