#1 

13-03-2009 10:41:47

sahlie1985
Membres
Date d'inscription:
Messages: 2
IP: 41.226.93.135
Courriel

salut tous le monde je cherche vraiment une aide
pour mon projet en premier étape, j'utilise ce 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
smgr->loadScene("media/example.irr");

pour la collision on doit récupérer le sceneNode :
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 :
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


Hors ligne


#2 

14-03-2009 14:08:41

sahlie1985
Membres
Date d'inscription:
Messages: 2
IP: 41.226.178.59
Courriel

personne ne peux m'aider?????


Hors ligne


#3 

14-03-2009 19:30:46

valholl
Membres
Date d'inscription:
Messages: 69
IP: 80.236.206.101
Courriel

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