Code: Select all
////init
m_ghostBody = new btPairCachingGhostObject();
m_ghostBody->setCollisionShape(in_sm->m_pGame->go_ammoCtrl.m_colShape);
m_ghostBody->setCollisionFlags(m_ghostBody->getCollisionFlags() | btCollisionObject::CF_NO_CONTACT_RESPONSE);
btTransform tr;
tr.setFromDirectXMatrix(mWorld.m);
m_ghostBody->setWorldTransform(tr);
in_sm->m_pGame->dynamicsWorld->addCollisionObject(m_ghostBody);
////collision check
test_trans.setFromDirectXMatrix(v_torpWSimple[i].mWorld.m);
v_torpWSimple[i].m_ghostBody->setWorldTransform(test_trans);
{
btAlignedObjectArray<btCollisionObject*>& overlappingObjects = v_torpWSimple[i].m_ghostBody->getOverlappingPairs();
WCHAR wt[50];
if (overlappingObjects.size())
{
if (overlappingObjects[0]!=v_torpWSimple[i].sender->m_body)
{
swprintf(wt, L"size %d", overlappingObjects.size());
m_pGame->add_text(wt, fTime);
v_to_delete.push_back(i);
}
else
m_pGame->add_text(L"dmg self", fTime);
}
}
What should i do if i want btGhostObject to detect collision with these too?