Bonjour,
je trouve aucun tuto sur internet, et j'aimerais savoir comment gérer les collisions, je n'ai pas compris dans le tuto 7 livré avec irrlicht...
J'aimerais un exemple de code pour la map de quake 3 chargée...
merci !
Hors ligne
La collision c'est plutot simple (en tout cas, de ce que j'en connais ^^) :
Tu cree un mesh (ou tu l'importe) :
scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("20kdm2.bsp");
tu cree un node :
scene::ISceneNode* q3node = 0;
puis tu ascosi le mesh au node :
q3node = smgr->addOctTreeSceneNode(q3levelmesh->getMesh(0));
tu cree un JeCpascommentças'appel :
scene::ITriangleSelector* selector = 0;
et tu lui ascosi le node :
selector = smgr->createOctTreeTriangleSelector(q3levelmesh->getMesh(0), q3node, 128);
q3node->setTriangleSelector(selector);
selector->drop();
La ton selector "reconnaitra" la surface du mesh.
Il te reste donc a dire a la camera que cette surface est "dur" :
tu cree la cam :
scene::ICameraSceneNode* camera =
smgr->addCameraSceneNodeFPS(0, 100.0f, 300.0f, -1, 0, 0, true);
puis tu lui ascosi la collision avec comme surface "selector" :
scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
selector, camera, core::vector3df(30,50,30),
core::vector3df(0,-3,0),
core::vector3df(0,50,0));
camera->addAnimator(anim);
anim->drop();
Voilà !
Je sais pas si j'ai été bien claire
O pire, des plus expérimentés (surtout plus fort dans le domaine), viendront te le dire...
a+
w
Hors ligne
Mias quand on veut qu'un mesh percute les murs de la map, comment on peut faire.? c'est différent car ca dépend du mouvement qu'on attribue au mesh, non ?
Hors ligne
Si tu veux des objets qui "rebondissent", tu vas devoir devoir utiliser un moteur physique (ODE, Newton, Bullet...). J'ai vu çà récemment sur le forum officiel :
http://irrlicht.sourceforge.net/phpBB2/ … hp?t=22757
http://irrlicht.sourceforge.net/phpBB2/ … hp?t=22764
J'ai pas encore eu le temps de les tester, mais apparemment, çà simplifie beaucoup la création "d'objets physiques"
Hors ligne
non, je voudrais qu'un bot ne traverse pas les murs...pas de rebonds pour le moment... merci
Hors ligne
Ben alors le code de Willikus devrait suffir
Hors ligne
Ce n'est pas mon code mais le code du tuto.
je pense qu'il faut attribué un animateur pour chaque bots ?!
Enfin, je sais pas plus moi :?
a+
w
Hors ligne