J'ai trouvé une class nommé irr::scene::IBoneSceneNode dans la doc, c'est surement la qu'il faut chercher.
Hors ligne
voilà, celle là aussi c des bones( je l'avais vu ), car si sa serai pas des bones( si sa serai des animation par keyframes ), les jambes transpercerai un peu les bidons avant la collision, donc moi aussi si vous avez une idée je c qu'il y a une classe pour sa mais j'y comprend pas grand chose, la voilà http://irrlicht.sourceforge.net/docu/cl … _node.html
Hors ligne
je vien de refaire sa en exportant en model .b3d, eh la.... mais bones sont exporté, enfin, mais bon pas très bien, car irrlicht ne reconnais pas le nom des joints, enfin bon sa c pas grave. J'ai éssayé de faire avec le model .b3d dans les media irrlicht, le ninja. J'essaye de faire joindre le micro à la main gauche( Joint17 ), mais rien ne se passe-_-
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode(smgr->getMesh("media/ninja.b3d")); node->setMaterialFlag(video::EMF_WIREFRAME,true); if (node) { node->setMaterialFlag(EMF_LIGHTING, false); node->setFrameLoop(1, 1); node->setAnimationSpeed(25); //node->setMD2Animation(scene::EMAT_POINT); node->setPosition(vector3df(0,72,0)); node->setScale(vector3df(20,20,20)); //création du noeud de scéne main, de la main droite de rondoudou ISceneNode* main = node->getXJointNode("Joint17"); //Chargement du micro IAnimatedMeshSceneNode* micro = smgr->addAnimatedMeshSceneNode(smgr->getMesh("media/micro.3ds")); micro->setScale(vector3df(2,2,2)); //définition de la main de rondoudou comme parent du micro micro->setParent(main); }
Petite vidéo pour que vous voyez le problème : http://www.youtube.com/watch?v=zbcHSAXb8yQ
Hors ligne
Salut, je pense que le problème vient de ton model micro.3ds. J'ai refait ton code avec le ninja et a la place du micro, j'ai utlisé le model earth.x (fournie aussi avec irrlicht).
Donc dans mon projet j'ai: ninja.b3d, nskinbl.jpg, earth.x et earth.jpg.
Et je te donne le code complet: (je me suis mis des flag materiel un peu plus classique pour mieux voir)
Et regarde le resultat:
Ce qui me fait donc penser a ton modele micro.3ds qui est mal supporté, tu devrais essayer mon code déjà pour s'assurer qu'il fonctionne bien avec ce que tu veut faire.
Bon courage.
Hors ligne
ok je te remercie, bon je teste sa tout de suite
PS : j'aime bien le nom de ta fenetre ptdr
EDIT : bon je vien de tester, donc oui sa doit venir de mon model car sa marche avec earth.x, je te remercie enormement pour sa
Dernière modification par narugohan (11-02-2010 15:06:06)
Hors ligne
Waou narugohan, respect pour ton programme, comment tu fait pour gérer la reconnaissance vidéo ?
C'est peut être aussi que ton micro est mal exporté, je te rappelle que beaucoup de logiciels de modelisation 3D n'exportent pas les nurbes ni les curve ni ce qui y ressemble.
Hors ligne
nn enfaite, mon micro était bien exporter, mais comme il été pas centré dans la fenetre irrlicht, ba il s'afficher comme meme dans irrlicht mais on pouvais pas le voir^^.
Sinon merci pour mon programme ;p, tu as déjà du en entendre parler, sa s'appelle de la réalité augmenté, il y a une librairie opengl qui existe( et que j'utilise ), elle se nomme ARToolKit. Comme j'ai dit, c'est une librairie openGL, mais comme j'ai vue sur youtube que certain avait réussit à l'intégré a irrlicht, je me suis lancé dans l'aventure, donc il suffit de lire les tutos de la doc à cette adresse http://www.hitl.washington.edu/artoolkit/documentation/ ( par contre c'est en l'anglais ), tu lis la partie 1 et 2( getting started et Developer's Guide ), et ensuite tu essaye d'adapter sa pour que sa passe de l'openGL à Irrlicht. Sincerement, sa ma prit entre 2 à 3 jours, mais je pense que je vais peut etre faire un tuto sur le site du zéro( que tu dois connaitre car je t'es déjà vue dessus ;p ), pour montrer comment l'intégré à irrlicht^^
Hors ligne
Merci pour ta lib, sinon au cas ou tu veille aller plus loin dans la vision par ordinateur t'as un tuto sur le site du zéro, il est dans général je crois.
A oui et pour votre vidéo (celle du viking qui tourne la tête en fonction de la souris), vous avez réussit a faire quelque chose de similaire ?
Dernière modification par Ilovechocolat (11-02-2010 21:35:00)
Hors ligne
bin je pense qu'il suffit de récupérer le bone de la téte de faire un noeud dessu et de manipuler ce noeud dans une boucle d'événnement du genre suivre la cible de la caméra ou récupérer le mouvement de la souris et d'associer des rotation si la souris se dirige a droite le noeud du bone de la tete fait une rotation en s'incrémentan jusqu'a une valeur maximale de rotation.
C'est pas faisable sa ? sur la video le mec a du créer un vecteur qui cible l'objet qui vole et il cible l'objet en partant de la tete non ?
Hors ligne