5
裏面有沒有一種方法來設置Broadphase在子彈物理如下過濾回調:從兩個形狀建造子彈物理Broadphase過濾回調到單個形狀過濾複合體
複合動態物體,比如汽缸和一箱,其中氣缸只能與其他動力體內的氣缸碰撞,而氣缸只能與第三種物體碰撞,這是一個靜態球體,不能碰撞其他碰撞:帶有球體的氣缸,不得碰撞;與箱盒,絕不能發生碰撞或者
下圖顯示了我上面
裏面有沒有一種方法來設置Broadphase在子彈物理如下過濾回調:從兩個形狀建造子彈物理Broadphase過濾回調到單個形狀過濾複合體
複合動態物體,比如汽缸和一箱,其中氣缸只能與其他動力體內的氣缸碰撞,而氣缸只能與第三種物體碰撞,這是一個靜態球體,不能碰撞其他碰撞:帶有球體的氣缸,不得碰撞;與箱盒,絕不能發生碰撞或者
下圖顯示了我上面
你可以做到這一點說明。下面是代碼
struct FilterCallback : public btOverlapFilterCallback
{
virtual bool needBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const;
};
// ....
FilterCallback filterCallback;
// ....
m_dynamicsWorld->getPairCache()->setOverlapFilterCallback(filterCallback);
bool FilterCallback::needBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const
{
// return false for pair with no colision
}
你知道如果我可以檢索在一個形狀的用戶數據指針的化合物體內,這樣的:* btCollisionObject = collisionObject(btCollisionObject *)proxy0-> m_clientObject; customData * userData =(customData *)collisionObject-> getUserPointer(); – rraallvv
'proxy1-> m_clientObject-> getUserPointer()' 這將工作 – Max
嗯...是從整個事物中檢索userData,我需要從實際上碰撞的孩子的userData ...所以我可以告訴是否該形狀可能會碰撞或不......可能在API中沒有這樣做的功能 – rraallvv