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)
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等)
- 并行求解器实现
许可证
根据您的选择,许可如下
- Apache许可证,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
。
贡献
我们是一个欢迎任何人贡献的社区项目。如果您有兴趣帮忙,可以通过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