03-08-2009 17:22:57
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 83.201.241.227
- Courriel
Bonjours,
Je débute avec Irrlicht et j'essaye de tout comprendre. J'essaye de créer une collision avec un cube ( scene::ISceneNode* cube = smgr->addCubeSceneNode(500); ) avec la caméra ( scene::ICameraSceneNode *camera = smgr->addCameraSceneNodeFPS (0, 100.0f, 500.0f, 0, 0, 0, true); ), donc pour que la caméra ne passe pas à travers le Cube. Mais j'ai beau chercher je ne trouve pas comment gérer une collision avec le cube car c'est un ISceneNode et qu'il n'a pas de Mesh.
Donc je me demandais si il existait un moyen de gérer des collisions avec un cube?
Hors ligne
03-08-2009 17:35:47
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 188.93.45.30
- Courriel Site web
si tu veut un truc qui tient la route utilise un moteur physique tel-que ode, bullet, physix, sofa ... et j'en passe ![]()
sinon pour un truc simple tu a toujours la collision d'irrlicht dans les animator ... regarde la doc http://irrlicht.sourceforge.net/docu/hierarchy.html ![]()
Hors ligne
03-08-2009 18:16:26
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 83.201.241.227
- Courriel
D'accord je vais chercher mais il n'existe donc pas un moyen de créer une mesh a partir d'une Scenenode (à partir du cube)?
Hors ligne
03-08-2009 21:26:58
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 188.93.45.30
- Courriel Site web
si tu n'utilise pas la svn non, car sur cette dernière il y a une class IGeometrieCeator, qui crée les formes primitives en mesh
enfin si ses possible en recuperant le mesh de ISceneNode avec getMesh() il me semble, se pendant tu est obliger de garder ton scène node ![]()
ah moins que se ne soit avec IAnimetedSceneNode ....
Hors ligne
03-08-2009 21:55:57
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 83.201.241.227
- Courriel
Non ça ne marche pas le message d'erreur est:
'irr::scene::IAnimatedMesh *irr::scene::ISceneManager::getMesh(const irr::c8 *)' : impossible de convertir le paramètre 1 de 'irr::scene::ISceneNode *' en 'const irr::c8 *'
Apparemment on ne peut pas récupérer la Mesh d'un scène node. ![]()
Bon je vais donc me pencher vers les moteurs physiques.
Hors ligne
04-08-2009 04:28:03
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.235.85
- Courriel
Kit-fisto24 Ecris:
...donc pour que la caméra ne passe pas à travers le Cube. Mais j'ai beau chercher je ne trouve pas comment gérer une collision avec le cube car c'est un ISceneNode et qu'il n'a pas de Mesh.
IMesh *mesh = cube->getMesh(); tout simplement, et tu as accès à le geométrie de ton cube...
Kit-fisto24 Ecris:
D'accord je vais chercher mais il n'existe donc pas un moyen de créer une mesh a partir d'une Scenenode (à partir du cube)?
Si bien sur, l'exemple 03-CustomSceneNode du package Irrlicht devrait te fournir les éléments pour y arriver sans soucis. Ou alors je n'ai pas compris ce que tu cherches.
Force et sagesse...
Hors ligne
04-08-2009 09:13:00
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 83.201.241.227
- Courriel
Quand je met: IMesh *mesh = cube->getMesh(); le message d'erreur me met que getMesh ne fait pas partie de irr::scene::ISceneNode.
Je vais donc chercher dans le exemple 3, merci!
Hors ligne
04-08-2009 09:20:07
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.235.85
- Courriel
Quand tu créé ton cube, ecrit IMeshSceneNode *cube = smgr->addCubeSceneNode(size);
La fonction addCubeSceneNode à la base renvoi un pointer vers un IMeshSceneNode.
Les choses iront mieux de ce fait.
Force et sagesse...
Hors ligne
04-08-2009 10:11:18
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 83.201.241.227
- Courriel
Toujours pas. ![]()
Quand je met ceci:
IMeshSceneNode *cube = smgr->addCubeSceneNode(1500);
IMesh *mesh = cube->getMesh();
Il me remet: impossible de convertir de 'irr::scene::ISceneNode *' en 'irr::scene::IMeshSceneNode *'.
Hors ligne
04-08-2009 10:49:55
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.235.85
- Courriel
Kit-fisto24 Ecris:
Toujours pas.
Quand je met ceci:
IMeshSceneNode *cube = smgr->addCubeSceneNode(1500);
IMesh *mesh = cube->getMesh();
Il me remet: impossible de convertir de 'irr::scene::ISceneNode *' en 'irr::scene::IMeshSceneNode *'.
??? alors là, il doit y avoir un soucis, car pour ce qui est de Irrlicht 1.5, addCubeSceneNode renvoi bien un pointeur
de type IMeshSceneNode.
Force et sagesse...
Hors ligne
04-08-2009 14:02:10
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 188.93.45.30
- Courriel Site web
ta pas du télécharger la bonne version, j'ai vérifier quand même mais la doc du site confirme bien se que dit tmyke 'addCubeSceneNode' renvoie bien un 'IMeshSceneNode*' ![]()
tu peut toujours essayer un cast mais j'ai peur du résultat ![]()
pourtant ses comme ça depuis la 1.3 il me semble ...
Hors ligne
04-08-2009 15:18:56
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 83.201.241.227
- Courriel
En effets cela venait du faite que ma version était trop ancienne. Merci à vous deux, je suis enfin arrivé à faire ce que je voulais! ![]()
Hors ligne
04-08-2009 15:44:21
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.235.85
- Courriel
Voilà qui est bien ![]()
Force et sagesse...
Hors ligne



