Pages: 1
RESOLUE
Salut.
Savez s’il est possible de mettre le même animateur qu'une cameraFPS sur un IAnimatedMeshSceneNode.
J'ai beau chercher dans la doc, je ne vois pas bien comment je pourrais mi prendre. J'ai essayé de récupérer l'animateur d'une cameraFPS et de la mettre sur mon node, mais le node ne bouge pas. (ni avance, ni tourne, ni rien )
Quelqu’un aurais une idée ?
Dernière modification par nabouill (24-10-2009 12:00:44)
Hors ligne
Je pense que c'est à toi de coder ton "animateur" en utilisant un "EventReceiver", et définir toi même le comportement de ton SceneNode en fonction des actions de l'utilisateur.
Une autre idée, mais je ne sais pas si ça marche, tu peux mettre ton IAnimatedMeshSceneNode en tant que fils d'une caméra FPS. Si ça marche comme je l'imagine, ton Mesh bougera dans l'environnement global (comme ta caméra FPS), mais l'angle de vue restera le même.
Hors ligne
Salut, je pense que faire tourner ton node manuellement n'est pas un soucis.
Cependant, le faire avancer dans la direction souaitée n'est pas simple je te l'accorde.
Voilà la methode qui va bien pour ça :
//--- move ship acording to its rotation --- void move(irr::scene::ISceneNode *node, //node to move irr::core::vector3df vel) //velocity vector // for example to move node 10 units forward use vector3df(0,0,10) { irr::core::matrix4 m; m.setRotationDegrees(node->getRotation()); m.transformVect(vel); node->setPosition(node->getPosition() + vel); node->updateAbsolutePosition(); }
Hors ligne
Ok merci pour vos reponses,
hawk :
Je pense que c'est à toi de coder ton "animateur" en utilisant un "EventReceiver"
Oui, je croi que c'est ce que je vais faire du coup.
hawk :
tu peux mettre ton IAnimatedMeshSceneNode en tant que fils d'une caméra FPS
ça c'est ce que faisait avant, ça marche très bien (enfin presque) . Le problème, c'est que sur ma camera je mais aussi un autre anim que gere les collisions du terrain. Et quand je veut me baisser (position accroupie) je change d'anim pour gerer une collision plus basse. Un drole de bug : c'est que 2 fois sur 3, quand je change d'aminateur, ma position change legerement, et c'est génant. Je prefererait donc mettre un anim du genre cameraFPS sur mon node et y mettre une camera basic tant que fils.
TUpac :
Voilà la methode qui va bien pour ça :
Merci pour le tuyau. je vais étudier ça.
Dernière modification par nabouill (20-10-2009 14:11:38)
Hors ligne
Ok, mon truc avance un peut mais me vlà encore bloqué sur un petit truc.
Je créer un anim du genre :
Le truc est que j'aimerais changer l'ellipsoidTranslation de cette anim (le dernier parametre) en cours de route.
Mais j'ai beau chercher, je ne vois vraiment pas comment faire. Quelqu'un aurait une petite idée ? SVP.
Dernière modification par nabouill (22-10-2009 22:23:59)
Hors ligne
UP !
Dernière modification par nabouill (24-10-2009 00:12:57)
Hors ligne
anim->setEllipsoidTranslation (const core::vector3df(0,0,0));
bizarre quand même le site off propose une doc .... faut y jeter un coup d'œil des fois
http://irrlicht.sourceforge.net/docu/cl … ponse.html
Hors ligne
Merci bien.
En effet, en faite c'est que je créait nom animateur comme ça :
Du coup on n'a pas acces directement a cette methode.
Mais effectivement (je n'avait pas vue ça) en créant mon anim avec :
ça marche parfaitement.
Merci pour ta réponse, et désoler si desfois je suis un peu un boulet.
++
Hors ligne
Pages: 1