#1 

09-11-2009 17:13:43

capry
Membres
Avatar de capry
Date d'inscription:
Messages: 83
IP: 82.255.13.246
Courriel

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


#2 

09-11-2009 17:47:52

tmyke
Administrateurs
Avatar de tmyke
Date d'inscription:
Messages: 1025
IP: 86.218.178.147
Courriel

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


Force et sagesse...

Hors ligne


#3 

09-11-2009 18:11:38

TUpac
Membres
Avatar de TUpac
Date d'inscription:
Messages: 387
IP: 88.168.3.38
Courriel

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


#4 

09-11-2009 18:54:26

capry
Membres
Avatar de capry
Date d'inscription:
Messages: 83
IP: 82.255.13.246
Courriel

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


#5 

09-11-2009 19:30:04

TUpac
Membres
Avatar de TUpac
Date d'inscription:
Messages: 387
IP: 88.168.3.38
Courriel

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 !!


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

Hors ligne


#6 

09-11-2009 20:13:23

capry
Membres
Avatar de capry
Date d'inscription:
Messages: 83
IP: 82.255.13.246
Courriel

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


Hors ligne


#7 

09-11-2009 21:20:48

tmyke
Administrateurs
Avatar de tmyke
Date d'inscription:
Messages: 1025
IP: 86.218.178.147
Courriel

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


#8 

09-11-2009 21:49:23

capry
Membres
Avatar de capry
Date d'inscription:
Messages: 83
IP: 82.255.13.246
Courriel

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


#9 

09-11-2009 22:29:58

TUpac
Membres
Avatar de TUpac
Date d'inscription:
Messages: 387
IP: 88.168.3.38
Courriel

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

tmyke Ecris:

Je connais bien Newton

Voilà qui est rassurant !

tmyke Ecris:

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


#10 

10-11-2009 05:54:14

tmyke
Administrateurs
Avatar de tmyke
Date d'inscription:
Messages: 1025
IP: 90.56.68.71
Courriel

capry Ecris:

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


#11 

06-12-2009 11:06:41

capry
Membres
Avatar de capry
Date d'inscription:
Messages: 83
IP: 82.253.228.209
Courriel

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


#12 

06-12-2009 12:35:09

tmyke
Administrateurs
Avatar de tmyke
Date d'inscription:
Messages: 1025
IP: 86.218.177.3
Courriel

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


#13 

08-12-2009 17:59:12

capry
Membres
Avatar de capry
Date d'inscription:
Messages: 83
IP: 82.255.26.60
Courriel

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é
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
165 invités en ligne
membre en ligne: -
RSS Feed