Historique des modifications - Message

Message #7320

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


TypeDateAuteurContenu
Dernière modification06-11-2009 03:15:39Magun
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 celasmile

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 personnelyikes)
Création du message06-11-2009 01:39:57Magun
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 celasmile

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 personnelyikes)

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
71 invités en ligne
membre en ligne: -
RSS Feed