Partage
  • Partager sur Facebook
  • Partager sur Twitter

Déplacement simple d'un "joueur"

Sujet résolu
    18 juillet 2011 à 18:04:30

    Bonjour à tous, la question que je vais posé est assez bête, je l'admet. Néanmoins je n'ai pas trouvé la solution, elle est probablement quelque part dans mon cours de math...
    Bref, j'aimerai savoir comment faire avancé un élément (un joueur) dans un univers 3D sur l'axe x et z (ici z est la profondeur). J'ai la rotation du personnage mais je ne sais pas comment le faire avancé quand il est tourné à un angle de 30° par exemple.
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      18 juillet 2011 à 21:41:13

      utilise les vecteurs non ?
      fais le déjà en 2D dans le repère (X;Z), à partir de l'angle tu peux en déduire le coefficient directeur de ton vecteur (30° équivaut à un coef de 1/3).
      • Partager sur Facebook
      • Partager sur Twitter
      Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter - Edsger Dijkstra
        19 juillet 2011 à 12:08:02

        Sinon, il y a mes maths, effectivement:
        Déjà il y a normalement deux angles à prendre en compte en 3D.
        Bon, pour la 2D, 1 pas effectué dans une direction d'un angle 30° correspond à cos(30)(=sqrt(3)/2) sur l'axe des abcisses et sin(30)(=1/2)racine sur l'axe des ordonnées.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          19 juillet 2011 à 19:49:33

          Salut, la solution standard, je pense, est d'avoir pour chaque perso un vecteur direction (0, 0, -1). Puis, à chaque frame tu tournes ce vecteur selon la rotation du personnage (en le tournant seulement de l'angle Y pour le garder sur le plan (X, Z) dans ton cas). Puis tu multiplies le vecteur obtenu par la vitesse du perso et tu as le nouveau vecteur à ajouter à la position du perso ;) .
          • Partager sur Facebook
          • Partager sur Twitter
            20 juillet 2011 à 9:48:54

            Merci j'ai finalement trouvé. J'avais simplement oublier de mettre l'angle en radian (j'ai utilisé sinus et cosinus)
            • Partager sur Facebook
            • Partager sur Twitter

            Déplacement simple d'un "joueur"

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown