Salut,
Je fais actuellement un mmorpg mais je suis bloqué à un probleme.
Je voudrais que le personnage regarde dans la direction de la camera.
Je m'explique, j'ai fais un système de camera FPS, donc le joueur joue normalement.
Je voudrais que si le joueur regarde par exemple en 34,0,45, les autres joueurs voient qu'il regarde dans cette direction en faisant tourner le modele du personnage.
Qui peut m'aider?
Merci d'avance.
Gp2mv3
Hors ligne
Salut.
Tu peux récupérer les coordonnées de l'endroit où regarde la caméra par cette fonction : irr::scene::ICameraSceneNode::getTarget ()
Après reste à déterminer l'orientation de ton personnage en fonction de ce vecteur.
Après un rapide survol de la doc je n'ai pas trouvé de trace indiquant que les mesh stocke par défaut un vecteur indiquant quel est leurs orientation.
Donc il est possible que tu doive le faire toi même et que tu fasse les rotations nécessaires manuellement.
Dis moi si tu trouve des infos sur l'orientation des meshs, ça m'intéresse.
Hors ligne
un vector3d qui va de la position du node à celle du target, et un node.setRotation ?
Par contre je pense que tu va devoir taper dans le triangleSelector pour avoir la position du target... La fonction donnée par Kevin Leonhart renvoie un vecteur d'orientation de la camera et pas une position
Hors ligne
La fonction donnée par Kevin Leonhart renvoie un vecteur d'orientation de la camera et pas une position
Heu... T'es sur de toi ? ICameraSceneNode::getTarget() renvoie bien la position du point fixé par la cam...
Après le reste, c'est de la simple trigo
Hors ligne
GetTarget donne un vecteur non une position il me semble,
Apres il faut juste orienter la tete (et/ou corps) du mesh du joueur avec node.setrotation et getHorizontalAngle () et le tour est jouée,meme pas besoin de sorite l'arsenal de cos sin arccos arcsin arctan ...... .
En gros le pseudo code :
tete.setRotation(getHorizontalAngle (Camera.getTarget()));
( complexe le code pas vrai ? )
Apres il faut voir comment ta tete est, c'est a dire si il s'agit d'une node ou d'un membre d'un squelette ou prise dans le mesh du personnage ....
PS a izguit - je ne comprend pas ce que vient faire la un triangle selector , suis-je a cote de la plaque .... ?
Dernière modification par firnafin (15-09-2007 01:16:33)
Hors ligne
@ Aranoth : Peut-être ouais, ça m'étonne un peu quand même
@ firnafin : le premier truc auquel j'ai pensé c'est de récupérer le premier triangle en collision avec le vecteur de lookAt de la camera (en fonction de sa position), pour connaitre la position où elle regarde.
Mais en fait soit gp2mv3 veut que tout le monde regarde dans la direction (34,0,45) (vecteur) soit regarde le point de coords (34,0,45) et c'est là qu'on a pas compris pareil je crois :p
Hors ligne