Box2D v2.1.0用户手册翻译 - 第12, 13, 14章

内容很多摘自
Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册


第12章 调试绘图(Debug Drawing)

实现 b2DebugDraw 可得到物理世界的细部图,这里是可用的实体:

•                    形状轮廓

•                    关节连通性

•                    核心形状(用于连续碰撞)

•                    broad-phase的AABB,包括世界的AABB

•                    polygon oriented bounding boxes (OBBs)

•                    broad-phase pairs (potential contacts)

•                    质心

Box2D v2.1.0用户手册翻译 - 第12, 13, 14章_第1张图片

这是绘制这些物理实体的首先方法,比直接访问数据要好。因为很多的必要信息只能在内部访问并时有变更。

testbed使用debug drawing和接触监听器来绘制物理实体。它本身就是个好例子,演示了怎样去实现debug drawing以及怎样会绘制接触点。



第13章 限制(Limitations)

Box2D使用了一些数值近似来让模拟更高效。这就带来一些限制。

这是当前的限制:

1.       将重的物体放到相对很轻的物体上面,会不稳定。当质量比到10:1时,稳定性就会降低。

2.       Polygons may not slide smoothly over chains of edge shapes or other polygon shapes that are aligned. For this reason, tile-based environments may not have smooth collision with box-like characters.这个问题在将来会被修复。

3.       用关节将body链接起来,如果是较轻的body吊着较重的物体,body链接有可能被拉伸。比如,一条很轻的锁链吊着个很重的球,就可能不稳定。当质量比超过10:1时,稳定性就会降低。

4.       通常还有约0.5cm的间隙,就检测到形状与形状碰撞。

5.       连续碰撞是按顺序处理的。在发生撞击事件时,body会向后移动,并在剩余的时间步内停留在那里。这可能会使得快速移动的物体,移动起来不太平滑。



第14章 参考(References)

Erin Catto 的 GDC 教程: http://code.google.com/p/box2d/downloads/list

3D交互环境下的碰撞检测(Collision Detection in Interactive 3D Environments), Gino van den Bergen, 2004

实时碰撞检测(Real-Time Collision Detection), Christer Ericson, 2005


你可能感兴趣的:(Shapes)