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 游戏开发
每月下载量53次
用于 3 个库(2个直接使用)
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等)
- 并行求解器实现
许可证
根据您的要求,许可如下
- Apache License,版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
我们是一个欢迎任何人贡献的社区项目。如果您有兴趣帮忙,您可以通过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