碰撞/物理中间件
开发碰撞系统和刚体动力学模拟是一件耗时的工作。但是好在有很多高质量的物理引擎可供选择,有些是商业产品,有些是开源的。
I-Collide、SWIFT、V-Collidde、RAPID
北卡罗莱纳大学教堂山分校(UNC)开发的一系列开源碰撞检测程序库。
ODE
开放动力学引擎(Open Dynamics Engine, ODE)是一个开源碰撞及刚体动力学SDK。免费并且有完整代码。
Bullet
Bullet是一个同时用于游戏和电影行业的开源碰撞检测及物理程序库。
Bullet支持连续碰撞检测(continuous collision detection,CCD),此功能对于检测细小高速移动物体很有帮助。
PhysX
前身是Ageia公司的NovodeX程序库。Nvidia收购Ageia后对PhysX进行了改造,让它能够使用Nvidia的GPU作为协处理器运行。(它也可以不使用GPU而完全在CPU上运行)
Cre:Nvidia在2018年底发布了PhysX4.0版本,并且正式开源。(BSD协议)
Havok
Jason:Havok是商业物理SDK的绝对标准,提供最丰富的功能集,是最昂贵的解决方案。
PAL
PAL(Physics Abstraction Layer, 物理抽象层)是一个开源程序库,让开发者可以在项目上用多个物理SDK。它提供PhysX、Newton、ODE等SDK的钩子。
DMM
瑞士PixeluxEntertainment公司开发的一个独特的物理引擎,全称数字分子物质(Digital Molecular Matter)。DMM使用有限元素法(finite element method)去模拟可变形以及可破坏物体。DMM包含离线及运行时组件。
(END)