Repolode
jrouwe

jrouwe/JoltPhysics

面向游戏和 VR 应用的 C++ 刚体物理与碰撞检测库,支持多核并行。

可替代:HavokPhysX

Star
11,770
Fork
989
未关闭 Issue
13
最近提交
昨天

这是什么?

Jolt Physics 是一个用 C++ 编写的刚体模拟与碰撞检测库,主要面向游戏和 VR 应用。它的设计考虑了多线程场景:物理数据可以在主模拟运行时从后台线程读取或批量加载,碰撞查询也能与模拟步骤并行执行。

库内提供丰富的物理基础能力,包括球体、盒体、胶囊体、凸包、三角网格和高度场地形等形状,以及铰链、滑块、弹簧、齿轮、6 自由度关节等约束。此外还支持布娃娃、轮式和履带式载具、角色控制器、软体、基于 GPU 的头发模拟和浮力计算。模拟过程是确定性的,联机时只需同步输入即可保持一致。库依赖 C++ 标准库,可用 Visual Studio、Clang 或 GCC 编译,且不使用 RTTI 和异常。

核心功能

  • 01刚体模拟支持多种形状并采用连续碰撞检测。
  • 02提供铰链、滑块、锥形、距离、齿轮、滑轮和 6 自由度等约束,并支持马达驱动。
  • 03支持布娃娃,可通过硬性或软性方式跟随动画姿态。
  • 04包含角色控制器、轮式和履带式载具以及软体模拟。
  • 05模拟具有确定性,只需同步输入即可在远端复现。
  • 06支持 Windows、Linux、macOS、Android、iOS、FreeBSD,WebAssembly 版本由独立项目提供。

适用场景

  • 为 C++ 游戏引擎添加刚体物理和碰撞检测。
  • 开发需要物理合理的物体与约束的 VR 交互。
  • 构建依赖确定性模拟和输入同步的联机游戏。
  • 在游戏世界中模拟载具、布娃娃或角色移动。

快速上手

  1. 1

    阅读 HelloWorld 示例以开始使用

  2. 2

    按照构建说明编译库

  3. 3

    浏览 Samples 应用程序以了解各项功能

使用前须知

  • 需要 C++17,并使用 Visual Studio 2022+、Clang 16+ 或 GCC 12+。
  • 部分平台(如 Platform Blue)需要自备构建环境,并使用受保密协议约束的文件。

标签

常见问题

JoltPhysics 是什么?
面向游戏和 VR 应用的 C++ 刚体物理与碰撞检测库,支持多核并行。 Jolt Physics 是一个用 C++ 编写的刚体模拟与碰撞检测库,主要面向游戏和 VR 应用。它的设计考虑了多线程场景:物理数据可以在主模拟运行时从后台线程读取或批量加载,碰撞查询也能与模拟步骤并行执行。
JoltPhysics 可以免费使用吗?用的什么许可证?
JoltPhysics 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
JoltPhysics 还在维护吗?
活跃维护中。JoltPhysics 最近一次提交是在 2026年10月18日。
JoltPhysics 适合用来做什么?
为 C++ 游戏引擎添加刚体物理和碰撞检测。 开发需要物理合理的物体与约束的 VR 交互。 构建依赖确定性模拟和输入同步的联机游戏。 在游戏世界中模拟载具、布娃娃或角色移动。
JoltPhysics 怎么安装和运行?
阅读 HelloWorld 示例以开始使用 按照构建说明编译库 浏览 Samples 应用程序以了解各项功能
在哪里获取 JoltPhysics?
源代码和安装说明在 GitHub 上:https://github.com/jrouwe/JoltPhysics

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目