Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    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.

  2. #2
    Membre éclairé

    Inscrit en
    janvier 2008
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 673
    Points : 348
    Points
    348

    Par défaut

    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

  3. #3
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 11
    Points : 0
    Points
    0

    Par défaut

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •