#1 

27-06-2007 08:16:14

gp2mv3
Membres
Date d'inscription:
Messages: 103
IP: 81.245.153.150
Courriel  Site web

Salut,
Je fais un MMORPG mais j'ai un probleme, je ne sais pas comment mettre plusieur gestions de la collision.
J'ai déja un system de ce type pour le terrain mais il y a des batiments et la la camera passe à travers les murs.
Comment faire?

Merci d'avance.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#2 

27-06-2007 09:35:54

Willikus
Membres
Avatar de Willikus
Date d'inscription:
Messages: 150
IP: 86.214.2.10
Courriel  Site web

il faut utilisé le metaSelector :

scene::IMetaTriangleSelector* metaSelector = smgr->createMetaTriangleSelector();
metaSelector->addTriangleSelector(selectormap);
metaSelector->addTriangleSelector(selectormaison);
...

scene::ISceneNodeAnimatorCollisionResponse* choc = smgr->createCollisionResponseAnimator(metaSelector, camera, core::vector3df(45,75,45), core::vector3df(0,-15,0), core::vector3df(0,50,0));
camera->addAnimator(choc);


Si ta des questions...

a+
w


Athlon 3000+ / 1024Mo PC3200 /8800 GTS

Hors ligne


#3 

28-06-2007 09:37:50

gp2mv3
Membres
Date d'inscription:
Messages: 103
IP: 81.245.153.150
Courriel  Site web

J'ai éssayé mais je ne comprends pas bien comment l'utiliser avec un terrain.

Voici le code pour la simple colision avec le terrain :

//Les collisions
scene::ITriangleSelector* selector = smgr->createTerrainTriangleSelector(nsol, 0);
nsol->setTriangleSelector(selector);


ISceneNodeAnimatorCollisionResponse* collider;
collider = smgr->createCollisionResponseAnimator(
selector, camera, core::vector3df(25,50,25),
core::vector3df(0, nsol ? -2.5 : 0.0,0),
core::vector3df(0,45,0), 0.005f);
camera->addAnimator(collider);
collider->drop();


Je ne sais pas trop si je dois déclarer les selecteur avant de mettre ton code ou pas.

Merci d'avance.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#4 

28-06-2007 11:27:55

Aranoth
Membres
Avatar de Aranoth
Date d'inscription:
Messages: 242
IP: 81.50.85.94
Courriel  Site web

Tu dois d'abord créer le TriangleSelector de ton terrain et de tes maisons, puis ensuite créer le MetaTriangleSelector et y ajouter les TriangleSelector :

//Les collisions
scene::ITriangleSelector* selector = smgr->createTerrainTriangleSelector(nsol, 0);
nsol->setTriangleSelector(selector);

// le meta triangle selector
scene::IMetaTriangleSelector* metaSelector = smgr->createMetaTriangleSelector();
metaSelector->addTriangleSelector(selector);

// l'animator
  ISceneNodeAnimatorCollisionResponse* collider;
    collider = smgr->createCollisionResponseAnimator(
    metaSelector, camera, core::vector3df(25,50,25),
    core::vector3df(0, nsol ? -2.5 : 0.0,0),
    core::vector3df(0,45,0), 0.005f);
    camera->addAnimator(collider);
    collider->drop();

Le MetaTriangleSelector est un regroupement de TriangleSelector et s'utilise comme eux

Hors ligne


#5 

01-07-2007 09:17:09

gp2mv3
Membres
Date d'inscription:
Messages: 103
IP: 81.242.148.47
Courriel  Site web

Merci de vos réponses.
Effectivement, ton code fonctionne Aranoth.
Merci de votre aide.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

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