When I add some meshes (nodes) to the meta selector and tell the camera to response collisions from it, it works only for the first mesh I'm adding (the map mesh).
The response doesn't work for the meshes added next...
I do the setup like this:
// global vars
ITriangleSelector* selector = 0;
IMetaTriangleSelector* MetaSelector = 0;
ICameraSceneNode* CamNode = 0;
ISceneNode* LevelNode = 0;
// setup Map (OK)
{
IAnimatedMesh* LevelMesh = smgr->getMesh(MapFile);
LevelNode = smgr->addOctTreeSceneNode(LevelMesh->getMesh(0));
selector = smgr->createOctTreeTriangleSelector(LevelMesh->getMesh(0), LevelNode, 128);
LevelNode->setTriangleSelector(selector);
MetaSelector->addTriangleSelector(selector);
selector->drop();
}
// some objects (wrong(?), because no collision response from)
{
for(int t=0; t < cntObj; t++){
IAnimatedMesh* objMesh = smgr->getMesh(ObjStatic[t]);
ObjStatic[t].node = smgr->addOctTreeSceneNode(objMesh->getMesh(0));
selector = smgr->createOctTreeTriangleSelector(objMesh->getMesh(0), Level.MapGlas.node, 128);
ObjStatic[t].node->setTriangleSelector(selector);
MetaSelector->addTriangleSelector(selector);
selector->drop();
}
}
// the camera setup (wrong(?), because only works for the map)
{
CamNode = smgr->addCameraSceneNodeFPS(0, RotSpeed, MovSpeed, -1, keyMap,
ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(MetaSelector, CamNode, PlayerSize, Gravitation, Accel, Eye);
CamNode->addAnimator(anim);
anim->drop();
MetaSelector->drop();
}