Pages: 1
Bonjour.
Problème 1 :
J'ai un billboard situé dans la scène et positionné de façon à servir de fond d'écran.
Je veux établir la relation entre le coordonnées données par la souris ( quand l'utilisateur clique ) , et la position sur le billboard.
Quelqu'un a une idée simple ?
Problème 2:
Il y a un personnage entre la caméra et l'écran.
Il me faut aussi établir le lien entre les coordonnées de la souris et celles du point ( 3D ) du personnage ( pour le faire ensuite bouger !) .
Il faut sans doute projeter le personnage sur l'écran, mais je n'en suis pas sûr.
Quelqu'un peut-il m'aider ?
Merci.
Hors ligne
A tout hasard regarde du coté des fonctions du scenecollisionmanager : http://irrlicht.sourceforge.net/docu/cl … b9a062b2a9
Je pense que certaine fonction pourait correspondre à ton problème 2, pour le billboard je sais pas
Hors ligne
Merci de ta réponse.
getScreenCoordinatesFrom3DPosition renvoie - si j'ai bien compris - la position sur l'écran d'un point en 3D fourni en paramètre, ( ainsi que la caméra ce qui permet de faire les calculs ). Ce n'est pas ce dont j'ai besoin.
Pour situer plus concrêtement:
La caméra est située à ( 320, 0, 0 ) , le billboard est à ( 0,0,0 ) et a pour taille ( 640, 480 ).
j'arrive à visualiser le billboard sur l'écran comme s'il s'agissait d'un fond d'écran, et en cliquant dessus, les points sont bien reconnus, mais pas au bon endroit ! Il s'agit d'une erreur de calibration à mon avis.
Autre question qui peut faire avancer le problème :
Comment est projeté le point du billboard sur la fenêtre utilisateur ?
j'ai trouvé une fonction IVideoDriver::getTransform qui envoie une matrice 4x4. Comment s'utilise cette matrice ?
Hors ligne
Pages: 1