#0 

28-08-2008 19:37:24

bestben
Abonné
Date d'inscription: 20-10-2007
Messages: 133

Bonjour,
mon problème est que lorsque quand le programme arrive sur smgr->drawAll() mes coordonnées change toutes seul
par exemple si mes coordonnées sont  100,100,100  elle deviennent 21.1662, 15.9882, 21.9132
voici mon bout de code :

Code:

    MyGraphe->LoadWorld();
    MyEvent = new NJeux::Event(MyGui->getFen_Menu(), m_device, m_smgr, MyGraphe->getCameraFPS(), MyGraphe->getCamera());
    MyPhysique->CreateWorld(MyGraphe->getCameraFPS(), MyGraphe->getNMap(), MyGraphe->getMap());
    m_device->setEventReceiver(MyEvent);
    if(m_CamPos.X || m_CamPos.Y || m_CamPos.Z)
    { 
    MyGraphe->getCameraFPS()->setPosition(irr::core::vector3df(m_CamPos.X, m_CamPos.Y, m_CamPos.Z));
    MyGraphe->getCamera()->setPosition(irr::core::vector3df(m_CamPos.X, m_CamPos.Y, m_CamPos.Z));
    std::cout << m_CamPos.X << " " << m_CamPos.Y << " " << m_CamPos.Z << std::endl; 
    }
    std::cout << MyGraphe->getCameraFPS()->getPosition().X << " " << MyGraphe->getCameraFPS()->getPosition().Y << " " << MyGraphe->getCameraFPS()->getPosition().Z << std::endl;
    int i = 0;
    while(m_device->run())
    {
    m_driver->beginScene(true, true, irr::video::SColor(0,200,200,200));
    MyGraphe->UpDate();
    MyGui->Update(MyGraphe->getCameraFPS());
    m_smgr->drawAll();
        if(i != 1)
    {
        std::cout << MyGraphe->getCameraFPS()->getPosition().X << " " << MyGraphe->getCameraFPS()->getPosition().Y << " " << MyGraphe->getCameraFPS()->getPosition().Z << std::endl;
      i = 1;
    }
    m_gui->drawAll();
    m_driver->endScene();
    }

j'ai regardé dans la fonction drawAll() et j'y voit rien qui puisse changer mes coordonnées
Si quelqu'un sait d'où sa peut venir je dit pas non ^^

Hors ligne


#1 

28-08-2008 19:56:59

dark calculator
Abonné
Date d'inscription: 25-02-2007
Messages: 153

salut

Le probleme vient surement de ton MyGui->update(); envoie le code, à moin que tu es vérifié avec printf entre mygui->update et le drawall

dark caluclator

Hors ligne


#2 

28-08-2008 20:05:35

bestben
Abonné
Date d'inscription: 20-10-2007
Messages: 133

Oui j'ai vérifié entre MyGui->update() et drawAll()

Hors ligne


#3 

28-08-2008 20:09:58

dark calculator
Abonné
Date d'inscription: 25-02-2007
Messages: 153

Et tu n'a pas une animation applique a ta camera comme un gestionnaire de collision ou autre ?
C'est la derniere solution si non je vois pas.

Hors ligne


#4 

28-08-2008 20:55:58

bestben
Abonné
Date d'inscription: 20-10-2007
Messages: 133

Effectivement le problème vient des collisions ou plutôt de

Code:

 m_ColisionAnim = m_smgr->createCollisionResponseAnimator(
        metaSelector, m_CameraFPS, irr::core::vector3df(30,60,30),
        irr::core::vector3df(0,-100.0f,0),
        irr::core::vector3df(0,0,0));

Voici le prototype de createCollisionResponseAnimator

Code:

virtual ISceneNodeAnimatorCollisionResponse* irr::scene::ISceneManager::createCollisionResponseAnimator  (  ITriangleSelector *  world,  
  ISceneNode *  sceneNode,  
  const core::vector3df &  ellipsoidRadius = core::vector3df(30, 60, 30),  
  const core::vector3df &  gravityPerSecond = core::vector3df(0,-100.0f, 0),  
  const core::vector3df &  ellipsoidTranslation = core::vector3df(0, 0, 0),  
  f32  slidingValue = 0.0005f 
 )

si j'ai bien compris:
ellipsoidRadius est le rayon dans lequel les collision seront effectuées
gravityPerSecond représente la "force" qui va s'exercer sur le node
par contre est ce que quelqu'un peut m'expliquer à quoi servent ellipsoidTranslation et slidingValue

Hors ligne


#5 

28-08-2008 21:40:30

dark calculator
Abonné
Date d'inscription: 25-02-2007
Messages: 153

re

ellipsoidRadius correspond a l'ellipse qui va englober ta camera et les collisions seront calculer a partir de cette elipse. Par default elle est placé au centre de la camera mais par exemple un homme n'a pas les yeux au milieu du ventre c'est pourquoi on peut deplacer l'ellipse avec ellipsoidTranslation.

Quand à un sliding value je ne sais pas car la doc est muette sur le sujet

dark calculator

Hors ligne


#6 

29-08-2008 01:36:07

bestben
Abonné
Date d'inscription: 20-10-2007
Messages: 133

Ok merci pour la précision

Hors ligne


#7 

29-08-2008 07:47:05

dark calculator
Abonné
Date d'inscription: 25-02-2007
Messages: 153

Tu as toujours ton probleme ou c'est bon ?

Hors ligne


#8 

29-08-2008 13:30:21

bestben
Abonné
Date d'inscription: 20-10-2007
Messages: 133

Non c'est bon c'est résolu, je c'est pas trop comment ^^
j'ai juste changé les vecteurs
Merci pour tes réponses

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
88 invités en ligne
Aucun membre connecté
RSS Feed