Bullet 物理引擎中文文档
英文文档正在更新中
详情查看 Wiki 和论坛(http://bulletphysics.com
)
© 2009 Erwin Coumans
All Rights Reserved.
翻译:五行谦饼
Email:cqw1022@gmail.com
目录
1. 简介...........................................................................................................................................3
1.1. 类库描述.......................................................................................................................3
1.2. 2.74 版新添加的元素...................................................................................................3
1.3. 计划...............................................................................................................................3
1.4. 主要特性.......................................................................................................................3
1.5. 联系和支持...................................................................................................................3
2. 快速入门...................................................................................................................................3
3. 类库概述...................................................................................................................................4
3.1. 简介...............................................................................................................................4
3.2. 软件设计.......................................................................................................................4
3.3. 刚体物理管线...............................................................................................................4
3.4. 整体概貌.......................................................................................................................5
3.5. 基本数据类型和数学类库...........................................................................................5
3.6. 内存管理、分配和容器...............................................................................................6
3.7. 时间和性能分析...........................................................................................................7
3.8. 调试画图.......................................................................................................................7
4. Bullet 的碰撞检测....................................................................................................................7
4.1. 碰撞检测.......................................................................................................................7
4.2. 碰撞图形.......................................................................................................................8
4.3. 凸原始图元...................................................................................................................9
4.4. 复合图形.......................................................................................................................9
4.5. 凸核图形.......................................................................................................................9
4.6. 凹三角网格...................................................................................................................9
4.7. 凸分解...........................................................................................................................9
4.8. 高度场...........................................................................................................................9
4.9. Buttle 的静态平面(btStaticPlane)图形 ...................................................................9
4.10. 碰撞图形缩放...........................................................................................................9
4.11. 碰撞边框.......................................................................................................................9
1. 简介
1.1. 类库描述
Bullet 物理引擎是开源的,专业的集刚体、软体和碰撞检测于一身的动力学类库。在
Zlib 授权下用户可以免费用于商业开发。
1.2. 2.74 版新添加的元素
1.3. 计划
1.4. 主要特性
1) 在 Zlib 授权中使用开源的 C++代码,可免费用于包括 PLAYSTATION 3, XBox 360,
Wii, PC, Linux, Mac OSX and iPhone 平台的商业开发。
2) 包括射线和凸扫测试在内的离散和连续碰撞检测,可检测的碰撞物体形状包括凹凸
网格和所有的基本形状。
3) 快速和稳定的刚体动力约束和求解、动态车辆、人物控制和滑动器、铰链、普通的
6 自由度和针对碎布木偶的圆锥和扭曲约束。
4) 软体动力学方面可用于布料、绳子和双向变容的刚体,包括约束支持。
5) Maya 动态插件,集成 Blender 渲染器,支持 COLLADA 格式导入导出。
1.5. 联系和支持
1) 公开的帮助和回馈论坛 http://bulletphysics.com
2) PS3 合法的开发用户可以从 https://ps3.scedev.net/projects/spubullet
下载到用于 Cell
SPU 的优化版本
2. 快速入门
1) 下载
Windows 平台的开发者可以从 http://bulletphysics.com
下载到 BulletZIPPED 格式的
源代码。
MacOSX、Linux 和其他平台的开发者可以下载到 GZIPPED TAR 格式的压缩包。
2) 生成
Bullet 能在所有的平台编译,并且包含了所有的依赖项。
Windows Visual Studio 平台的所有项目文件都在 Bullet/msvc 文件夹中,主要的解决
方案在 Bullet/msvc/8/wksbullet.sln 中。
3) 测试示例
可以尝试着以运行体验 Demos/AllBulletDemos 来作为学习使用 Bullet 的起点。Bullet
可以用于一下几个方面,完整刚体模拟,碰撞检测类库和(low level snippets such as GJK
closest point calculation. )。这方面的帮助支持可以在 Directories 下的 doxygen
documentation 中找到。
4) 集成到应用程序
仔细研究 CcdPhysicsDemo 项目中是如何创建一个 btDiscreteDynamicsWorld,
btCollisionShape,btMotionState 和 btRigidBody。在动态世界中每帧调用 stepSimulation,
同时动态世界能转换你的图形对象。前提条件:
#include “btBulletDynamicsCommon.h “
添加头文件路径 Bullet/Src
添加类库 libbulletdynamics, libbulletcollision, libbulletmath
5) 只整合碰撞检测类库
Bullet 的碰撞检测也可以脱离 Dynamics/Extras 而单独使用,仔细研究起步的碰撞