Message #9358
Sujet: Système de collisions de type RPG
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 19-01-2011 14:21:51 | Metallizer |
Bon ça fait quasiment un an que tu as posté ce message mais je tiens quand même à faire partager mon expérience à ce niveau car je suis exactement dans la même situation.
Au départ, je pensais que tout était prévu dans Irrlicht pour gérer des collisions, après tout, c'est une bibliothèque qui est censée faciliter le développement de jeux 3D. Et en effet, il y a le CollisionResponseAnimator qui permet de faire de la collision Objet/Terrain (ou Mesh de décor). Seulement voila, je la trouve extrêmement limitée, d'ailleurs c'est l'avis de tous sur ce forum. Puis on m'a conseillé d'implémenter un moteur physique. Je suis parti sur Newton mais je ne suis arrivé à rien de bon avec ce moteur. Un simple cube qui tombe sur un plan et le cube passe au travers (il s'enfonce lentement dedans comme dans du sable mouvant) puis tourne sur lui même Je suis ensuite passé à Bullet, moteur plus apprécié on dirait, il est aussi plus concluant dans mon cas, le cube tombe et s'arrête bien au sol. Je ne suis pas allé plus loin que ça, le cube rebondit sur le sol en fonction de la hauteur à laquelle il a été lâché. Ce comportement ne me convient pas, je n'ai pas encore trouvé comment paramétrer mes objets pour que le cube tombe et s'arrête net sur le sol... J'espère seulement que c'est possible. Autre problème que j'ai : collision Objet/Décor et là je n'ai toujours pas réussi à faire ce que je voulais, à savoir que le cube monte la pente quand je le déplace. Au lieu de cela, il fonce droit dedans et passe au travers, comme si c'était resté plat. Autre soucis : Le cube dévale la pente comme si elle était savonneuse, j'espère trouver un moyen de spécifier un seuil à partir duquel mon cube doit glisser et à quelle vitesse... Bref je suis un peu déçu de ces moteurs physiques qu'on nous vente à droite et à gauche et je me pose beaucoup de question sur comment on peut arriver au résultat souhaité. Pourtant, je ne demande pas la lune mais seulement que mon personnage puisse marcher, gravir les pentes, les descendre. Rien de plus. Mais visiblement ça à l'air super compliqué de mettre en place un tel système. A moins qu'on m'en apporte la preuve du contraire, les anciens jeux 3D des années 90 n'utilisaient pas de moteurs physiques, j'aimerais vraiment trouver un article sur le net qui explique le fonctionnement de collisions simples entre une primitive géométrique et un mesh aux multiples triangles (et sans maths compliquées qui nécessitent un BAC+5 math spé). En attendant, j'ai avancé sur d'autres aspects de mon jeu, pour le reste, son code source est disponible et mis à jour régulièrement, si un jour quelqu'un me met le nez dans mes bêtises avec Bullet, ça me rendra un grand service : http://www.is06.com/telecharger.php |
| Création du message | 19-01-2011 14:20:51 | Metallizer |
Bon ça fait quasiment un an que tu as posté ce message mais je tiens quand même à faire partager mon expérience à ce niveau car je suis exactement dans la même situation.
Au départ, je pensais que tout était prévu dans Irrlicht pour gérer des collisions, après tout, c'est une bibliothèque qui est censée faciliter le développement de jeux 3D. Et en effet, il y a le CollisionResponseAnimator qui permet de faire de la collision Objet/Terrain (ou Mesh de décor). Seulement voila, je la trouve extrêmement limitée, d'ailleurs c'est l'avis de tous sur ce forum. Puis on m'a conseillé d'implémenter un moteur physique. Je suis parti sur Newton mais je ne suis arrivé à rien de bon avec ce moteur. Un simple cube qui tombe sur un plan et le cube passe au travers (il s'enfonce lentement dedans comme dans du sable mouvant) puis tourne sur lui même Je suis ensuite passé à Bullet, moteur plus apprécié on dirait, il est aussi plus concluant dans mon cas, le cube tombe et s'arrête bien au sol. Je ne suis pas allé plus loin que ça, le cube rebondit sur le sol en fonction de la hauteur à laquelle il a été lâché. Ce comportement ne me convient pas, je n'ai pas encore trouvé comment paramétrer mes objets pour que le cube tombe et s'arrête net sur le sol... J'espère seulement que c'est possible. Autre problème que j'ai : collision Objet/Décor et là je n'ai toujours pas réussi à faire ce que je voulais, à savoir que le cube monte la pente quand je le déplace. Au lieu de cela, il fonce droit dedans et passe au travers, comme si c'était resté plat. Autre soucis : Le cube dévale la pente comme si elle était savonneuse, j'espère trouver un moyen de spécifier un seuil à partir duquel mon cube doit glisser et à quelle vitesse... Bref je suis un peu déçu de ces moteurs physiques qu'on nous vente à droite et à gauche et je me pose beaucoup de question sur comment on peut arriver au résultat souhaité. Pourtant, je ne demande pas la lune mais seulement que mon personnage puisse marcher, gravir les pentes, les descendre. Rien de plus. Mais visiblement ça à l'air super compliqué de mettre en place un tel système. A moins qu'on m'en apporte la preuve du contraire, les anciens jeux 3D des années 90 n'utilisaient pas de moteurs physiques, j'aimerais vraiment trouver un article sur le net qui explique le fonctionnement de collisions simples entre une primitive géométrique et un mesh aux multiples triangles (et sans maths compliquées qui nécessitent un BAC+5 math spé). En attendant, j'ai avancé sur d'autres aspects de mon jeu, pour le reste, son code source est disponible et mis à jour régulièrement, si un jour quelqu'un me met le nez dans mes bêtises avec Bullet, ça me rendra un grand service : http://www.is06.com/telecharger.php |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 129 invités en ligne membre en ligne: - RSS Feed |