#0 

13-03-2009 11:41:47

sahlie1985
Petit nouveau
Date d'inscription: 19-11-2008
Messages: 2

salut tous le monde je cherche vraiment une aide
pour mon projet en premier étape, j'utilise ce code :

Code:

video::IVideoDriver* driver = device->getVideoDriver();
smgr = device->getSceneManager ();
    //On charge la place
    scene::IAnimatedMesh *mesh = smgr->getMesh("media/placeFinale.obj");
    meshNode = smgr->addOctTreeSceneNode(mesh->getMesh(0));
    meshNode->setMaterialTexture(0,    driver->getTexture("media/placeFinale.png"));
    meshNode->setPosition(core::vector3df(0, 0, 0));
    meshNode->setScale(core::vector3df(5.0f, 5.0f, 5.0f));
    meshNode->setMaterialFlag(video::EMF_LIGHTING, true);
    meshNode->setMaterialFlag(video::EMF_ANISOTROPIC_FILTER,true);
    meshNode->getMaterial(0).EmissiveColor.set(255,255,255,255);
    meshNode->setMaterialType(video::EMT_SOLID);
 
    if(meshNode)
    {
        mapSelector = smgr->createOctTreeTriangleSelector(mesh->getMesh(0), meshNode);
        meshNode->setTriangleSelector(mapSelector);
        mapSelector->drop();
    }

mais désormer on doit utiliser des scenes de type .irr

Code:

smgr->loadScene("media/example.irr");

pour la collision on doit récupérer le sceneNode :

Code:

smgr->getSceneNodeFromType(scene::ESNT_MESH, meshNode);
    
    if(meshNode)
    {
        mapSelector = smgr->createOctTreeTriangleSelector(((scene::IAnimatedMesh*)meshNode)->getMesh(0), meshNode);
        meshNode->setTriangleSelector(mapSelector);
        mapSelector->drop();
    }

ce code ne provoque aucun erreur mais le collusion ne se fais pas, je pence que le probleme dans ce code, ce n'est pas dans la collision :

Code:

camera = sm->addCameraSceneNodeFPS(0,100.0f,20.0f, -1, keyMap, 9, true, 0.4f);
            camera->setPosition(core::vector3df(-17.0f, 6.0f, 26.0f));

            scene::ISceneNodeAnimatorCollisionResponse* collider =
                sm->createCollisionResponseAnimator(
                mapSelector, camera, core::vector3df(1, 1, 1),
                core::vector3df(0, -1, 0), core::vector3df(0, 4, 0));

            camera->addAnimator(collider);
            collider->drop();

si une personne connaît la solution ca serai vraiment énorme et gentil smile
je travailles avec visual C++ et irrlicht 1.4.2

Dernière modification par sahlie1985 (13-03-2009 11:43:04)

Hors ligne


#1 

14-03-2009 15:08:41

sahlie1985
Petit nouveau
Date d'inscription: 19-11-2008
Messages: 2

personne ne peux m'aider?????

Hors ligne


#2 

14-03-2009 20:30:46

valholl
Membre
Date d'inscription: 20-11-2008
Messages: 69

Bonsoir,

A tout hasard, as-tu déjà regardé ces topics-ci: http://forum.irrlicht.fr/viewtopic.php?id=553 et http://forum.irrlicht.fr/viewtopic.php?id=786

J'imagine que oui, mais comme cela parle aussi de problèmes de collision avec les .irr ça peut peut-être aider...

Malheureusement je ne peux personnellement pas t'aider, je n'utilise pas de scènes en .irr (pas encore en tout cas) et je n'utilise ni caméra FPS ni collisions entre meshs.

valholl

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
882 membres
1429 sujets
11119 messages
Dernier membre inscrit: LiseBuisson96
80 invités en ligne
Aucun membre connecté
RSS Feed