1. Havok:
Old Kings, supported by the following functions:
· 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
There are a lot of games and software have chosen him to do physics engine, such as HOLO3, Lost Planet, HL2, cell division, The Lord of the Rings online. ETC is now being acquired by Intel and may have special optimizations for Intel's CPUs in the future Havok.
Havok supports PS2, XBOX, GameCube, and PC gaming platforms. Half is also a partner of the world's top gaming companies, Pandemci,remedy and others. This physics engine has supported various types of games, including racing game,first-persion shooter,mmogs,adventure Games,puzzle game, etc. Hovak has also been responsible for some of the effects of film Matrix.
Success Stories:
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
The new king, the support function is as follows:
· 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
Because of the unique hardware card (physical accelerator card-ppu) support, so can handle a large number of physical operations, the other several temporarily do not. Unreal3,gamebryo, Reality engine and many other commercial engines and games have used him.
Novodex is by the development of PPU company Ageia Maintenance, so for the future PPU hardware support, no doubt Novodex is the most advantageous. Novodex is a physical engine that simulates the dynamics of a rigid body, supporting the physical concepts of speed, acceleration, momentum, impulse, collisions, and so on. Novodex's development library supports cross-platform, multi-threading, high-speed collision detection and other features, specifically optimized for automotive physics simulations. Case:
According to official documents, more than 60 game studios, companies and research institutions have adopted NOVODEX technology.
3. Bullet
Open source of the Overlord, support features as follows:
· 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 was 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
The physics engine has a long history, but it seems that there are more ode in the country, and this physics engine is a concern of Nvidia's developers (Nvidia said earlier that using the GPU to achieve physical acceleration might be the first to be implemented on this physical engine.) )
(Tip: This engine is open source, interested friends, can see.) )
4. ODE
Open source abuser, supported by the following features:
· 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 is derived from a Lagrange multiplier velocity based model due to TRINKLE/STEW Art and Anitescu/potra.
· A First Order integrator is being used. It's fast, but not accurate enough for quantitative engineering yet. Higher order integrators would 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 are 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 are 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 ...
Hey, this will not have to do too much introduction, domestic use and study this person more. Just recently saw on his webpage there is such a sentence: "Russell Smith is the primary author of ODE." I don't know who hurt this man again.
(Tip:google, a lot of Chinese articles.) )
5. TOKAMAK
Recently figured out, decided to open source. The following features are supported:
· Joints
· Friction
· Stacking
· Collision Detection
· Rigid particle
· Breakage
This physics engine appeared also earlier, the author is Japanese, in fact, the Japanese game is also very developed, can be the technology to share out, rare AH. (Japanese technical website is still a lot of.) )
6. Newton
More focus on life in the case of simulations.
6. Simple Physics Engine
Domestic products, support functions are as follows:
· Use the original fast and stable Tri-mesh collision detection algorithm to make loading model data exceptionally simple. SPE's collision detection system was designed from the outset for triangular meshes (Tri-mesh), so users can easily create rigid bodies of any shape using Mesh files, and all work is handled automatically by the SPE. At the same time, SPE supports two basic geometries of balls and capsules, enabling users to create particle effects and ragdoll systems. In addition, SPE supports continuous collision detection under certain conditions and can correctly handle high-speed moving objects in most cases.
· Collision information Analysis. SPE makes intelligent analysis of data generated by collision detection system and provides more reliable and correct raw data for collision response calculation, which greatly improves the stability of the system.
· A stable collision and contact resolution system. Starting with version 1.5, SPE uses a new solution algorithm that calculates friction and bounce more accurately and is more stable.
· SPE provides a stable basic joint function that supports configuration of parameters such as maximum distance, elasticity coefficient, and destructive power, allowing users to easily create various other types of joint.
· Real-time rigid body breakage. (Beta). The SPE provides the function of "shape manipulation", in which any model can be cut into small pieces by a set of planes or another model, and the SPE-generated model includes attribute information to differentiate between the original surface and the slice, allowing the user to render the new shape more reasonably. Currently, the API that can break the rigid body is open.
· High Parallel computing. The SPE has been multithreaded to take full advantage of the performance of multi-core CPUs. More than 90% of the computing tasks can be evenly distributed to any number of threads. Dual threads provide at least 60% performance gains compared to single threading, while four threads can bring in more than 150% performance gains. Use Speworld::setnumthreads () to turn on multithreaded computing at any time.
· The easy-to-use and user-friendly interface greatly reduces the difficulty of combining SPE with other software systems, enabling users to create a world with real physical properties in an instant.
comparison of several common physics engines
Development Company/author |
Hovok |
cmlabs |
Russell Smith |
AGEIA |
David Lam |
version |
3 |
2.3 |
0.5 |
2.1.2 |
1.21 |
release date |
2005.3 |
2004.7 |
2004.5 |
2004.11 |
20 05.3 |
supports C + + development |
Yes |
Yes |
Yes |
Yes |
Yes |
document/demo |
verbose |
verbose |
more verbose |
verbose |
more detailed |
License |
Business Prices need to be negotiated |
trade Price negotiation |
GNU lgpl/bsd/price and use need negotiation |
commercial Price need negotiation |
free |
Technical support |
full |
full |
less |
full |
none |
Other |
NA |
na |
open source |
support Ppu |
NA |
[4]