Physijs - A Physics Plugin For Three.js
How does Physijs work?
Physijs is built on top of ammo.js (although there is also a cannon.js
branch) and runs the physics simulation in a separate thread (via web
worker) to avoid impacting in your application's performance and taking
up your your 3D rendering time.
A lot of effort has been made to keep the style of code the same when using Physijs. Apart from updating an object's position, all of the normal three.js conventions remain the same. If you are used to three.js, you already know how to use the Physijs plugin.
Who is this for?
You, hopefully. If you are familiar with three.js and want to add
physics to your scene, this is the plugin for you. No mucking about with
shape definitions, keeping objects in their correct positions, or
identifying collisions - simply use a few Physijs objects in place of
three.js's and you'll automatically have a dynamic environment.
If you need (or want) a feature not already included then add it to the issue tracker or implement it yourself and send over a pull request.
- Support for multiple object shapes, including custom convex objects.
- Material system provides simple control over friction and restitution ("bounciness")
- Integrated collision detection and events
- Compound objects using the hierarchy system in three.js
- Rotations using either euler or quaternion systems - your preference
- Built seamlessly on top of three.js to keep the same convention and coding style
Demo: http:/ / chandlerprall. github. com/ Physijs/ examples/ body. html
License: MIT License
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)