10个版本 (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日

#2237 in 游戏开发

Download history 27/week @ 2024-03-29 6/week @ 2024-04-05

每月下载量53次
用于 3 个库(2个直接使用)

MIT/Apache

105KB
2.5K SLoC

在Specs中使用,使用cgmath和collision-rs。

功能

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

待办事项

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

许可证

根据您的要求,许可如下

贡献

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

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献都将按上述方式双重许可,不附加任何额外条款或条件。


lib.rs:

Rhusics物理库

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

功能

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

依赖项

~1.4–2.2MB
~40K SLoC