IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Déplacer un personnage en fonction de l'angle de vue !


Sujet :

OpenGL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 72
    Points : 38
    Points
    38
    Par défaut Déplacer un personnage en fonction de l'angle de vue !
    Bonsoir,
    J'ai un petit problème dont je ne parviens pas à trouver de solution, pour cela je vous joins mon projet, vous comprendrez bien mieux de quoi je veux parler (lancez juste l'exécutable au pire).
    Si la caméra est en face du personnage, pas de problème, il se déplace logiquement. Mais dès que je tourne autour, et que je me place mettons à 90 degrés sur la droite, et bien la touche qui le fait aller vers le haut... on va avoir l'impression qu'il va vers la droite ! Quand on voudra aller à gauche, avec ce nouvel angle, il faudra appuyer sur bas, etc... C'est épuisant.
    Auriez-vous une idée ? Merci d'avance
    P.S : Je code en C avec Ubuntu pour ceux que ça rebuterait
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Ben c'est assez simple dans ton code quand on appuie sur une touche tu déplace le personnage en position.x += 1, alors que le déplacement sur x/z doit être par rapport a la camera et pas ecrit en 'brut' (mais ça demande un calcul a faire).

    Sinon le code est assez mauvais beaucoup trop de variables globale...

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 311
    Points : 545
    Points
    545
    Par défaut
    C’est un problème classique !

    Tu dois exprimer ton vecteur Up du repère locale a la Camera au repère Monde , pour cela il suffis juste de le multiplier par la matrice inverse de la Camera, pour ensuite l’appliquer à ta matrice modele
    ShaderElement : Bénéficier de l’accélération graphique simplement par une nouvelle balise HTML <shader>
    ODE.js : portage JavaScript du célèbre moteur physique 3D Open Dynamics Engine

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 72
    Points : 38
    Points
    38
    Par défaut
    Ok merci je vais essayer !
    Les variables globales c'est normal j'ai fait ça brutalement je fignolerai plus tard ^^

  5. #5
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Avoir de bonne habitude c'est mieux et ça entraine a la programmation procédural.
    Pour ma part même pour des simple démo j'en ai jamais fait donc c'est plus un conseil a suivre 'au sérieux' , et le C encore plus demande a être rigoureux (sinon autant changer de langage au long terme).

Discussions similaires

  1. [AC-2007] déplacer des combobox en fonction des barres de defilement
    Par alex77140 dans le forum IHM
    Réponses: 3
    Dernier message: 17/07/2009, 02h03
  2. Réponses: 3
    Dernier message: 16/06/2009, 13h35
  3. Comment déplacer un personnage en Assembleur ?
    Par mimiégaelle dans le forum Assembleur
    Réponses: 6
    Dernier message: 15/12/2006, 20h20
  4. Réponses: 3
    Dernier message: 11/05/2006, 11h32
  5. [Bouton] Comment déplacer un bouton en fonction du scrolling
    Par Kylen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/08/2005, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo