Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Physique
Physique Forum d'entraide sur les algorithmes et moteurs physiques (ODE, Newton...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/12/2011, 13h01   #1
mytrill
Invité de passage
 
Inscription : décembre 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 11
Points : 0
Points : 0
Par défaut Joueur monstres et moteur physique

Bonjour,

Je travaille en ce moment sur un petit moteur physique basée sur les impulses (merci les tutos et présentations d'Erin Catto).

Tout fonctionne très bien, mais je ne sais pas comment intégrer une classes 'PhysicsCharacter' à mon moteur..

Pour le moment, j'ai essayé de faire dériver ma classe de Body, et de la considérer comme un corps régulier, de façon à utiliser tous le système de collisions et d'impulses déjà en place.
J'ai essayé de gérer la course de différentes manières:
- j'ai d'abord simplement modifié la vitesse du joueur, ça fonctionne très bien, mais la modification ne prends en compte aucune sorte de "force" du joueur, c'est à dire qu'il peut monter des murs presque verticaux, il ne glisse pas sur les sols glissant, et il peut pousser des caisses de plusieurs tonnes comme de simples allumettes...
- ensuite, j'ai essayé d'appliquer une accélération proportionnelle à la masse du joueur, et à la différence entre la vitesse actuelle du joueur, et la vitesse cible. Dans ce cas, le comportement était pas mal vis à vis de l’interaction avec les autres bodies, mais la marche était bizarre, le joueur "met du temps" à accélérer, ce qui donne l'impression d'être dans une voiture...
- finalement, j'ai essayé d'ajouter une contrainte de position au joueur, cella ne fonctionne pas du tout lors de la collision avec un mur puiseque le corps rebondi...

Voilà tous mes essais, j'ai aussi regardé les moteurs jBullet et ode4j, ainsi que jBox2D (je code en java). Je n'ai vu que Bullet qui gérait les personnages, et il les gère à part du reste, je ne vois donc pas comment on peut faire en sorte qu'un joueur pousse un caisse, ou glisse sur de la glace.

Mytrill.
mytrill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 18h01   #2
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Pour les glissements il faut regarder du LinearDamping il me semble ou bien du cote de "e", en gros cette variable va servir a dminuer la vitesse des corps qui sont en collisions au moment de la reponse de collision.

Et pour que le joueur puisse pousser une caisse ca doit etre gerer dans la reponse de collision aussi, c'est proportionnel aux masses.

Par curiosite comment as tu gerer le fait qu'un cube reste sur le sol et ne tombe pas, et le fait que plusieurs cube empile en Y ne fassent pas de petits rebonds infinis les uns sur les autres?

Merci
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 17h16   #3
mytrill
Invité de passage
 
Inscription : décembre 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 11
Points : 0
Points : 0
Salut, merci de ta réponse, mais je pense avoir trouvé une solution, du moins temporaire (j'ai adapté la seconde solution pour les curieux..).

Pour le reste, j'ai géré ma réponse de collision avec un système d'impulse (cf. Erin Catto), et j'ai évité les rebonds (du moins, un peu...) en prenant en compte un interpénétration autorisée (cf. présentations d'Erin Catto).

Mytrill
mytrill est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h05.


 
 
 
 
Partenaires

Hébergement Web