物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。为每个游戏使用物理引擎并不是完全必要的—简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候,通过编程的方法就比较困难了。
技术简介
物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。
技术应用
当NVIDIA宣布正式收购Ageia及该公司的PhysX物理软硬件组件后,所有人都在期待,期待着NVIDIA会推出新的有关物理运算的东西出来。果不其然,最近当NVIDIA发布Forceware 177.79驱动后,意味着GeForce 8/9和GT200系列的GPU都支持PhysX引擎。这是因为NVIDIA将PhysX引擎集成到CUDA架构的物理运算中。这样,显卡就能自动进行物理加速运算。当然,PhysX在游戏上的运用仅仅是物理引擎众多运用的一方面,在整个CUDA通用运算领域上,都会有物理引擎的身影,比如计算天体间在相互引力的作用下,各自的运动轨迹等。
此次在GDC09上展示的Havok物理引擎包括了三个场景,分别为爆破、布料和AI计算。演示平台使用了i7 965至尊版处理器搭配HD4870X2显卡,运行效果比较流畅。不过唯一让人感到稍稍惊讶的是,Havok物理引擎并非是专门针对ATI显卡而设计,它能够支持OpenCL架构(布料演示DEMO就是基于OpenCL架构开发的),也就是说NVIDIA的GeForce 8以上级别显卡也很有可能能够支持Havok物理引擎。
技术分类
PhysX
PhysX是一套由NVIDIA设计的执行复杂的物理运算的技术。NVIDIA PhysX基于NVIDIA CUDA,允许其用户利用PhysX执行物理运算。在游戏中实现物理运算效果绝非易事。物理运算效果是一种对计算性能要求极高的环境,以一整套独特的物理学算法为基础,需要大量同步运算的能力。采用支持PhysX技术的NVIDIA (英伟达)GeForce 处理器是实现实时物理学特效的最佳途径,这些特效包括尘土飞扬、令物体碎片四射的爆炸、生动逼真的人物动作以及衣服布料的自然下垂与撕裂等。PhysX技术被广泛应用于150多个游戏中,其注册用户数量已超过10,000名。这项技术在索尼的Playstation 3、微软的Xbox 360、任天堂的Wii以及个人计算机上均得到了良好的支持,把游戏推向全新的境界。
此外,NVIDIA PhysX是一种功能强大的物理加速引擎,可在顶级PC和游戏中实现实时的物理学计算。PhysX设计用途是利用具备数百个内核的强大处理器来进行硬件加速。加上GPU超强的并行处理能力,PhysX将使物理加速处理能力呈指数倍增长并将您的游戏体验提升至一个全新的水平,在游戏中呈现丰富多彩、身临其境的物理学游戏环境。
NVIDIA将PhysX引擎集成到CUDA架构的物理运算中,这样就可以是GeForce 8/9及GT200系列全部都支持PhysX引擎, 所有已使用PhysX技术的游戏都支持新版驱动程序,果装有支持CUDA平台的显卡,游戏将自动选取显卡进行物理加速运算,仍会使用性能较慢的CPU进行运算。此外,PhysX并不只使用于游戏市场,同时亦会运用CUDA通用运算领域上,应用更广。
无论是GPU还是CPU、PPU、Cell(PS3)都可以通过HAL翻译层来实现软、固质体动力(Soft or Rigid Body Dynamics)、通用碰撞侦测(Universal Collision Detection)、有限元素分析(Finite Element Analysis)、流体动力(Fluid Dynamics)、毛发模拟(Hair Simulation),以及更高级开发平台APEX中的更先进的布料模拟(Cloth Simulation)、自然模拟(Natural Motion)等在内新颖技术。
通过过CUDA通用接口,PhysX引擎将NVIDIA GPU中的Thread Scheduler(线程管理器)模拟成Control Engine(控制引擎CE),而Streaming Processors来模拟Vector Processing Engine(矢量处理引擎,VPE),其中CE控制引擎负责任务的指派,相当于PhysX中的主管机构,而真正的物理运算任务则是由VPE矢量引擎来完成,最后通过Data Movement Engine(数据移动引擎DME)输出。
Havok
Havok原是一家业界领先的软件服务提供商,其物理引擎被超过200款游戏使用,许多电影也应用了这家公司的软件技术。去年9月,Intel突然宣布收购Havok,业界普遍猜测此举是为了抑制NVIDIA、AMD在游戏物理引擎领域的扩张。
日前,Intel使出了扩展Havok物理引擎市场的杀手锏——免费!Havok在网站上开始提供其物理和动画引擎产品的全免费下载。内容包括Havok SDK库、样例、技术文档以及支持Maya、3ds Max和Avid XSI等3D建模软件的格式转换工具。所有的一切只要简单注册一下姓名邮箱就可以免费下载。