Historique des modifications - Message

Message #8182

Sujet: Comment faire tourner une caméra FPS


Type Date Auteur Contenu
Dernière modification 09-04-2010 06:03:52 nabouill
salut, comme je te le disais, la target se calcule par rapport a la rotation ET la position de la camera. Plutôt que te te faire tout un discours,
voila une petite fonction qui fait ça bien avec son exemple d'utilisation, et tu va tout comprendre:

Code c++ :


void targetCamera(ICameraSceneNode* camera)
{
    vector3df rotCam = camera->getRotation();
    vector3df vel(0.0f,0.0f,1000.0f);//pour regarder à 1000 unité devant son nez
    irr::core::matrix4 mat;
    mat.setRotationDegrees(rotCam);
    mat.transformVect(vel);
    camera->setTarget(camera->getAbsolutePosition() + vel);
}

int main()
{
   //bla bla bla......on declare tout et tout

   ICameraSceneNode* myCamera = sceneMgr->addCameraSceneNode();

   while(device->run())
   {
        //bla bla bla... tu fait faire des rotation a ta camera et tout
       
        //apelle de la fonction qui va mettre a jour la target
        targetCamera(myCamera);

       //bla bla bla...mise a jour de l'afichage et tou
   }
  
   device->drop();

    return 0;
}


Bon courage
Création du message 09-04-2010 05:58:50 nabouill
salut, comme je te le disais, la target se calcule par rapport a la rotation ET la position de la camera. Plutôt que te te faire tout un discours,
voila une petite fonction qui fait ça bien avec son exemple d'utilisation, et tu va tout comprendre:

Code c++ :


void targetCamera(ICameraSceneNode* camera)
{
    vector3df rotCam = camera->getRotation();
    vector3df vel(0.0f,0.0f,1000.0f);//pour regarder à 1000 unité devant son nez
    irr::core::matrix4 mat;
    mat.setRotationDegrees(rotCam);
    mat.transformVect(vel);
    camera->setTarget(camera->getAbsolutePosition() + vel);
}

int main()
{
   //bla bla bla......on declare tout et tout

   ICameraSceneNode* myCamera = sceneMgr->addCameraSceneNode();

   while(device->run())
   {
        //bla bla bla... tu fait faire des rotation a ta camera et tout
       
        //apelle de la fonction qui va mettre a jour la target
        targetCamera(myCamera);

       //bla bla bla...mise a jour de l'afichage et tou
   }
  
   device->drop();

    return 0;
}


Bon courage

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
194 invités en ligne
membre en ligne: -
RSS Feed