Add rigid body physics, like stacking, collisions, and joints, to a browser-based 3D scene.
Prototype physics features by browsing the repo's large set of live interactive examples.
Use continuous collision detection to keep fast-moving objects from tunneling through walls.
Build a ragdoll or simple character controller on top of the box3d rigid body engine.
| isaac-mason/box3d.js | pondot/liquiddx11 | 5ec1cff/injectrc | |
|---|---|---|---|
| Stars | 68 | 70 | 65 |
| Language | C++ | C++ | C++ |
| Setup difficulty | easy | moderate | hard |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
box3d.js is a set of WebAssembly bindings for box3d, Erin Catto's 3D rigid body physics engine, compiled with Emscripten and packaged as an ES module with full TypeScript definitions. The JavaScript API mirrors the underlying C API function for function, using names like b3CreateWorld and b3World_Step, so the upstream box3d documentation and sample code carry over fairly directly to this package. Installation is a single npm install box3d.js command. The package offers four different build variants depending on where it runs: a single-file inline build for browsers that avoids serving a separate .wasm file, a standard build for Node.js or bundlers that can serve .wasm assets themselves, and multithreaded versions of both, with the browser multithreaded build requiring cross-origin isolation to be enabled on the page. The README is largely a gallery of live, clickable browser examples that demonstrate specific physics features: basic shapes, a heap of falling cubes, object stacking, restitution and friction, a conveyor belt, continuous collision detection for fast-moving objects, gravity scaling per body, linear and angular damping, applying an impulse at a specific position, collision filtering, joints, a ragdoll, a simple character controller, static compound shapes, triangle mesh colliders, procedural mesh generation, ray and shape casting, a hinge motor, GJK distance queries, contact manifolds, a dynamic bounding volume tree, and an explosion effect. Each example links to a hosted demo page on the project's GitHub Pages site. The full README is longer than what was shown.
WebAssembly bindings for Erin Catto's box3d physics engine, giving JavaScript and TypeScript projects a fast 3D rigid body simulator.
Mainly C++. The stack also includes C++, WebAssembly, Emscripten.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.