Historique des modifications - Message

Message #10362

Sujet: Intersection entre deux BoundingBox


TypeDateAuteurContenu
Création du message26-02-2012 10:20:56Memorial76
Bonjour,
Afin de simplifier la gestion des collisions dans mon programme, j'ai décidé de simplement tester si deux bounding box étaient en intersection. En l'ocurence (et en attendant d'améliorer la chose) entre celle du personnage de l'utilisateur et toutes les autres.
Pour cela, je parcoure mon Scenegraph et à j'effectue le test pour tous ceux dont l'id n'est pas à -1 (caméra, lumière, terrain etc...)

Voici le code en question:

for( irr::core::list<irr::scene::ISceneNode*>::ConstIterator iterator = m_pSceneMgr->getRootSceneNode()->getChildren().begin();
iterator != m_pSceneMgr->getRootSceneNode()->getChildren().end();
iterator++)
{
irr::scene::ISceneNode* pTestSceneNode = *iterator;
if( m_pUserSceneNode->getBoundingBox().intersectsWithBox(pTestSceneNode->getBoundingBox()) && pTestSceneNode->getID() != -1)
{
(...)
}
}

Seulement voilà, le test se révèle vrai systématiquement pour tous les nodes de la scène. Je ne comprend pas bien pourquoi.

Question subsidiaire, le test ne s'effectue que pour les descendants directs du RootSceneNode, comment pourrais-je tester également et systématiquement tous les objets de la scène même s'ils sont affiliés à un autre?

Merci d'avance à tous.

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
114 invités en ligne
membre en ligne: -
RSS Feed