10-06-2010 12:38:08
- yellowdude
- Membres
- Date d'inscription:
- Messages: 17
- IP: 82.225.231.81
- Courriel
Bonjour bonjour, (et oui encore moi ^^)
Je souhaite que ma camera ne puisse pas passer sous le plan (du moins a travers du plan ^^).
J'ai lu le tutoriel http://irrlicht.sourceforge.net/docu/example007.html mais j'avoue ne pas vraiment avoir compris leur code.
Je sais qu'il faut que je creer un node pour la camera, et un autre pour l'objet (plan dans mon cas).
Ensuite qu'il ne faut pas qu'il se collisionne.. mais je ne sais pas vraiment comment :S
Je suis un peu perdu je dois avouer :s...
Si une bonne ame veut bien m'aider ![]()
Merci d'avance!
Hors ligne
11-06-2010 11:28:59
- nabouill
- Membres

- Date d'inscription:
- Messages: 242
- IP: 82.127.58.127
- Courriel
salut, je ne voudrais pas te faire tout le code, mais c'est vrai qu'un exemple est souvent plus parlant.
Je vais donc te montrer un exemple d'une camera FPS qui collisione avec un plan:
Code c++ :
//creation d'une camera FPS
ICameraSceneNode* myCamera = sceneMgr->addCameraSceneNodeFPS(0, 100.0f, 0.02f, -1, keyMap, 4, false, 2.5f);
myCamera->setPosition(vector3df(0,20,0));
//creation d'un plan
IAnimatedMeshSceneNode *myPlan = sceneMgr->addAnimatedMeshSceneNode(sceneMgr->getMesh("plan.3ds"));
//creation d'un selecteur de triangle, il va "enregistré" les triangle de mon sceneNode
ITriangleSelector * selecto = sceneMgr->createTriangleSelector(((scene::IAnimatedMeshSceneNode*)myPlan)->getMesh(), myPlan);
//creation d'un animateur qui va gérer les collisions
ISceneNodeAnimatorCollisionResponse *MyAnim = sceneMgr->createCollisionResponseAnimator(
selecto, //world
myCamera,//sceneNode
vector3df(1,1,1), //ellipsoidRadius
vector3df(0.0,-9.8,0.0),//gravity
vector3df(1,1,1));//ellipsoidTranslation
//on applique cette animateur a notre camera
myCamera->addAnimator(MyAnim);
//on supprime les objets qui ne sont plus utilisé
selecto->drop();
MyAnim->drop();Voici un petit exemple, en espérant qu'il t'aide a mieux comprendre
Bon courage
Hors ligne
15-06-2010 12:21:24
- yellowdude
- Membres
- Date d'inscription:
- Messages: 17
- IP: 82.225.231.81
- Courriel
Hehe tout d'abord merci ![]()
Ton code marche tres bien, mais c'est vrai que du coup, ma camera tombe ![]()
Je vais voir si je peux trouver ca qq part.. ^^
[Edit]
C'est bon j'ai trouve ^^ hehe c'est pas mal du tout tout ca ![]()
Hors ligne
15-06-2010 18:03:49
- ramis
- Membres
- Date d'inscription:
- Messages: 92
- IP: 109.210.108.130
- Courriel
faut quand même noter que ca utilise les fonctions internes à Irrlicht, que c'est pas vraiment subtil et que ca ne remplace évidemment pas un moteur physique =o De plus, il me semble que ca plombe pas mal le nombre de fps. Personnellement, j'en vois très vite les limites ... Après, c'est évidemment le plus simple.
Hors ligne
16-06-2010 11:45:58
- yellowdude
- Membres
- Date d'inscription:
- Messages: 17
- IP: 88.169.253.22
- Courriel
Cela me suffit pour ce que je souhaite faire ![]()
Encore merci ^^
Hors ligne



