A constraint-based physics engine for 3D rigid body dynamics, designed for robotics simulation and game development.
Slingshot is a constraint-based physics engine for 3D rigid body dynamics, built around a custom entity-component-system (T-RECS). It solves the problem of simulating complex physical interactions, such as collisions and robotic movements, with support for scenario creation via an editor or API. The engine can run with graphical rendering or headlessly, making it suitable for both visualization and pure computation.
Robotics engineers and researchers who need a customizable simulation environment for testing control algorithms, as well as game developers looking for a physics engine with constraint-based dynamics.
Developers choose Slingshot for its focus on constraint-based dynamics, cross-platform compatibility, and the flexibility of a custom ECS architecture, which is particularly optimized for robotic simulation and extensibility.
Community edition of the Slingshot physics engine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a Projected Gauss-Seidel solver for equality and inequality constraints like motors and friction, enabling precise simulation of articulated systems as shown in the demos.
Employs T-RECS, a bit-based entity-component-system for efficient data management, which the README highlights as key for fast, parallelizable simulation.
Runs on Linux, Mac, and Windows with both OpenGL rendering and headless execution, allowing for versatile deployment in visualization or pure computation workflows.
Provides a dedicated editor for visually building and saving physics scenarios to JSON, simplifying creation without needing to code, as demonstrated in the GIFs.
The README admits no ROS, Unreal, or Unity support is planned, focusing on core features instead, which restricts use in standard robotics or game development pipelines.
Requires specific tools like CMake and submodule initialization, and executables must be run from the build folder due to relative path requirements, adding setup friction.
Features like Vulkan rendering, CUDA parallelization, and additional shapes are marked as 'maybe' or 'in-progress' in the roadmap, indicating gaps in current capabilities.