Historique des modifications - Message

Message #7320

Sujet: Faire tourner une caméra autour d'un perso


Type Date Auteur Contenu
Dernière modification 06-11-2009 03:15:39 Magun
aller on va fouiller un peut dans mais vieux codes pour me remémorer la chose ... ... alors att 2sec .... ... ( 37 dossier plus tard ) ... ... ...

on connais 2 vecteur et une valeur (distance) c'est bien cela ?
donc pour avoir la position de ta camera par rapport ah ton node "visé"
il faut calculer comme TMyke le précise, la position X, et Z via la rotation Y du node

imaginons la fonction suivante :
void updateRpgCameraFromPos(vector3df& newPos = vector3df(0,0,0))
{
         float distance = 12.f; //utilise les event mousse.weel si tu veut t'amuser ...
         vector3df NodePos = target->getPosition();
         vector3df CamRot = came->getRotation();

         newPos.X += distance * cos(CamRot.Y);
         newPos.Z += distance * sin(CamRot.Y);
         newPos.Y += 0.f; //diminue ou augmente la valeur si tu veut que cela soit plus ou moin haut par rapport au node
         newPos += NodePos; //comme ça la nouvelle position seras a partir de la position du node et non de 0

         came->setPosition(newPos);
         came->setTarget(NodePos);
}

jusque la ses claire ?
mais dit si je me trompe ... je n'utilise pas du tout se système ...

maintenant pour calculer la position en hauteurs il faut varier la distance suivant la rotation X (?) et changer la position Y de newPos ...
oui on change distance pour faire en sorte que la camera bouge autour d'une sphere enfin avis personnel aucunne obligation pour cela smile

bon tu nous diras si ta bien compris jusque la .. pasque bon ... smile
et j'espere que je me suis pas gourer (oui encore)

si c'est bon on expliqueras la suite

edit : a la rigueur TMyke cela pourrais faire un "tuto" ... c'est une question souvent demander il me semble
ps : serais tu faire la class en c++ ? vue que tu commence il serais bon que tu commence par ceux-ci et les templates (avis personnel yikes)
Création du message 06-11-2009 01:39:57 Magun
aller on va fouiller un peut dans mais vieux codes pour me remémorer la chose ... ... alors att 2sec .... ... ( 37 dossier plus tard ) ... ... ...

on connais 2 vecteur et une valeur (distance) c'est bien cela ?
donc pour avoir la position de ta camera par rapport ah ton node "visé"
il faut calculer comme TMyke le précise, la position X, et Z via la rotation Y du node

imaginons la fonction suivante :
void updateRpgCameraFromPos(vector3df& newPos = vector3df(0,0,0))
{
         float distance = 12.f; //utilise les event mousse.weel si tu veut t'amuser ...
         vector3df NodePos = target->getPosition();
         vector3df CamRot = came->getRotation();

         newPos.X += distance * cos(CamRot.Y);
         newPos.Z += distance * sin(CamRot.Y);
         newPos.Y += 0.f; //diminue ou augmente la valeur si tu veut que cela soit plus ou moin haut par rapport au node
         newPos += NodePos; //comme ça la nouvelle position seras a partir de la position du node et non de 0

         came->setPosition(newPos);
         came->setTarget(NodePos);
}

jusque la ses claire ?
mais dit si je me trompe ... je n'utilise pas du tout se système ...

maintenant pour calculer la position en hauteurs il faut varier la distance suivant la rotation X (?) et changer la position Y de newPos ...
oui on change distance pour faire en sorte que la camera bouge autour d'une sphere enfin avis personnel aucunne obligation pour cela smile

bon tu nous diras si ta bien compris jusque la .. pasque bon ... smile
et j'espere que je me suis pas gourer (oui encore)

si c'est bon on expliqueras la suite

edit : a la rigueur TMyke cela pourrais faire un "tuto" ... c'est une question souvent demander il me semble
ps : serais tu faire la class en c++ ? vue que tu commence il serais bon que tu commence par ceux-ci et les templates (avis personnel yikes)

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
549 invités en ligne
membre en ligne: -
RSS Feed