#physics #cgmath #specs #gamedev

rhusics-core

Physics library for use with specs

10 releases (6 breaking)

Uses old Rust 2015

0.7.0 Nov 16, 2018
0.5.0 Aug 9, 2018
0.4.0 May 13, 2018
0.2.0 Mar 13, 2018

#1393 in Game dev

23 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

105KB
2.5K SLoC

Physics library for use in Specs, using cgmath and collision-rs.

Features:

  • Has support for all primitives in collision-rs
  • Has support for the following broad phase algorithms in collision-rs:
    • Brute force
    • Sweep and Prune
  • Narrow phase collision detection using GJK, and optionally EPA for full contact information
  • specs::System for collision detection working on user supplied transform, and shape components. Can optionally use broad and/or narrow phase detection. Library supplies a transform implementation for convenience.
  • specs::System for spatial sorting on user supplied transform, and shape components.
  • Has support for doing spatial sort/collision detection using the collision-rs DBVT.
  • Support for doing broad phase using the collision-rs DBVT.
  • Continuous collision detection, using GJK
  • Simple rigid body implementation with single contact forward resolution

TODO:

  • Impulse solver
  • Integrator implementations (Euler, RK4, etc.)
  • Parallel solver implementation

License

Licensed under either of

at your option.

Contribution

We are a community project that welcomes contribution from anyone. If you're interested in helping out, you can contact us either through GitHub, or via gitter.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


lib.rs:

Rhusics physics library

A physics library. Uses cgmath for all computation.

Features:

  • Two different broad phase collision detection implementations:
    • Brute force
    • Sweep and Prune
  • Narrow phase collision detection using GJK, and optionally EPA for full contact information
  • Functions for collision detection working on user supplied transform, and CollisionShape components. Can optionally use broad and/or narrow phase detection. Library supplies a transform implementation BodyPose for convenience.
  • Uses single precision as default, can be changed to double precision with the double feature.
  • Has support for doing spatial sort/collision detection using the collision-rs DBVT.
  • Support for doing broad phase using the collision-rs DBVT.
  • Has support for all primitives in collision-rs

Dependencies

~1.5–2.3MB
~42K SLoC