游戏/图形引擎 · C

erincatto/box3d

面向游戏的 3D 物理引擎,提供碰撞、关节、查询与可复现仿真

增长榜 #13 已读 README 并重写
增长排名 #13 Fast Growth Top 100
本期热度 Stars 56 OSSInsight 页面展示
Forks 1 榜单记录
Fork / Star 1.8% 社区复用强度

它是什么

Box3D 是一个 3D 物理引擎,专门给游戏使用。它解决的是物体碰撞、运动、关节连接、查询与睡眠管理这些物理模拟问题。主要面向需要在项目里加入真实物理交互的游戏开发者和图形/仿真开发者。

为什么值得关注

README 明确列出大量物理能力和工程特性,说明它不是演示级小样,而是完整的 3D 物理引擎。榜单里它的热度上升,也说明这类面向游戏的底层能力正在被关注。

核心能力

  • 支持连续碰撞检测,减少高速穿透问题
  • 提供接触事件、关节力和睡眠通知
  • 支持多种形状:凸包、胶囊、球体、网格和地形
  • 包含射线、形状投射和重叠查询接口

适合谁用

  • 需要给游戏加入物理交互的开发者
  • 想做刚体、关节和碰撞仿真的图形项目
  • 需要可复现仿真与录制回放的团队
  • 想学习 3D 物理引擎实现方式的工程师

使用前注意

  • 项目采用 MIT 许可证
  • README 提到使用 portable C17,适合 C 语言环境
  • 它使用 sokol,分别在 Windows、macOS、Linux 上运行
  • 提供图形界面和 many samples,说明可先从示例理解工作流

README 证据

  • README 开头直接写明:Box3D is a 3D physics engine for games
  • 列出 continuous collision detection、contact events 等核心物理能力
  • 说明支持 revolute、prismatic、distance、motor、weld、wheel joints
  • 写明 uses sokol,并分别支持 D3D11、Metal、OpenGL 4.5