3D物理引擎
2013-07-15 15:04
363 查看
1. Havok:
老牌的君王,支持功能如下:
http://www.havok.com
· 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
有不少游戏和软件都选择了他做物理引擎,比如HOLO3,失落星球,HL2,细胞分裂,指环王Online ..etc现在Havok被Intel收购了,以后可能对Intel的CPU会有特别的优化。
(Tip: HL2的泄漏源代码中包含了SDK,就是版本比较老了吧。)
2. NovodeX --- AGEIA PhysX
新兴的王者,支持功能如下:
http://www.ageia.com/
· 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等多款商业引擎和游戏都使用了他。
(Tip: NovodeX2.2及以前的版本,可以在没有硬件卡的情况下使用所有功能,晚上能下载到)
3. Bullet
开源届的霸主,支持功能如下:
http://www.bulletphysics.com
·
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
开源的名角,支持功能如下:
http://www.ode.org/
·
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
最近想通了,决定开源了。支持功能如下:
http://www.tokamakphysics.com/
·
Joints
·
Friction
·
Stacking
·
Collision Detection
·
Rigid Particle
·
Breakage
这个物理引擎出现也比较早了,作者是日本人,其实日本的游戏也很发达的,能把技术共享出来,难得啊。(日文的技术网站还是很多的。)
6. Newton
更多的专注于生活中的实例模拟。
http://www.newtondynamics.com
这款物理引擎名声可能不是很响,但是功能上绝对不差。比较出名的作品有:TV3D, Quest3D
(Tip:这款引擎支持Delphi;在后面这个非官方的Wiki上,有一套不错的教程:
http://walaber.com/newton_wiki/index.php?title=Main_Page
)
6.
Simple Physics Engine
国产精品,支持功能如下:
http://spehome.cn/
· 使用独创的快速而稳定的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与其他软件系统结合的难度,使用户在瞬间即可建立一个具有真实物理属性的世界。
· 更多的功能正在不断开发中……
呵呵,国人做的一款物理引擎,关注….
老牌的君王,支持功能如下:
http://www.havok.com
· 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
有不少游戏和软件都选择了他做物理引擎,比如HOLO3,失落星球,HL2,细胞分裂,指环王Online ..etc现在Havok被Intel收购了,以后可能对Intel的CPU会有特别的优化。
(Tip: HL2的泄漏源代码中包含了SDK,就是版本比较老了吧。)
2. NovodeX --- AGEIA PhysX
新兴的王者,支持功能如下:
http://www.ageia.com/
· 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等多款商业引擎和游戏都使用了他。
(Tip: NovodeX2.2及以前的版本,可以在没有硬件卡的情况下使用所有功能,晚上能下载到)
3. Bullet
开源届的霸主,支持功能如下:
http://www.bulletphysics.com
·
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
开源的名角,支持功能如下:
http://www.ode.org/
·
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
最近想通了,决定开源了。支持功能如下:
http://www.tokamakphysics.com/
·
Joints
·
Friction
·
Stacking
·
Collision Detection
·
Rigid Particle
·
Breakage
这个物理引擎出现也比较早了,作者是日本人,其实日本的游戏也很发达的,能把技术共享出来,难得啊。(日文的技术网站还是很多的。)
6. Newton
更多的专注于生活中的实例模拟。
http://www.newtondynamics.com
这款物理引擎名声可能不是很响,但是功能上绝对不差。比较出名的作品有:TV3D, Quest3D
(Tip:这款引擎支持Delphi;在后面这个非官方的Wiki上,有一套不错的教程:
http://walaber.com/newton_wiki/index.php?title=Main_Page
)
6.
Simple Physics Engine
国产精品,支持功能如下:
http://spehome.cn/
· 使用独创的快速而稳定的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与其他软件系统结合的难度,使用户在瞬间即可建立一个具有真实物理属性的世界。
· 更多的功能正在不断开发中……
呵呵,国人做的一款物理引擎,关注….
相关文章推荐
- Flex 2D 3D 物理引擎收集
- 说说WOWEngine 与 JigLib 两个3D物理引擎之间的不同
- 常见3D物理引擎概述
- 3D物理引擎
- ActionScript3 3D物理引擎
- 一个使用物理引擎的WebGL3D场景
- 【Unity 3D】学习笔记三十七:物理引擎——碰撞与休眠
- [Unity 3D] 物理引擎学习笔记(一)
- Bullet 3D 物理引擎 简析(2)
- (转)Bullet 3D 物理引擎 简析(2)
- Bullet 3D 物理引擎 简析(2)
- jiglib3D物理引擎 + PV3d 鼠标拖拽示例(中文注释)
- [转]常见的几款3D物理引擎
- 基于HT for Web 3D呈现Box2DJS物理引擎
- 【Unity 3D】学习笔记三十七:物理引擎——碰撞与休眠
- Bullet 3D 物理引擎 简析(2)
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二十三节:3D物理引擎刚体碰撞
- 基于HT for Web 3D呈现Box2DJS物理引擎
- Android之3D物理引擎
- Unity 3D——物理引擎之碰撞器