Add realistic 3D rigid body physics, like boxes, ragdolls, and vehicles, to a Godot game.
Try out joints such as hinges, sliders, and wheels between connected objects in a scene.
Test physics performance on Android devices using the included touch-friendly demo.
Use the sample browser as a reference for building your own physics-driven scenes.
| stink-o/box3d-godot | alphapixel/eric-graham-1987-juggler-raytracer-1.0 | redteamfortress/pplshade | |
|---|---|---|---|
| Stars | 54 | 54 | 54 |
| Language | C | C | C |
| Setup difficulty | moderate | hard | hard |
| Complexity | 3/5 | 2/5 | 5/5 |
| Audience | developer | general | researcher |
Figures from each repo's GitHub metadata at analysis time.
Windows has prebuilt binaries, Linux and macOS need to build the extension from source with scons first.
box3d-godot brings realistic 3D physics into the Godot game engine, version 4.7 specifically, by wrapping an existing physics engine called Box3D and exposing it as ready to use building blocks inside Godot, such as a physics world, physics bodies, joints connecting objects, and a character controller for moving a player around. Box3D itself, made by Erin Catto, handles the actual math of how solid 3D objects collide, bounce, and move under gravity and forces. It supports many shapes including boxes, spheres, capsules, cylinders, cones, and more complex meshes, along with a full set of joints for hinges, sliders, wheels, and fixed connections between objects. It can detect contacts and overlaps, cast rays and shapes to check what they hit, and is built for handling large numbers of physics objects efficiently using multiple threads. This project's own contribution is the Godot specific layer, kept separate from the unmodified Box3D source code, that turns those physics features into nodes a Godot developer can drag into a scene. It includes a sample browser with around 28 demo scenes showing things like stacked boxes, a ragdoll character, a drivable car, various joints, and different types of queries. It has also been tested running on real Android phones and tablets using Vulkan graphics, with touch controls built into the demo. To try it, you clone the repository and open the included demo project in Godot 4.7. Prebuilt binaries are included for Windows, so it runs immediately there, while Linux and macOS users, or anyone changing the underlying C++ code, need to build the extension first using a tool called scons. The README is upfront that this is very early and experimental: Box3D itself is still at an early version number, and the Godot binding is young, so users should expect missing features, rough edges, and changes to how things work over time. It is meant as a starting point to build on rather than something ready for a finished game. The project is licensed under the MIT license, and the author notes that AI tools were used to help with things like unit tests, sample code, and build configuration, while taking responsibility for all the code personally.
An experimental Godot 4.7 extension that brings the Box3D 3D physics engine into Godot as ready-to-use bodies, joints, and a character controller.
Mainly C. The stack also includes C, Godot 4.7, GDExtension.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.