Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chandlerprall/GoblinPhysics
Collision Detection & Response in JavaScript
https://github.com/chandlerprall/GoblinPhysics
Last synced: 6 days ago
JSON representation
Collision Detection & Response in JavaScript
- Host: GitHub
- URL: https://github.com/chandlerprall/GoblinPhysics
- Owner: chandlerprall
- License: other
- Created: 2013-03-26T03:34:56.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2016-10-18T21:25:27.000Z (about 8 years ago)
- Last Synced: 2024-04-25T05:40:37.262Z (7 months ago)
- Language: JavaScript
- Homepage: http://www.goblinphysics.com
- Size: 28.8 MB
- Stars: 146
- Watchers: 18
- Forks: 18
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-game-engine-dev - Goblin Physics - 3D physics engine written from the ground up in JavaScript. [[Demos](http://www.goblinphysics.com/)] (Libraries / JavaScript)
README
GoblinPhysics
==============GoblinPhysics is an open source physics engine written from the ground up in JavaScript. It aims to provide a fast and dependable physics simulation regardless of platform (desktop vs. mobile, browser vs. nodejs).
Examples
--------
* [Mesh Shape](http://www.goblinphysics.com/examples/mesh-shape-statue.html)
* [Boxes](http://www.goblinphysics.com/examples/boxes.html)
* [Box Stack](http://www.goblinphysics.com/examples/stack.html)
* [Sphere Stack](http://www.goblinphysics.com/examples/spheres.html)
* [Shapes](http://www.goblinphysics.com/examples/shapes.html)
* [Compound Shapes](http://www.goblinphysics.com/examples/compound-shapes.html)
* [Infinite Boxes](http://www.goblinphysics.com/examples/boxes.html)
* [Point Constraint](http://www.goblinphysics.com/examples/constraint-point.html)
* [Slider Constraint](http://www.goblinphysics.com/examples/constraint-slider.html)
* [Weld Constraint](http://www.goblinphysics.com/examples/constraint-weld.html)
* [Ray Traycer](http://www.goblinphysics.com/examples/raytracer.html)Features
--------
* Rigid body simulation
* Sphere, Box, Cone, Cylinder, Plane, Convex, Mesh, and Compound shapes
* Weld, Slider, and Point constraints
* Basic event callback system
* Ray tracing
* Example scripts
* Test suiteDocumentation
-------------
See `Building` below for how to generate documentation. Hosted version available at [http://www.goblinphysics.com/documentation](http://www.goblinphysics.com/documentation).Roadmap
-------
**Non-exhaustive list of planned features**
* Sweep & Prune broad phase
* More event callbacks
* More constraints
* Internal object re-use (framework for this is in place, need to actually use it)
* Island solver
* Box-Box detection for better performance and stability
* Force generatorsTests
-----
* [Balance](http://www.goblinphysics.com/tests/balance.html)
* [Box-Sphere](http://www.goblinphysics.com/tests/box-sphere.html)
* [GJK-Boxes](http://www.goblinphysics.com/tests/gjk_boxes.html)
* [GJK-Spheres](http://www.goblinphysics.com/tests/gjk_spheres.html)
* [Gravity](http://www.goblinphysics.com/tests/gravity.html)
* [Ray Tracing](http://www.goblinphysics.com/tests/raytracing.html)
* [Restitution](http://www.goblinphysics.com/tests/restitution.html)
* [Sphere-Sphere](http://www.goblinphysics.com/tests/sphere-sphere.html)
* [Support Points](http://www.goblinphysics.com/tests/support-points.html)Building
--------
[gulp](http://gulpjs.com/) is used to build the library and generate documentation. Follow gulp's [getting started](https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md) page for a quick setup. To install the packages necessary to build GoblinPhysics, run `npm install` in the git checkout directory. Once all of the packages have been downloaded you can build by running `gulp default`. To generate documenation, run `gulp docs`.License
-------
GoblinPhysics is distributed under the [zlib license](https://github.com/chandlerprall/GoblinPhysics/blob/master/LICENSE). This means you can use the library to do whatever you want, free of charge, with or without giving attribution (although attribution is always appreciated). [Three.js](https://github.com/mrdoob/three.js/) and [Stats.js](https://github.com/mrdoob/stats.js), used in GoblinPhysics' examples and tests, are distributed under the MIT license which requires attribution if used.