specs-physics aims to be an easily usable and extendable nphysics physics engine integration for applications and games that utilise the Specs ECS.
The dream is to simply create Entity
s with a set of configurable Component
s and have most of your physics covered, be it collision/proximity detection, velocity and acceleration or gravity.
Full examples can be found under src/examples. If anything is missing or unclear, feel free to open an issue or give me a poke!
I'd appreciate any kind of contribution to this project, be it feature requests, bugs/issues, pull requests, documentation, tests or examples!
Please just try to format any code changes according to the rustfmt.toml rules. They're not exactly set in stone and I'm open for suggestions, but let's try to keep things tidy!
Full TODO sheet can be found in this nphysics issue
- RigidBody Components
- Collider Components
- Proximity and Contact EventChannels
- External force property
-
log
based logging - Handling Body Activation & Sleeping
- Multibody-based Component Joints
- Force generator inversion of control
- Time scale and simulation pausing
Investigating:
- Proximity & Curve-based external force utility
- Constraint-based Joints
- Kinematics
Distributed under the MIT License. See LICENSE for more information.
This project is heavily inspired by nphysics-ecs-dumb; they did most of the heavy lifting, I'm just building up on what they have started!
Special thanks to: