11个版本 (6个破坏性版本)

使用旧的Rust 2015

0.7.0 2018年11月16日
0.5.0 2018年8月9日
0.4.0 2018年5月13日
0.2.0 2018年3月13日

#1924 in 游戏开发

每月47次下载
2 个Crates中使用 (通过 amethyst-rhusics)

MIT/Apache

170KB
3.5K SLoC

用于Specs的物理库,使用cgmath和collision-rs。

特性

  • 支持collision-rs中的所有原语
  • 支持collision-rs中的以下粗略阶段算法
    • 暴力搜索
    • 扫掠和修剪
  • 使用GJK进行窄阶段碰撞检测,并且可选地使用EPA获取完整接触信息
  • specs::System 用于在用户提供的变换和形状组件上进行碰撞检测。可选地使用粗略和/或窄阶段检测。库提供变换实现以方便使用。
  • specs::System 用于在用户提供的变换和形状组件上进行空间排序。
  • 支持使用collision-rs DBVT进行空间排序/碰撞检测。
  • 支持使用collision-rs DBVT进行粗略阶段。
  • 连续碰撞检测,使用GJK
  • 具有单次接触正向解决的简单刚体实现

待办事项

  • 冲量求解器
  • 积分器实现(Euler,RK4等)
  • 并行求解器实现

许可证

根据您的选择,许可如下

贡献

我们是一个欢迎任何人贡献的社区项目。如果您有兴趣帮忙,可以通过GitHub或gitter联系我们。

除非您明确说明,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,都应如上双许可,没有任何附加条款或条件。


lib.rs:

Rhusics 物理库

一个物理库。使用 cgmath 进行所有计算。

特性

  • 两种不同的广相碰撞检测实现
    • 暴力搜索
    • 扫掠和修剪
  • 使用GJK进行窄阶段碰撞检测,并且可选地使用EPA获取完整接触信息
  • 用于用户提供的变换和 CollisionShape 组件的碰撞检测函数。可选使用广相和/或窄相检测。库提供了一种方便的变换实现 BodyPose
  • 默认使用单精度,可以通过 double 功能更改为双精度。
  • 支持使用collision-rs DBVT进行空间排序/碰撞检测。
  • 支持使用collision-rs DBVT进行粗略阶段。
  • 支持collision-rs中的所有原语

依赖关系

~6MB
~120K SLoC