文章目录
  1. 1. Box2D引擎简介

Box2D引擎简介

Box2D是一套基于刚体模拟的物理引擎,它的核心概念为世界、物体、形状、约束和关节,这些概念具体实现为Box2D的各个组件,他们的描述如下:

  组件                 描述
世界(b2World)    一个物理世界。物理世界就是物体、形状和约束相互作用的集合。Box2D允许在同一程序中创建多个世界,但通常这是不必要的
物体(b2Body)     物体引擎
夹具(b2Fixture)  一种用于把形状附加到物体之上的关系。我们利用形状创建夹具,再把夹具附加到物体之上,从而使得物体拥有碰撞的能力
形状(b2Shape)       物体的形状。一个严格依附于物体的2D碰撞几何结构,具有摩擦(friction)和恢复(restitution)等材料性质
约束                  约束,就是消除物体自由度的物理连接。在 2D世界中,一个物体有X方向、Y方向和旋转角度3个自由度。如果我们把一个物体钉在墙上(如同一个摆锤),那就把它约束到了墙上。此时,此物体就只能绕着这个钉子旋转,所以这个约束消除了它的3个自由度
关节(b2Join)     一种用于把两个或多个物体固定到一起的约束。Box2D支持的关节类型有旋转、棱柱和距离等。可以限制一个关节的活动范围,可以通过关节驱动所连接物体的转动

值得注意的是,Box2D仅仅更新它所管理的物理模型的位置和速度等信息。在游戏中,我们想要做的通常是赋予精灵物理性质,我们会为精灵创建Box2D物理模型,然而物理引擎运作起来后,为了把物理模型的运动体现在屏幕上,我们必须手动把物理模型的数据同步到精灵中

文章目录
  1. 1. Box2D引擎简介