Bonjour,
j'ai réussi à créer une détection de collision pour un mesh. Maintenant j'aimerais en ajouter un 2ème, histoire d'avoire une map plus grande. Seulement je n'y arrive pas. On peux passer à travers le mesh. Quelqu'un a une solution ?
Hors ligne
Peut etre devrais tu fournir un peu de ton code pour voir où est le probleme
Hors ligne
D'abbord, j'ajoute un node qui servira comme début de map et un Triangle selector
IAnimatedMesh *mesh = sceneManager->getMesh("maps/pique_nique_v2.obj");
ImeshSceneNode *node = 0;
if (mesh)
node = sceneManager->addOctTreeSceneNode(mesh->getMesh(0), 0, IDFlag_IsPickable);
if (node)
{
selector = sceneManager->createOctTreeTriangleSelector(node->getMesh(), node, 128);
node->setMaterialFlag(EMF_LIGHTING, false);
}
node->setPosition(vector3df(0.0f,0.0f,0.0f));
node->setScale(vector3df(35.0f,35.0f,35.0f));
Là pas de problème. Et là, lorsque j'ajoute un deuxième node pour agrandire ma map, il y a quelques bugs
IAnimatedMeshSceneNode *node2 = sceneManager->addAnimatedMeshSceneNode(sceneManager->getMesh("maps/plat.obj"), 0, IDFlag_IsPickable);
node2->setPosition(vector3df(400.0f+100,0.0f,0.0f));
node2->setScale(vector3df(40.0f,40.0f,40.0f));
selector2 = sceneManager->createTriangleSelector(node2);
Et après, je sais pas si ça peux vous servir, mais voilà les selector
//selectors
if (selector)
{
ISceneNodeAnimator* animator = sceneManager->createCollisionResponseAnimator(selector, camera, vector3df(30,50,30), vector3df(0,-2,0), vector3df(0,30,0));
selector->drop();
camera->addAnimator(animator);
animator->drop();
}
if (selector2)
{
ISceneNodeAnimator *animator2 = sceneManager->createCollisionResponseAnimator(selector2, camera, vector3df(30,50,30), vector3df(0,-2,0), vector3df(0,30,0));
selector2->drop();
camera->addAnimator(animator2);
animator2->drop();
}
Dites-moi si il y a un truc qui cloche
Hors ligne
regarde du coter d'un http://irrlicht.sourceforge.net/docu/cl … ector.html
je n'utilise pas les "collision" d'irrlicht perso mais bullet, je ne suis donc pas d'une grand aide
mais je suppose qu'il faut crée un IMetaTriangleSelector ajouter t'est deux triangle selector, et enfin crée un animator sur celui-ci pour la camera.
sinon regarde la demo d'irrlicht
Hors ligne
Et je pourrais faire ça avec autantde mesh que je le veux ?
Et Bullet c'est quoi ?
Hors ligne
Sinon c'était bien ça, il fallais grouper les selectors dans un seul Meta et crééer un animator fait pour lui seul
Hors ligne
Oui, magun a raison, utilise un meta et tu pourra en ajouter tant que tu veux a§
Hors ligne
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 75 invités en ligne Aucun membre connecté RSS Feed |