Historique des modifications - Message

Message #8182

Sujet: Comment faire tourner une caméra FPS


TypeDateAuteurContenu
Dernière modification09-04-2010 06:03:52nabouill
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 message09-04-2010 05:58:50nabouill
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

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