物理引擎
① 物理引擎的作用是:
物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可内以得到更加真实容的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。
② 物理引擎的技术分类
PhysX 是一套由NⅥDIA 设计的执行复杂的物理运算的技术。NⅥDIA PhysX基于NⅥDIA CUDA,允许其用户利用 PhysX 执行物理运算。在游戏中实现物理运算效果绝非易事。物理运算效果是一种对计算性能要求极高的环境,以一整套独特的物理学算法为基础,需要大量同步运算的能力。采用支持PhysX™技术的NⅥDIA®(英伟达™)GeForce®;处理器是实现实时物理学特效的最佳途径,这些特效包括尘土飞扬、令物体碎片四射的爆炸、生动逼真的人物动作以及衣服布料的自然下垂与撕裂等。PhysX技术被广泛应用于150多个游戏中,其注册用户数量已超过10,000名。这项技术在索尼的Playstation 3、微软的Xbox 360、任天堂的Wii以及个人计算机上均得到了良好的支持,把游戏推向全新的境界。
此外,NⅥDIA PhysX是一种功能强大的物理加速引擎,可在顶级PC和游戏中实现实时的物理学计算。PhysX设计用途是利用具备数百个内核的强大处理器来进行硬件加速。加上GPU超强的并行处理能力,PhysX将使物理加速处理能力呈指数倍增长并将您的游戏体验提升至一个全新的水平,在游戏中呈现丰富多彩、身临其境的物理学游戏环境。其中特色如下:
⒈爆炸引起的烟尘和随之产生的碎片
⒉复杂、连贯的几何学计算使人物的动作和互动更加逼真
⒊其视觉效果令人叹为观止的全新武器
⒋布纹的编织和撕裂效果非常自然
⒌运动物体周围烟雾翻腾
⒍采用NⅥDIA支持PhysX的GeForce处理器是实现真实物理加速效果的唯一途径,其可缩放、复杂、逼真、高度互动的特性将彻底颠覆您的娱乐体验。
NⅥDIA将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引擎将NⅥDIA GPU中的Thread Scheler(线程管理器)模拟成Control Engine(控制引擎CE),而Streaming Processors来模拟Vector Processing Engine(矢量处理引擎,VPE),其中CE控制引擎负责任务的指派,相当于PhysX中的主管机构,而真正的物理运算任务则是由VPE矢量引擎来完成,最后通过Data Movement Engine(数据移动引擎DME)输出。 Havok原是一家业界领先的软件服务提供商,其物理引擎被超过200款游戏使用,许多电影也应用了这家公司的软件技术。2007年9月,Intel突然宣布收购Havok,业界普遍猜测此举是为了抑制NⅥDIA、AMD在游戏物理引擎领域的扩张。
日前,Intel使出了扩展Havok物理引擎市场的杀手锏——免费!Havok在网站上开始提供其物理和动画引擎产品的全免费下载。内容包括Havok SDK库、样例、技术文档以及支持Maya、3ds Max和Avid XSI等3D建模软件的格式转换工具。所有的一切只要简单注册一下姓名邮箱就可以免费下载。
③ 物理引擎的作用是什么呢
物理引擎的确是在游戏中用的比较多,还有一些展示性的项目中可以用,工业cae中的物理引擎虽然他们本质差不多但是不叫做物理引擎。游戏中物理引擎由于系统延迟,内存,cpu和显卡等的限制,一般会对原本很严谨完善的数学模型做简化,这样就可以很快的得到一个看起来不错能够欺骗眼睛的结果。工程中因为对计算结果要求的精度更高,所以可以容忍更长的计算时间,比如可以用小型服务器,超算集群跑几天甚至几个星期来得到一个更精确的结果。其实他们底层的数学模型都是差不多的,只是实际应用时取舍近似的不同。
④ 物理引擎是什么意思
那个是计算机术语
电子游戏里面会有很多的画面,比如你说的使命召唤,会有很多人拿着枪互相射击的画面。这些画面如果需要显示出来,需要进行物理运算和贴图运算。物理运算的内容包括子弹的弹道,人物的动作,尘土的飞扬,车辆的运转……而贴图则主要负责每个物体的颜色,细节,形状
我们的机器,其中显卡的部分负责贴图运算,而CPU负责物理运算。那么CPU进行物理运算的时候需要遵循一定的法则。简而言之,这些法则就是游戏设计人员事先设定好的运算规则,可以称之为物理引擎。
⑤ 物理引擎的常见
1. Havok:
老牌的君王,支持功能如下:
· Collision Detection - including Continuous Physics?
· MOPP? Technology - for compact representation of large collision meshes
· Dynamics and Constraint Solving
· Vehicle Dynamics
· Data Serialization and Art Tool Support
· Visual Debugger for in-game diagnostic feedback
有不少游戏和软件都选择了他做物理引擎,比如HALO3、失落星球、HL2、 细胞分裂、指环王Online等等。etc如今Havok被Intel收购了,以后可能对Intel的CPU会有特别的优化。
Havok对PS2、XBOX、GameCube、PC多种游戏平台都有支持。也是世界顶级游戏公司Valve(Half Life的公司),Pandemci,Remedy等的合作伙伴。这个物理引擎曾经支持过各种类型的游戏,包括racing game,first-persion shooter,MMOGs,adventure games,puzzle games等等。Hovak还曾经负责电影Matrix的部分效果处理。
成功案例:
Crash Nitro Kart、Half-Life 2、Max Payne 2、Medal of Honor、F.E.A.R.、Lord of the Rings: Middle Earth Online。
2. NovodeX --- AGEIA PhysX
新兴的王者,支持功能如下:
· Massively Parallel Physics Architecture
· High-speed GDDR3 Memory Interface
· AGEIA Universal Continuous Collision Detection
· AGEIA Physical Smart Particle Technology
· AGEIA Complex Object Physics System
· AGEIA Scalable Terrain Fidelity
· AGEIA Dynamic Gaming Framework
因为特有的硬件卡(物理加速卡-PPU)支持,所以能处理大量的物理运算,其他几款暂时没得比。Unreal3,GameBryo, Reality Engine等多款商业引擎和游戏都使用了他。
NovodeX是由开发PPU的公司AGEIA进行维护,因此对于将来PPU硬件的支持,无疑NovodeX是最有优势的。NovodeX是一个模拟刚体动力学的物理引擎,支持速度,加速度,动量,冲量,碰撞等等的物理概念。NovodeX的开发库支持跨平台,多线程,高速碰撞检测等特性,专门对汽车物理的模拟做了优化。案例:
根据官方文档,已经有超过60个游戏工作室、公司和研究机构采用了NovodeX的技术。
3. Bullet
开源届的霸主,支持功能如下:
· Multi Platform support
· Supports various shape types:
· Discrete Collision Detection for Rigid Body Simulation
· Single Queries:
· Sweep and Prune Broadphase
· Documentation and Support
· Auto generation of MSVC project files,comes with Jam build system
· Bullet Collision Detection works with Bullet Dynamics,but there is also a sample integration with Open Dynamics Engine.
· Framework with 2 different Constraint Solvers
· Hinge,Point to Point Constraint,Twist Cone Constraint (ragdolls)
· Automatic de-activation (sleeping)
· Generic 6 Degree of Freedom Constraint,Motors,Limits
· LCP Warm starting of contact points
· Collada 1.4 Physics Import using FCollada and COLLADA-DOM
· Convex Decomposition Code
这款物理引擎的历史也比较久了,但似乎国内知道的ODE的人更多一些,这款物理引擎被Nvidia的开发人员所关注(Nvidia前些时候说过,要用GPU来实现物理加速,可能会最先在这款物理引擎上实现。)
(Tip: 这款引擎是开源的,有兴趣的朋友,可以看看。)
4. ODE
开源的名角,支持功能如下:
· Rigid bodies with arbitrary mass distribution.
· Joint types: ball-and-socket,hinge,slider (prismatic),hinge-2,fixed,angular motor,linear motor,universal.
· Collision primitives: sphere,box,cylinder,capsule,plane,ray,and triangular mesh,convex.
· Collision spaces: Quad tree,hash space,and simple.
· Simulation method: The equations of motion are derived from a Lagrange multiplier velocity based model e to Trinkle/Stewart and Anitescu/Potra.
· A first order integrator is being used. It's fast,but not accurate enough for quantitative engineering yet. Higher order integrators will come later.
· Choice of time stepping methods: either the standard ``big matrix'' method or the newer iterative QuickStep method can be used.
· Contact and friction model: This is based on the Dantzig LCP solver described by Baraff,although ODE implements a faster approximation to the Coloumb friction model.
· Has a native C interface (even though ODE is mostly written in C++).
· Has a C++ interface built on top of the C one.
· Many unit tests,and more being written all the time.
· Platform specific optimizations.
· Other stuff I forgot to mention...
嘿嘿,这个就不用做过多的介绍了,国内使用和学习这个的人比较多了。只是如今看到他的网页上有这么一句话:“Russell Smith is the primary author of ODE.”不知道是谁又伤害了这位仁兄。
(Tip: Google一下,中文文章一大把。)
5. TOKAMAK
如今想通了,决定开源了。支持功能如下:
· Joints
· Friction
· Stacking
· Collision Detection
· Rigid Particle
· Breakage
这个物理引擎出现也比较早了,作者是日本人,其实日本的游戏也很发达的,能把技术共享出来,难得啊。(日文的技术网站还是很多的。)
6. Newton
更多的专注于生活中的实例模拟。
7. Simple Physics Engine
国产精品,支持功能如下:
· 使用独创的快速而稳定的Tri-Mesh碰撞检测算法,使载入模型数据异常简单。SPE的碰撞检测系统从一开始就是针对三角形网格(Tri-Mesh)而设计,所以用户可以方便地使用mesh文件创建任意形状的刚体,SPE内部将自动处理所有工作。同时,SPE支持球和胶囊两种基本几何形状,方便用户创建粒子特效和ragdoll系统。此外,SPE支持一定条件下的连续碰撞检测,可以正确地处理大多数情况下的高速运动物体。
· 碰撞信息分析。SPE对碰撞检测系统产生的数据进行智能化分析,为碰撞反应计算提供更可靠更正确的原始数据,极大地提高了系统的稳定性。
· 稳定的碰撞与接触解决系统。从1.5版开始,SPE采用全新的解决算法,更正确地计算摩擦与反弹,而且更稳定。
· SPE提供一种稳定的基本Joint功能,支持最大距离、弹性系数以及破坏力等参数的配置,用户可以使用它方便地创建各种其他类型的Joint。
· 实时刚体破碎。(Beta)。SPE提供“形状操作”的功能,任何模型均可被一组平面或另一个模型切成小块,SPE生成的模型中包括用于区分原始表面与切面的属性信息,方便用户更合理地渲染出新的形状。如今,可破坏刚体的API已经开放。
· 高并行计算。SPE已经完成了多线程化以充分利用多核心CPU的性能. 90%以上的计算任务都可均匀地分配到任意数量的线程中去. 与单线程相比,双线程至少能提供60%的性能提升,而四线程可以带来150%以上的性能提升。使用SPEWorld::SetNumThreads()即可在任何时候开启多线程计算。
· 简单易用而人性化的接口,极大地降低了SPE与其他软件系统结合的难度,使用户在瞬间即可建立一个具有真实物理属性的世界。
⑥ 物理引擎和虚拟引擎有什么区别
物理引擎通过为刚性物体赋予真实的物理属性的方式来计算它们的运动、旋转和版碰撞反映。为每个游戏使用权物理引擎并不是完全必要的——简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。
好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。
物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。
虚幻3引擎的所有编写观念都是为了更加容易的内容制作和编程的开发,为了让所有的美术开发人员能够牵扯到最少程序开发内容的情况下使用抽象程序助手来自由创作虚拟环境,以及提供程序编写者高效率的模块和可扩展的开发构架用来创建,测试,和完成各种类型的游戏制作。
⑦ 游戏引擎与物理引擎是不是同一个东西(懂的进)
你好!
游戏引擎是
画面
特效
包括物理引擎
物理引擎是
具有物理仿真效果的演算
比如物体碰撞后的形状方向变化等等
我的回答你还满意吗~~
⑧ 一个游戏的物理引擎到底是什么有什么用
物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。为每个游戏内使用物理引擎并容不是完全必要的—简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。
⑨ 物理引擎最真实的游戏是哪些最好有赛车内的
live for speed 非常真实的赛车游戏,我考驾照前都用这游戏来练习的。各种参数都可以调,齿比、刹车比、前后悬挂、胎压、下压力等等都可以调,别用玩极品飞车的方法来玩,因为一上草地就很容易失控!
⑩ 三大物理引擎是哪几个
分不清图形引擎和物理引擎的同志,主要是PhysX Havok主要都是这两个