I'm making an fps and i'm using the function getSceneNodeFromCameraBB when i shoot for check if the enemy has been hit:
Code: Select all
scene::ISceneNode* selectedSceneNode = 0;
selectedSceneNode = smgr->getSceneCollisionManager()-> getSceneNodeFromCameraBB(camera);
for(int i=0;i<MAX_ENEMY;i++)
{
if(selectedSceneNode == enemy[i].node)
{
printf("Hitted enemy %d \n", i);
enemy[i].life -= weapon[currentweapon].danno;
if(enemy[i].vita <= 0)
{
printf("Enemy %d death\n", i);
smgr->addToDeletionQueue(enemy[i].node);
camera->removeAnimator(animcam[i]);
enemy[i].node = 0; /
}
}
}
What I have to do for fix this problem? I must use newton raycast, is a know bug or i have forgotten some thing?