JBox2D: A Java Physics Engine
JBox2D is a close Java port of Erin Catto's excellent C++ Box2D physics engine and Google's LiquidFun physics Engine. Check out the demos below to see some examples of what it can do.
(It's technically more accurate to say it's just a port of LiquidFun now, and LiquidFun is fork of Box2D, but the library started as a Box2D port.)
The project has recently been moved to Github. Downloads and issue tracker are at the Github project page, and the wiki is still on Google Code
- Rigid body physics
- Stable stacking
- Fast persistent contact solver
- Dynamic tree broadphase
- Sliding friction
- Boxes, circles, edges and polygons
- Several joint types: distance, revolute, prismatic, pulley, gear, mouse
- Sleeping (removes motionless bodies from simulation until touched)
- Continuous collision detection (accurate solving of fast bodies)
- Ray casts
- Dynamic, Kinematic, and Static bodies
- Liquid particle simulation from Google's LiquidFun
- OLD gwtbox2d demos (HTML5, best viewed with Chrome)
- OLD jbox2d demos (Java applet, v2.0.1)
- Grab the executable testbed jar from one of the releases for a current demo.
This project is led by Daniel Murphy (toucansam in the forums). It was started in late 2007 by quixote_arg and ewjordan, and is released under the permissive and commercial-friendly open source zlib license, like the original Box2D engine.
For documentation, you can always refer to the included Javadocs, but JBox2D is very closely related to the C++ Box2D, so please see the C++ documentation at Box2D.org which, apart from minor name changes (b2Body -> Body, for instance, and in the Java port methods are camel-cased instead of capitalized), should apply equally well to JBox2D. Also see the source code of the demos (the org.jbox2d.testbed.tests package) to see how various effects are achieved in JBox2D.
The LiquidFun project has documentation on both the liquid particle physics and the base engine itself, which you can access on their website.
If you would like to help out with this project, or if you have any questions, please head over to the Box2D site and discuss with us in the Java Box2D subforum.
This project is maintained in free time. Happy with the engine? Want to buy me a beer? Want to see more development?