最真实的游戏体验 PhysX物理加速发展漫谈
  • 小乔
  • 2011年11月28日 11:55
  • 0
一切为了真实 PhysX物理加速诞生

经过数十年的发展,传统的2D游戏与现在的3D游戏画面已不可同日而语。就拿FPS游戏来说,从儿时的《魂斗罗》,到初步拥有3D 画面的《CS》,到以阴影画面著称的《DOOMIII》,再到3D画面出众的《使命召唤》以及将HDR效果发挥到极致的《FarCry》和《Crysis》,游戏的画面越来越精美。

最真实的游戏体验 PhysX物理加速发展漫谈 目前的游戏画面已经相当精美,但依然缺乏真实互动性

而与此同时,我们还能注意到,尽可能的还原真实世界的物理效果也是游戏发展的一大趋势,游戏中可以隔墙射击、走过雪地可以实时留下脚印、树叶四处随风飘落以及水花碰到岩石四处飞溅、打碎玻璃后碎片飞落、从不同角度攻击箱子会发生不同的破坏效果等等等等。

最真实的游戏体验 PhysX物理加速发展漫谈 缺乏物理特效,许多看似真实的场景只不过是静态的贴图而以

但是,以上许多真实的物理效果最初并没有得到太多厂商的重视,许多大作只是一味的追求唯美的游戏画面,而事实上人们也会以这些固定的游戏画面来作为画质好坏的标准。也许有些玩家会问,为什么这些游戏画面是固定的呢?那些流动的河流、摆动的树木等等不都是动态的吗?但答案并非如此,这些可以看到的画面仅仅是录制好可以实现的游戏画面,而并非根据真实的环境碰撞、摩擦等因素计算得出,所以你会看到许多游戏中流动的河流、摆动的树木都是按固定的模式进行。无法与真实的环境进行互动,让这些原本生动的画面却看起来不够真实。

最真实的游戏体验 PhysX物理加速发展漫谈 PhysX物理加速的出现赋予游戏更加真实的体验

而这一切,在2005年Ageia公司推出了PhysX物理加速技术之后发生了变化。在Ageia看来,其公司主打产品PhysX物理处理器(PPU)是自3D加速在上世纪九十年代引入PC之后的又一次革命性进步,以往3D渲染世界中由CPU管理、GPU渲染的动态物体和材料将得到来自PPU的加速,PC游戏也将由此进入一个新的时代。而事实上Ageia的PPU则从开发之初就专著于物理加速,可以处理更大量、更复杂的动态运算,同时也能让CPU专心于任务管理、让GPU专心于帧渲染的本职任务。

融入GeForce显卡 PhysX发展历程

Ageia带着PPU概念出现后,业内人士普遍认为图形卡支持物理硬件加速是一个发展趋势,而做为新兴公司Ageia在市场推广方面显然无法和两家耕耘已久的老牌厂商ATI和NVIDIA相抗衡,被收购的结果在Ageia创建之初已被不少分析家预言。

最真实的游戏体验 PhysX物理加速发展漫谈

此前在Intel收购物理引擎厂商Havok后,网上就盛传Ageia已经成为大厂商的猎物,各大老板已经开始出价竞标。AMD首先公开了兴趣,但由于财务状况不佳只能放弃(最终转投Havok),NVIDIA和任天堂成为了最大热门。但事实表明,作为GPU厂商的NVIDIA是Ageia的最佳东家,也是双方双赢之举。不出所料,在08年2月份NVIDIA正式宣布收购物理处理器厂商AGEIA 。

最真实的游戏体验 PhysX物理加速发展漫谈

其实从理论上来说,GPU的设计结构是十分适合物理运算的,因为一颗典型的GPU从结构的角度来说是一颗目的性非常明确的并行处理器,其次才是PPU,最后才是CPU。尽管NVIDIA早在几年前就提出了采用GPU来实现游戏中的物理效果运算,但是由于流行游戏中采用的物理引擎没有一个合适的接口,所以GPU一直处于“有劲使不上”的情况。但在NVIDIA拥有了Ageia之后,而PhysX技术也被诸多游戏作为新的物理引擎来使用,所以GPU也终于可以在游戏中发挥它物理加速的功效了。

NVIDIA收购Ageia之后,其技术将不仅用于游戏物理运算方面,还将其移植加入NVIDIA的CUDA显卡通用计算架构中,为各种需要大运算量的通用计算应用提供支持,事实上所有的GeForce 8系列以后的显卡都支持CUDA,而这些显卡将都有能力运行PhysX物理加速。 

最真实的游戏体验 PhysX物理加速发展漫谈 NVIDIA全线显卡均能享受到PhysX物理加速技术(点此查询

NVIDIA在收购AGEIA后迅速将其PhysX物理加速技术融入到了自家的产品中,在6月份发布了首款支持物理加速的PhysX物理驱动,凡是支持NVIDIA CUDA架构的显卡均可使用PhysX物理驱动,也就是目前的GeForce 8/9/GTX 200/GTX 400/GTX 500系列,而这其中同时包括了桌面版、移动版以及OEM版。这些用户不再需要单独的PhysX物理卡就能获得物理模拟加速能力,能在任何支持物理技术的游戏或者程序中看到效果,比如《蝙蝠侠:阿卡姆疯人院》、《Metro 2033》等等。

为GPU加速优化 PhysX技术解析

事实上在PhysX设计之初,它是只支持CPU和PPU物理加速的,不过在被收购之后,NVIDIA通过GPU CUDA架构将其重新编译,并打包进NVIDIA的驱动程序中进行发布。当然,尽管NVIDIA表示今后将大力发展GPU物理加速,但这并不表示PhysX引擎排斥CPU或者CPU+GPU的综合解决方案。

最真实的游戏体验 PhysX物理加速发展漫谈

通过CUDA通用接口,PhysX引擎将NVIDIA GPU中的Thread Scheduler(线程管理器)模拟成Control Engine(控制引擎CE),而Streaming Processors来模拟Vector Processing Engine(矢量处理引擎,VPE),其中CE控制引擎负责任务的指派,相当于PhysX中的主管机构,而真正的物理运算任务则是由VPE矢量引擎来完成,最后通过Data Movement Engine(数据移动引擎DME)输出。通过HAL翻译层来实现软、固质体动力(Soft or Rigid Body Dynamics)、通用碰撞侦测(Universal Collision Detection)、有限元素分析(Finite Element Analysis)、流体动力(Fluid Dynamics)、毛发模拟(Hair Simulation)以及更先进的布料模拟(Cloth Simulation)、自然模拟(Natural Motion)等在内的技术,最终完成物理加速效果。

最真实的游戏体验 PhysX物理加速发展漫谈 NVIDIA GPU高度并行设计的CUDA架构非常适合PhysX物理加速

而多线程PhysX引擎专为大型并行环境中的硬件加速而设计。Ageia的PhysX处理器只有10个内核,而现在NVIDIA采用CUDA架构的GPU则最多达512个内核。因此,NVIDIA的这些高度并行设计的GPU非常适合利用PhysX软件。最重要的是,由于游戏物理学具有高度并行和互动的特性,因此GPU架构自然比CPU更加适合这种计算工作。

最真实的游戏体验 PhysX物理加速发展漫谈

除了GPU架构适合PhysX物理加速方以外,NVIDIA特有的SLI技术也是一大优势。当两颗、三颗或四颗搭配的GPU以SLI的方式运行,PhysX在一颗GPU上运行,而图形渲染则在所有GPU上运行。此时的驱动程序能够优化所有GPU的可用资源,从而达到PhysX计算与图形渲染之间的平衡。因此,用户在SLI配置下能够获得大幅提升的帧速率以及更佳的整体体验。

说了这么多,那么物理加速究竟能够带来哪些好处呢?整体来说,物理加速的主要作用,就是在游戏中反应物体在周围环境的影响下显现出最真实的物理效果并且能够做出交互性应,而并非按照事先设定好的固定触发效果,让游戏玩家获得最逼真的游戏体验。通过查阅之前诸多的游戏资料,笔者发现通过对PhysX技术的支持,NVIDIA的GPU更能为我们实现将以下7种效果:

1. 尘土飞扬,碎渣四溅的大量粒子运动所形成的爆炸效果; 

最真实的游戏体验 PhysX物理加速发展漫谈

2. 设计结构复杂的各种几何模型,以完成更加逼真的物理运动和交互动作;

最真实的游戏体验 PhysX物理加速发展漫谈

3. 环绕在运动中的物体周围的大量翻腾涌动的浓烟和尘雾效果;

最真实的游戏体验 PhysX物理加速发展漫谈

4. 逼真细腻的河水、泥石流、岩浆等流体运动模拟;

最真实的游戏体验 PhysX物理加速发展漫谈

5. 衣物、草丛、树叶之类软性物体能随风自然飘动效果;

最真实的游戏体验 PhysX物理加速发展漫谈

6. 衣物,旗帜等软性物体因外界各种影响做出不同的撕裂或变形效果;

最真实的游戏体验 PhysX物理加速发展漫谈

7. 刚性物体之间相互碰撞的运动计算,一定力度之下形成拟真的成千上万个碎片运动。

最真实的游戏体验 PhysX物理加速发展漫谈

所以物理效果是未来游戏中最重要的一个方面,它涉及游戏中物体移动、互动以及对周围环境作出反应的方式。在当今许多游戏中如果没有物理效果,物体将无法按照玩家想象中的方式或像现实生活的方式运动。当前,大多数动作还仅限于预先定义好的、或“千篇一律”的动画,并且由游戏中的特定事件触发,例如枪炮射击在墙上等等。即使最强大的武器也只能在最薄的墙上留下一个斑点而已,每一个被你干掉的敌人都以预先定义好的相同模式倒下。玩家看到的只是精美的游戏画面而已,但却失去了体验真正身临其境所必需的真实感。

众游戏厂商助力 PhysX大势所趋

借助于NVIDIA强大的市场推广能力,PhysX物理技术已经获得了越来越多的游戏厂商的支持,也逐步成为未来物理加速技术的引领者。首先,已经有越来越多的游戏引擎加入对PhysX物理加速技术的支持,比如知名的Unreal Engine 3、Gamebryo、Vision、Instinct、Trinigy、Diesel、Unity 3D、 Hero、 BigWorld等;其次,应用开发领域,例如Maya、3DSamax、AutoDesk等工具也都对PhysX进行支持。

最真实的游戏体验 PhysX物理加速发展漫谈 支持PhysX物理加速的游戏相当丰富(点此查询

而最重要的是,目前已经有超过25000名游戏开发人员正在使用PhysX进行工作,而支持PhysX物理加速技术的游戏已有上百款之多,EA、THQ、 2K Games、Sega等知名开发商以及国内的QQ游戏、臻游网络等均获得了PhysX技术的应用许可,而且在未来不久的时间里,会有更多的游戏厂商采用PhysX。相比之下,竞争对手在物理加速游戏方面相当滞后,很多方面还处在理论研究阶段,出世的作品也寥寥无几。

最真实的游戏体验 PhysX物理加速发展漫谈 第一款支持PhysX物理加速的网游《全球使命》已经发布

另外,为游戏开发人员提供便利,NVIDIA还提供了的PhysX SDK(软件开发工具包),如今已经发布了3.0 SDK。利用PhysX SDK,游戏开发人员能够开发出具备下一代物理学特色及硬件加速性能的游戏。该软件包不仅具有极佳的功能性、稳定性、性能以及可扩展性,而且几乎所有的主要开发工具均支持本软件,包括现在主流的的3D建模开发工具以及微软的XNA开发工具的插件运行,开发人员只要通过拖放和点击就能完成对目标施加物理模拟效果。

最真实的游戏体验 PhysX物理加速发展漫谈 三大主机也能支持PhysX

值得一提的是,PhysX全面支持Windows 32/64位PC、苹果Mac、PS3/X360/Wii游戏主机,甚至是苹果iPhone、Android设备,所有能在GPU上运行的功能都可以在PC CPU和主机上完成。而且,NVIDIA声称还将不断地在PhysX SDK新版本中加入新特性,令引擎的使用不断优化。

PhysX技术总结及未来发展展望

文章开头已经提到,伴随着GPU性能的不断提升和图形API的不断进步,目前的3D游戏中画面已经非常精细,其中很多的游戏场景已经接近完美了。但是玩家在游戏过程中还是会感觉不真实,其实原因很简单,传统的3D游戏中缺乏真实的物理现象,或者说是游戏不支持物理模拟计算。大多数场景都还是“预先描述”好的或者是由游戏事件触发的“固定的”动画,例如游戏中枪弹击中墙壁。即使威力最大的武器也只能在最薄的墙上留下些许斑点;并且您取出每样物品的方式都是预先定义好的同一种方式。游戏玩家置身的游戏环境看起来不错,但是缺少了真正身临其境的游戏体验所必需的真实场景。

其实游戏开发着都明白在游戏中实现真实的物理模拟可以使得玩家获得前所未有的互动式体验。不光是游戏中的场景是真实的,而且每一个物体都是独立渲染并可以随意移动和破坏,同时由于有了真实的烟雾、水流和天气变化也使得游戏环境像真实的自然界一样。并且真实的物理场景也可以改变玩家玩游戏的方式,例如玩家可以利用场景中的任意物体进行移动或者攻击等等。而从未来游戏发展的方向来看,尽可能的还原真实物理场景以及实现与现实环境交互也是大势所趋,物理特效已逐步成为游戏中的一项重要体验元素。

那么为什么这么好的游戏方式在以往并没有被游戏开发商大量采用呢?这是因为物理计算需要耗费大量的并行计算能力,而以往物理计算只能运行在CPU上,我们都知道CPU擅长序列计算,在并行计算方面性能很差,这就造成以往的游戏中基本没有什么物理计算,如果增加物理计算的等级,CPU计算能力的瓶颈就会使得游戏运行速度非常慢。而正是PhysX物理加速技术的出现,才使得一切发生了翻天覆地的变化。

最真实的游戏体验 PhysX物理加速发展漫谈

毋庸置疑,在未来数年内,3D图形技术的依然朝着让游戏画面更逼真、更完美的方向发展,但更重要的是要给玩家带来更加真实的游戏体现。而只有物理加速技术的广泛应用和不断以提升才能最终解决这个问题。显而易见的是,在物理加速技术领域,NVIDIA的PhysX技术已经走在了前列,并将继续引领物理加速技术领域的发展方向和游戏产业的未来趋势,为广大的游戏玩家带来更多具有逼真互动效果的游戏画面和真实体验。

文章纠错

  • 好文点赞
  • 水文反对

此文章为快科技原创文章,快科技网站保留文章图片及文字内容版权,如需转载此文章请注明出处:快科技

观点发布 网站评论、账号管理说明
热门评论
查看全部0条评论
相关报道

最热文章排行查看排行详情

邮件订阅

评论0 | 点赞0| 分享0 | 收藏0