#0 

09-11-2009 18:13:43

capry
Membre
Date d'inscription: 14-02-2009
Messages: 83

Bonjour,
J'ai posté sur l'ancien forum, mais je crois que depuis mon message à été supprimé. Alors je reposte mon problème ici. Je développe en c++ depuis presque un an et j'ai découvert Irrlicht presque en même temps. Bref, pour cette fois-ci j'aurais beosin de savoir s'il y à une méthode fiable pour détecter la collision entre deux mesh ? Sinon un équivalent (avec les BoundingBox par exemple). J'ai déjà testé plusieurs solution, celle qui paraissais la meilleure étant la méthode du "getCollisionNode()" de la classe ISceneNodeAnimatorCollisionResponse , mais aucune des ces solutions ne marchent. Sois elles indiquent que le node est TOUJOURS en collision, soit qu'il ne l'est JAMAIS. Ce qui est bien sûr faux dans les deux cas. Si quelqu'un à déjà réussi à utilisé la méthode du "getCollisionNode()", peut-il me dire comment il à fais et quelle serais mon erreur ?
Merci d'avance

Capry

Hors ligne


#1 

09-11-2009 18:47:52

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

Cherches-tu à employer absolument les fonctions Irrlicht, ou serais-tu prêt à faire appel à une lib externe ?


Force et sagesse...

Hors ligne


#2 

09-11-2009 19:11:38

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

Hey ! je me rappel de ton post que je n'ai plus vu depuis la refonte du site. Si ma mémoire est bonne tu en était au point ou tes nodes ne se touchaient plus (alors qu'au début ils se touchaient tout le temps). En tout cas, Tmyke l'a sous-entendu : les collisions Irrlicht sont un poil pourraves. Le plus simple est d'ajouter un animator crée par smgr->createCollisionResponseAnimator() à chaque node et de faire les tests comme tu connais déjà (sinon : cf tuto07). A noter alors que la collision se fait uniquement avec le node dont le triangleselector est tiré ( smgr->createTriangleSelector(mesh,node) ). Ce qui signifie que si tu veux des collisions multiples, tu dois tester chaque node un a un chaque trame. C'est donc pas bête de passer sur une lib externe pour avoir de meilleurs résultats. Ceci dit je peux me tromper n'hésitez pas à me reprendre si j'avance des conneries. En tout cas avec un bout de code, une erreur est plus facile à déceler wink donc si tu peux isoler le soucis et nous le poster ...
a+


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#3 

09-11-2009 19:54:26

capry
Membre
Date d'inscription: 14-02-2009
Messages: 83

Merci d'avoir répondu si rapidemment.
Le soucis étais juste la condition je pense, je ne crois pas que mes paramètres étaient mauvais. Mais bon ça ne me dérange pas d'inclure une nouvelle librairie. Vous pensez à laquelle ? Physx, ODE, Newton ? De préférence la plus légère si plusieurs choix sont possibles.

Hors ligne


#4 

09-11-2009 20:30:04

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

Newton est très apprécié et un tuto est dispo sur le site irrlicht sourceforge mais je ne pourrais pas t'aider beaucoup car mon experience de Newton date de la release 1.4 d'irrlicht. Enfin je tenterai de faire de mon mieux tongue

ps : PhysX = non-libre : caca !!

Dernière modification par TUpac (09-11-2009 20:30:54)


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#5 

09-11-2009 21:13:23

capry
Membre
Date d'inscription: 14-02-2009
Messages: 83

D'accord merci, je vais donc voir ce que je peux faire avec Newton ^^

Hors ligne


#6 

09-11-2009 22:20:48

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

Je connais bien Newton, la sous couche est très bien adaptée au tests de collision, et c'est une lib multiplateforme qui s'intègre très bien dans une application, y compris par sa version lib statique, ce qui est bien sympa wink


Force et sagesse...

Hors ligne


#7 

09-11-2009 22:49:23

capry
Membre
Date d'inscription: 14-02-2009
Messages: 83

Super ^^. Je l'ai ajouter à mon programme ça y est. Auriez-vous un tuto qui m'expliquerais en gros le fonctionnement de Newton ?

Hors ligne


#8 

09-11-2009 23:29:58

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

Et alors on boude google? tongue http://irrlicht.sourceforge.net/tut_newton.html

tmyke :

Je connais bien Newton


Voilà qui est rassurant !

tmyke :

y compris par sa version lib statique


encore plus wink


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#9 

10-11-2009 06:54:14

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

capry :

Super ^^. Je l'ai ajouter à mon programme ça y est. Auriez-vous un tuto qui m'expliquerais en gros le fonctionnement de Newton ?


tu as le wiki officiel ou il y a quelques tuto simple qui permettent de démarrer en douceur wink


Force et sagesse...

Hors ligne


#10 

06-12-2009 12:06:41

capry
Membre
Date d'inscription: 14-02-2009
Messages: 83

Merci pour tout, j'ai mis un certain temps, mais j'ai appris à utiliser un peu Newton, pour les fonctions de base en tout cas. Donc bah pour les collisions entre deux mesh ça marche, mais je n'ai toujours pas trouvé de tuto ou de fonction qui expliquais comment savoir si deux mesh étaient en collision. Quelqu'un aurais un lien svp ? Merci d'avance big_smile.

Hors ligne


#11 

06-12-2009 13:35:09

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

Je n'ai pas de tuto sous la main, mais en regardant la doc on comprend assez intuitivement le rôle de fonction dédiées aux
gestion de collision.
Pour tester par exemple une collision potentielle entre deux mesh, on passe par la fonction NewtonCollisionCollide.


Force et sagesse...

Hors ligne


#12 

08-12-2009 18:59:12

capry
Membre
Date d'inscription: 14-02-2009
Messages: 83

Ah Oui merci ça y est ^^. C'es impécable là. J'ai juste un dernier problème de collision encore, mais je devrais être en mesure de le résoudre cette fois. Merci beaucoup big_smile

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
100 invités en ligne
Aucun membre connecté
RSS Feed