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 :

Gestion de caméra [OpenGL 1.x]


Sujet :

OpenGL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 34
    Points : 31
    Points
    31
    Par défaut Gestion de caméra
    Bonsoir,

    J'ai commencer il y a quelques semaines un projet de bomberman réalisé en C++ avec openGL, J'ai mis en place une caméra fixe au début du projet, et au fur et à mesure de l'avancé de mon travail j'ai voulu déplacer la caméra selon la position du joueur et c'est la que je sollicite votre aide.

    Voici mon code de base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      glTranslatef(0.0f, 0.0f, 0.0f);
      gluPerspective(20.0f, 960.0f/540.0f, 1.0f, 10000.0f);
     
      glMatrixMode(GL_MODELVIEW);
      glLoadIdentity();
      gluLookAt(position_.x, position_.y, position_.z, //position_.x = 0, position_.y = 0, position_.z, = 335
                0.0, 0.0f, -1.0f,
                0.0f, 1.0f, 0.0f);
     
      glEnable(GL_DEPTH_TEST);
      glDepthFunc(GL_LEQUAL);
    Je change donc la position (position_.x,position_.y) de la caméra par les positions actuelles du joueur. Sauf que lorsque je dirige mon personnage vers la droite il se passe ceci :

    avant de bouger :



    apres avoir bouger



    En gros on dirait que la camera fait une rotation au lieu de suivre les positions du joueur, du côté du joueur le code se passe ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->core->changePosCamera(this->cam_x + offset_y, this->cam_y, this->cam_z + offset_x);
    Ce qui incrémente les position "position_.x" par la position "offset_y" de même pour la "position_.y".

    Voila j'espère avoir été assez clair, merci d'avance de vos réponses en tout cas.

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    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 226
    Points : 10 188
    Points
    10 188
    Par défaut
    Plus de détails ,sur quoi tu bloque exactement ?
    Sur ton code tu déplace la position mais pas sa vision(après peut être que c'est ce que tu veux).
    A part ça je vois pas qu'est qui te bloque exactement.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 34
    Points : 31
    Points
    31
    Par défaut
    Désolé j'ai valider mon message par erreur avant de l'avoir fini, de plus ample détails ci-dessus. Merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    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 226
    Points : 10 188
    Points
    10 188
    Par défaut
    Ouais c'est je que je disais , t'as impression que ça fait une rotation.
    T'as vision ne change pas tu regarde toujours au même endroit , il faut changer la vision de la camera si tu veux suivre le personnage.
    Si t'as un peu du mal a te imaginer , prend toi en exemple , si tu regarde un objet , tu peux te déplacer partout on gros on peut voir cela comme une rotation ,si ton objet bouge (mais que tu change pas ou tu regarde) tu as ce que t'as fait.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 34
    Points : 31
    Points
    31
    Par défaut
    Désolé j'ai pas compris, tu veux que je synchronise la vision de la caméra avec son mouvement, c'est ca ? Ca se fait avec les 3 derniers parametres de GluLookAt du coup?

  6. #6
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    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 226
    Points : 10 188
    Points
    10 188
    Par défaut
    bah je m'exprime un peu mal c'est vrai ^^' , mais juste de la logique.
    Voila un dessin qui j’espère tu verra mieux ton problème.

    http://img4.hostingpics.net/pics/595487Sanstitre.png

    Mais oui il faut que la vision suis ton personnage , le mieux c'est de faire peut être le contraire une camera fixe mais une vision mobile ,pour les paramètres de la vision c'est les 3 du milieux.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 34
    Points : 31
    Points
    31
    Par défaut
    Ah la caméra suit bien le personnage à présent. merci bien !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion de caméra CAO
    Par remitbo dans le forum OpenGL
    Réponses: 2
    Dernier message: 23/12/2012, 12h12
  2. [C++/Opengl] Problème de gestion de caméra
    Par alex2908 dans le forum Langage
    Réponses: 1
    Dernier message: 09/04/2011, 17h39
  3. [DirectX9] Anti-aliasing + gestion caméra
    Par SteelBox dans le forum DirectX
    Réponses: 6
    Dernier message: 21/07/2005, 01h56
  4. librairie gestion de caméra
    Par Jbx 2.0b dans le forum C++
    Réponses: 1
    Dernier message: 28/02/2005, 02h10

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