9个重大发布
0.10.0 | 2020年6月7日 |
---|---|
0.8.0 | 2020年3月2日 |
0.7.0 | 2019年10月28日 |
0.5.0 | 2019年3月31日 |
0.1.0 | 2018年7月28日 |
#1864 in 游戏开发
每月 70次下载
2MB
44K SLoC
如果您想捐赠以支持 nphysics 的发展,请点击以下按钮之一。
nphysics
nphysics 是一个用于游戏和动画的2D和3D物理引擎。它使用 ncollide 进行碰撞检测,并使用 nalgebra 进行向量/矩阵数学。2D和3D实现都使用相同的代码!
示例代码位于 examples2d
和 examples3d
目录中。交互式3D示例 在此 可用。由于这些演示基于WASM和WebGl 1.0,它们应在大多数现代浏览器上工作。请随时在官方 用户论坛 上寻求帮助和讨论功能。
为什么还需要另一个物理引擎?
现在市面上有各种各样的物理引擎。然而,用Rust编写物理引擎比编写绑定要有趣得多,并且具有一些优点。
- 它表明Rust适用于软实时应用。− 它具有使用减少坐标方法的高效多体实现。还支持基于约束的关节。
- 它表明没有必要为2D和3D编写两个单独的引擎:关于维度的通用性是可能的(除了解决每个维度的基础算术特殊化外)。
- 在不太遥远的未来,C++ 将因为其丑陋而消亡。那时,人们将寻找一个物理引擎,而 nphysics 将在那里,自豪地展示其 Rusty 的性感。
功能
- 静态、动态和运动学刚体。
- 常见的凸几何体:盒子、球、凸多面体。
- 由凸几何体构建的凹几何体:复合几何体、三角形网格、多段线。
- 使用降阶坐标方法或基于约束的关节的多体。
- 多体关节限制和电机。
- 由于基于位置的非线性穿透校正和一次性接触流形生成,堆叠稳定。
- 基于岛屿的休眠(物体在静止时关闭)。
- 光线投射。
- 基于扫掠球体的连续碰撞检测。
- 球窝关节。
- 固定关节。
- 传感器。
- 可变形体(又称软体)
- 运动学体
- 支持WASM
缺少什么?
nphysics 是一个非常年轻的库,需要学习很多东西才能成为一个成熟的人。许多缺失的功能都是因为 ncollide 缺失。来自 nphysics 自身的缺失功能包括
- 更多的关节、关节限制、关节电机和可破坏关节。
- 并行管道
- 基于GPU的管道
依赖关系
编译物理引擎所需的库包括
编译示例所需的库包括
- kiss3d: 3D图形引擎。
依赖关系
~23–33MB
~353K SLoC