2D and 3D physics engines for the Rust programming language.
Rapier is a set of 2D and 3D physics engines for games, animation, and robotics. These crates
are rapier2d, rapier3d, rapier2d-f64, and rapier3d-f64. They are written with the Rust
programming language, by the Dimforge organization. It is forever free
and open-source!
The easiest way to get started with Rapier is to:
- Read the user-guides.
- Play with the examples:
cargo run --release --bin all_examples2andcargo run --release --bin all_examples3. Their source code are available on theexamples2d/andexamples3d/directory. - Don't hesitate to ask for help on Discord, or by opening an issue on GitHub.
Python bindings are under development. They ship as four PyPI packages —
rapier2d, rapier3d, rapier2d-f64, rapier3d-f64 — one per
(dimension, scalar) flavor. See python/README.md for how
to build the bindings, the docs, and the testbed from a checkout, and
python/docs/ for the API documentation.
AI coding is extensively used for the implementation and maintenance of the following crates: mjcf-rs,
rapier3d-mjcf, as well as the Python bindings (python/rapier-py*), including their tests, examples, and docs.
We actively use AI assistance (with human reviews) for the following tasks:
- Documentation generation.
- Changelogs generation.
- Tests generation.
- CI configuration and scripts.
We accept contributions involving AI coding as long as:
- They are verified to work properly by a human.
- The code quality is up to human-written code standards.
- Include non-regression tests whenever applicable (which itself can be AI-generated).
- Dimforge: See all the open-source projects we are working on! Follow our announcements on our blog.
- User guide: Learn to use Rapier in your project by reading the official User Guides.
- Discord: Come chat with us, get help, suggest features, on Discord!
- NPM packages: Check out our NPM packages for Rapier, if you need to use it with JavaScript/Typescript.
Please make sure to familiarize yourself with our Code of Conduct and our Contribution Guidelines before contributing or participating in discussions with the community.