btGhostObject是否允许使用复杂的网格(不仅仅是AABB)?

时间:2013-06-06 11:46:08

标签: c++ bullet

它的文档很难过:

  

btGhostObject可以跟踪所有重叠的对象默认情况下,这种重叠基于AABB。这对于创建角色控制器,碰撞传感器/触发器,爆炸等非常有用

这是否意味着它只是其底层网格的AABB,因此仅检测与AABB的碰撞而不是复杂的网格结构?

1 个答案:

答案 0 :(得分:1)

鬼影物体和刚体之间的碰撞调度器没有区别:它们在宽相和窄相中的行为方式相同。如果迭代调度程序的流形数组,您将看到与鬼对象的正确碰撞。文档是指通过btGhostObject / getOverlappingObject(int index)方法可访问的getNumOverlappingObjects()内部重叠对象缓存。此缓存填充在broadphase中(因此显然只使用AABB),您必须设置正确的对回调才能使其工作(world->getPairCache()->setInternalGhostPairCallback(new btGhostPairCallback);)。您可以在后勾选中迭代此缓存并检查实际的冲突。