畅游3D特效:用苹果去砸牛顿——物理加速特效
新手学堂

物理特效,还原真实
右边一组用超高速相机拍下来的子弹穿过各种物体的照片。可以看到,爆炸的糖罐、颜料瓶、水瓶和草莓由于本身材质的不同,呈现出不同的碎裂效果,每一块碎片或者是飞溅的液体都有自己的物理特性和运动方式,那么在以往的3D游戏里,你用枪打中一个物体的时候,看到的是什么?没错,游戏引擎用一个简单的弹痕就把你给忽悠过去了——仅仅是一张2D的贴图而已。
比如在这款FPS游戏里,你无论是用枪打中纸盒、木板、水泥墙壁还是塑料椅子,全都是用一张弹孔贴图来表示,纸盒没有粉碎、木板没有裂开、墙壁没有缺角,椅子也没有破损……太假了。更神奇的是,地上的箱子你就是用炸药包来炸,它也绝对不会掉一点碎屑,更不会动一下。因为它就只是个长方体模型(而且还是和地板做在一起的模型),编程人员压根就没给它设计更多的特性。
在硬件性能飞速提升的今天,我们当然要追求更完美的虚拟真实效果,对于3D游戏来说,仅仅是3D模型和贴图是不够的,要模拟真实世界物体的各种物理特性(运动、质感),我们就需要在制作3D游戏的时候,把描述这些特性的程序都加进去。
当然,在以前这些复杂的物理特效运算都要交给CPU来完成,但是CPU本身就很忙了,再来处理这些必然会大大影响游戏的速度——所以说,不是以前的游戏做不出物理特效,而是做出来没有电脑能玩得动。不过现在,我们有了新的解决方案:物理加速。接下来就让我们来了解一下。



物理加速发展简介
前面我们也提到了,要是单纯用CPU来完成物理特效的运算,虽然可行,但在性能上却难让人满意,到头来受限于性能还是不敢使用更多的物理特效。那么,我们是不是可以单独提供一块处理器,来完成游戏中的物理特效计算呢?答案是肯定的,而且这样的产品早已存在,它被命名为PPU(Physics Processing Unit,物理计算单元)。
前几年,一家名为Ageia的公司首次推出了专门针对物理特效进行加速的PhysX物理加速卡,第一次将硬件级物理加速的概念正式带到了游戏玩家的面前。之后众多的主机游戏、PC游戏都开始针对PhysX进行特别的设计,加入了由PhysX所支持的物理特效,在2008年,NVIDIA正式收购Ageia公司,并且将它的PhysX技术应用到了自家的GeForce 8系列显卡之上(由强大的GPU来完成物理特效的计算),而最终在GeForce 9系列产品上普及。
与此同时,与PhysX齐名的还有一款物理引擎,叫做Havok。Havok公司成立于1998年,Havok引擎已经被多款游戏所采用,如《Halo 2》、《生化奇兵》和《半条命2》。《黑客帝国:尼奥之路》、《特洛伊》和《查理和巧克力工厂》等知名电影中也都使用了Havok公司的物理技术。在2007年,Intel收购了Havok公司,而在2008年,AMD也开始和Intel旗下的子公司Havok合作开发物理引擎。和PhysX不同的是,Havok同时依靠CPU和GPU进行物理加速,而PhysX更侧重于用GPU进行物理加速。
总而言之,无论是采用哪种物理加速引擎,我们都可以在现有的主流3D游戏中看到更多的物理效果:流水与布料的质感、爆炸产生的大量碎片、被击垮的墙壁等等,这些在以前的游戏中都是无法实现的。接下来一起去体验一下主流3D游戏中酷炫的物理特效吧!
酷炫物理特效欣赏
代表游戏:《镜之边缘》、《雪域危机》、《蝙蝠侠:阿卡疯人院》、《黑暗虚空》
支持PhysX的3D游戏非常丰富,《虚幻竞技场3》、《镜之边缘》、《雪域危机》、《蝙蝠侠:阿卡疯人院》、《黑暗虚空》等等是比较常见的PhysX大作。《镜之边缘》中碎裂的玻璃以及飘动的旗帜、门帘等物体将PhysX物理特效表现得淋漓尽致,而《雪域危机》中的水流效果十分抢眼,融化的冰雪变成水流沿着凹凸不平的地板流淌,完全遵从流体学原理。《蝙蝠侠:阿卡疯人院》里可以随意破坏的水泥墙壁,每次打碎它都会有不同的表现。
此外,还有一些采用Havok物理引擎的游戏,也有很不错的物理特效,例如采用基于Havok开发的Destruction 2.0破坏系统的《战地:叛逆连队2》中,90%以上的墙壁和障碍物都可以随意损坏和打碎——你完全可以用G36C突击步枪把水泥路障打得只剩下钢筋,也可以用RPG把水泥墙打穿,让墙后的敌人见鬼去,这些玩法在以前不支持物理特效的游戏中是完全不能想象的,物理引擎让3D游戏虚拟的世界变得更加真实,玩法也更加丰富了。
物理加速特效已经成为现在以及将来主流3D游戏必备的技术,不管是使用PhysX还是Havok,或者是其他的什么物理引擎,都是为了给我们展示更真实的虚拟世界,当然,在玩支持物理特效的游戏时,只要显卡和CPU的性能足够强,都建议大家打开物理特效(一般都在“Graphics Option”中可以找到“PhysX”的选项,设置为“Enable”即可)。赶快去享受一下不一样的3D世界吧。



