使用gta5物理引擎擎,怎么控制人物是匀速移动的

由来/物理引擎
游戏中并没有所说的这种“物理效果”,还不是一样可以让人能看到该运动的东西还是在动啊,并非就是很死板地一堆放在那里。要说清楚这个问题,其实也很简单,在以往的游戏中,比如打坏一个油桶,物理引擎就会按照游戏设计者预先设计好的脚本来爆炸,这就是为什么在以往的3D游戏中,那些物体只会按照原定计划做规定动作的原因。自从游戏中加入了物理引擎后就不一样了,物理引擎完全突破了以往按预定脚本执行的方式,而是要求在3D游戏中的那些物体都要遵行物理参数来运行。这样的好处就是如果你的显卡和处理器足够强大,物理引擎就能模拟真实世界中各种物体运动的规律来运动。不过所谓的“物理引擎”并不是指那些实实在在的物理效果,物理引擎和此前理解的3D游戏引擎类似,是给游戏开发者的一个平台,允许游戏开发人员只用几行代码就能在游戏中加入烟雾等效果,非常方便。举个简单的例子,在几年前还没有物理引擎的时候,在那种FPS游戏中,一位士兵往一个油桶旁边扔一个手雷,手雷爆炸,引起了油桶的爆炸。不过这个过程显得相当死板,不管是把手雷丢在油桶的左边还是右边,油桶都只会按照预先设计的样子爆炸,不会有区别。如果有了物理引擎,手雷扔在油桶的左边或右边都会产生不同的爆炸效果,石块会朝不同的角度飞溅起来,烟雾也会慢慢冒起来……通过物理引擎,实现这些物体之间相互影响的效果是相当简单的。这是物理计算最初给的印象,虽然这样的设计有点意思,但老是看这些爆炸场景看多以后,但总让人感觉物理引擎的效果也就仅局限于那些爆炸后石头飞起来的场景,感觉有点单一。
常见/物理引擎
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 due 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更多的专注于生活中的实例模拟。⒍ 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与其他软件系统结合的难度,使用户在瞬间即可建立一个具有真实物理属性的世界。
比较/物理引擎
开发公司/作者
Russell Smith
是否支持C++开发
价格需要协商
价格需要协商
GNU LGPL/BSD/价格和使用需要协商
价格需要协商
技术分类/物理引擎
PhysXPhysxPhysX 是一套由NⅥDIA 设计的执行复杂的物理运算的技术。NⅥDIA PhysX基于NⅥDIA CUDA,允许其用户利用 PhysX 执行物理运算。在游戏中实现物理运算效果绝非易事。物理运算效果是一种对计算性能要求极高的环境,以一整套独特的物理学算法为基础,需要大量同步运算的能力。采用支持PhysX(TM)技术的NⅥDIA&(英伟达(TM))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 Scheduler(线程管理器)模拟成Control Engine(控制引擎CE),而Streaming Processors来模拟Vector Processing Engine(矢量处理引擎,VPE),其中CE控制引擎负责任务的指派,相当于PhysX中的主管机构,而真正的物理运算任务则是由VPE矢量引擎来完成,最后通过Data Movement Engine(数据移动引擎DME)输出。HavokHavok原是一家业界领先的软件服务提供商,其物理引擎被超过200款游戏使用,许多电影也应用了这家公司的软件技术。2007年9月,Intel突然宣布收购Havok,业界普遍猜测此举是为了抑制NⅥDIA、AMD在游戏物理引擎领域的扩张。Havok日前,Intel使出了扩展Havok物理引擎市场的杀手锏——免费!Havok在网站上开始提供其物理和动画引擎产品的全免费下载。内容包括Havok SDK库、样例、技术文档以及支持Maya、3ds Max和Avid XSI等3D建模软件的格式转换工具。所有的一切只要简单注册一下姓名邮箱就可以免费下载。物理引擎
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:6次
参与编辑人数:6位
最近更新时间: 01:28:25
申请可获得以下专属权利:
贡献光荣榜守望先锋物理引擎亲测 怎么利用物理引擎
  大家好,今天我们来为大家讲一下守望先锋物理引擎,玩家利用爬墙,射击和位移来亲自测试守望先锋物理引擎,怎么利用物理引擎。
  守望先锋物理引擎介绍:
  这个游戏在不使用技能的时候,物理引擎还算是科学的,有重力加速度。存在某种地面摩擦力会限制单位的速度为你目前的标准移动速度(就是你wasd的移动速度),这个力是跃变的。目测非常大,效果是在地面变向几乎没有惯性,会在按下方向键后非常短的时间内把你的速度变为该方向标准移动速度。空中的单位不受地面摩擦力,其受击退(爆炸类)效果影响会更加显著,空中可以用方向键改变动量,但这个力大小有限,体现为变向困难,因此所谓跳起来往往是活靶子。
  地图元素是完全没有和角色相互作用的质量的。如果是障碍物,则会立刻停止角色在垂直障碍物方向的移动(速度降为0)。
  但是这里面的游戏角色都是超级英雄,当她们之中的某些使用了强制位移技能的时候,物理引擎就不再科学了。比如源氏的shift,寡妇的勾,路霸的勾等等。这些技能显然并不物理,角色并非受到了一个固定冲量,而是强行对单位赋予一个临时的固定速度。当到达位置/持续时间结束后,速度再降为0。于是我们就看到了寡妇抓篮球起飞这样不科学的事情&&因为钩爪是强制让寡妇以固定速度向抓住的方向位移,此时如果受到其他击退效果也不会改变寡妇的运动轨迹。&&这一类我暂且称之为&固定速度&
  那么为什么源氏能做出超级跳呢?
  源氏本身有个上墙的技能,这个技能在你离墙足够近,并且视角面朝墙,按住&前&+&空格&时自动发动,在松开任意一个键,离开墙面或者上到墙顶的时候会自动结束。如果以上到墙顶为结束,此时有一个以双手为轴的翻越动作。这个翻越动作是&物理&的。大概是基于现实的类似动作考虑效果,暴雪设计为这个翻越动作只改变速度方向,不改变当前的速度大小&&这就造成问题了。
上一篇: 下一篇:物理引擎是什么
  物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。为每个游戏使用物理引擎并不是完全必要的&简单的&牛顿&物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候,通过编程的方法就比较困难了。技术简介  物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。技术应用  当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)、有限元素分析(Fie 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建模软件的格式转换工具。所有的一切只要简单注册一下姓名邮箱就可以免费下载。
最新更新栏目
您可能喜欢
大家都在搜The page is temporarily unavailable
nginx error!
The page you are looking for is temporarily unavailable.
Please try again later.
Website Administrator
Something has triggered an error on your
This is the default error page for
nginx that is distributed with
It is located
/usr/share/nginx/html/50x.html
You should customize this error page for your own
site or edit the error_page directive in
the nginx configuration file
/etc/nginx/nginx.conf.

我要回帖

更多关于 游戏物理引擎开发 pdf 的文章

 

随机推荐