上QQ阅读APP看书,第一时间看更新
第9章 物理引擎——Box2d基础
Box2d(http://Box2d.org/)是一个轻量级的,用于2D游戏的刚体模拟的物理引擎。所谓刚体,可以理解为硬的东西,它的尺寸固定,可以忽略形变,在刚体内部,点和点之间的距离不会变化。例如,笔者手下的键盘和鼠标,旁边的杯子,这些不容易变形的东西就是刚体。
那么有什么不是刚体呢?例如,杯子里面的水、身上穿的衣服、手边的手纸……它们被称为流体以及布料。和刚体对应的是软体,不是软件,如泥巴、面团、橡胶。在物理模拟中,这些东西的模拟是最麻烦的,而最好模拟的就是刚体了,PhysX物理引擎可以很好地模拟,而Box2d只能用刚体来模拟这一切。
虽然是轻量级的东西,但内容还是相当丰富的,本章会介绍Box2d的基础知识,并简单介绍Box2d是如何工作的。
对于Box2d的基础知识,Box2d官方的用户手册结合官方的testbed示例覆盖了Box2d的所有功能点,并且最新的Box2d源码中包含了中文版本的用户手册,由Antkillerfarm网友翻译,翻译的质量还是相当不错的。在https://github.com/erincatto/Box2d这里可以下载Box2d的源码包,解压后在Box2d/Documentation路径下可以找到manual_Chinese.docx文件。强烈建议读者下载下来看一下。如果读者已经掌握了Box2d的基础知识,可以跳过本章。本章主要介绍以下内容:
❑ 核心概念。
❑ 工作流程。
❑ 物理世界World。
❑ Body和Shape。
❑ 关节Joint。