Bonjour, chers amis,
je suis en train de faire un petit jeu avec un ami graphiste qui est une sorte de RPG sans prétention, et nous nous sommes posés la question du déplacement. Comme nous avons opté pour une camera qui surplombe le joueur (comme dans un jeu de stratégie classique) et nous avons séché sur le système de déplacement. Nous voudrions faire un système où lorsque l'on clique à un endroit (avec un curseur en 2d), le personnage se dirige vers cet endroit (coordonnées en 3 dimensions). Je sais que c'est une question classique, mais je vous assure que même en cherchant, on trouve beaucoup de questions, mais peu de réponses. Je vous serais donc reconnaissant de m'indiquer s'il y a une méthode capable de transformer les coordonnées d'une souris en 2d dans un univers en 3d.
Encore merci !
Hors ligne
Si ton personnage évolue sur un terrain, tu peux lancer un rayon depuis la caméra et passant par le pointeur de la souris (voir l'exemple Collisions avec la map quake3) et tester son intersection avec le terrain.
Il suffit juste d'adapter cet exemple : http://irrlicht.sourceforge.net/tut007.html
Hors ligne
Oui, mais en fait le curseur est indépendant de la camera, et je ne sais pas comment lancer un rayon depuis la camera ET passant par le pointeur souris, car ce tuto ne montre que comment lancer un rayon depuis la camera en passant par son centre, non ? Si tu pouvais m'aider à ce sujet.
Merci encore !
Hors ligne
Voilà j'ai retrouvé la fonction : ISceneCollisionManager::getRayFromScreenCoordinates
Elle te renvoi un rayon depuis la caméra passant par la coordonnée 2D fournie.
http://irrlicht.sourceforge.net/docu/cl … er.html#a2
Hors ligne
Merci, ça marche parfaitement. J'ai maintenant un système de déplacement qui est presque parfait !
Hors ligne