Historique des modifications - Message

Message #10362

Sujet: Intersection entre deux BoundingBox


Type Date Auteur Contenu
Création du message 26-02-2012 10:20:56 Memorial76
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

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
117 invités en ligne
membre en ligne: -
RSS Feed