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 :

Conseil pour une caméra de type FPS


Sujet :

OpenGL

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Conseil pour une caméra de type FPS
    Bonjour,

    J'ai commencé à apprendre depuis un petit mois à utiliser LWJGL. J'ai lu plusieurs tutoriaux sur différents sites afin d'acquérir quelques bases puis de me lancer dans mon petit projet.

    Dans celui-ci, je souhaiterais utiliser une caméra de type FPS que je contrôlerais avec la souris. Dans les différents essais que j'ai effectués, j'ai utilisé la méthode gluLookAt() afin de simuler une caméra. Ensuite, en utilisant la position de la souris et des matrices de transformation, je modifiais le point vers lequel ma "caméra" regardait.

    Comme le résultat que j'obtenais n'était pas satisfaisant, j'ai regardé différents exemples sur internet et j'ai remarqué que la plupart des personnes utilisaient une autre technique. En effet, au lieu de modifier le point de visée de la caméra, il effectuait une rotation de la scène.

    Du coup, je me demandais simplement quelle méthode vous conseillez pour faire ce genre de "caméra.

    Merci d'avance !

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Je conseille la méthode du gluLookAt (rotation de la caméra). Mais les deux reviennent au même (pour peu que la rotation de la scène se fasse par rapport à la position de la caméra).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre actif Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Points : 228
    Points
    228
    Par défaut
    Salut,

    Idem que le Petit Blanc

    Pour ma part je trouve l'utilisation de gluLookAt (objet camera) beaucoup plus parlant et visuellement compréhensible (comprendre avec les yeux c'est chaud , dsl je ne trouve pas d'autre terme) que de faire tourner "le monde" dans tout les sens, bien que cela soit identique et est juste une question de référentiel.
    Rien ne sert de courir, mieux vaut partir à point. Programmer aussi d'ailleurs.
    Surtout, mais surtout pas d’astuces !
    Pas de bras, pas de chocolat. Les deux mains sur le clavier.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses

    J'allais dans la même direction que vous car je trouve ça aussi beaucoup plus clair. Dans les différents tests que j'avais effectués, j'ai commencé par essayer de modifier mon point de focus à l'aide des flèches, ce qui marche plutôt pas mal, même si j'ai juste un petit bug lorsque je regarde vers le haut mais cela est du à mes matrices de rotation où j'ai fait une petite faute.

    J'ai vite réaliser un petit test pour voir l'algorithme à implémenter et là aussi, j'ai un petit conseil à vous demander ^^
    Pour récupérer les coordonnées de ma souris, tout se passe bien lorsque je suis dans ma fenêtre (pour le moment, ma fenêtre fait du 640*480). Par contre, lorsque je sors de ma fenêtre ou que je suis sur le bord de celle-ci, mes coordonnées ne changent plus. Du coup, je me suis dit qu'une "bonne" solution pourrait être de replacer ma souris au milieu de ma fenêtre à chaque frame. Cela est-il une solution viable à votre avis ?

    Merci encore pour vos réponses

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Première possibilité : le jeu est en plein écran .
    Sinon, le replacement de la souris est une bonne idée, mais je conseille de le faire que tout les pixels de décalage (que ce ne soit pas couteux).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre actif Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Points : 228
    Points
    228
    Par défaut
    Pour ma "fly" camera, j'utilise effectivement le recentrage de la sourie à chaque fois. D'ailleurs pas nécessairement au centre de la fenêtre, ce qui compte c'est la différence de position de la sourie d'une frame par rapport à l'autre.


    Pour mes applications souvent, je n'autorise pas les redimensionnements de fenêtre en dessous d'une résolution 800x600 (après on voit plus rien de toute manière). Par contre je ne limite pas le redimensionnement max de la fenêtre.
    Comme je sais que par convention la résolution minimale de mon application c'est 800x600. Je replace ma sourie tjrs au coordonnée (400, 300). Cela me permet d'éviter d'actualiser ma routine avec les dimensions de la fenêtre à chaque redimensionnement. Du fait de la convention window min = 800x600, çà m'a permit de rendre ma classe indépendante etc ....

    Bon après ça a aussi des inconvénients. Si tu as peu de fps tu peux te retrouver avec un déplacement de souris hors de la fenêtre mais bon à 60 ips faut que le gas soit rapide.

    Edit : pense à mettre une touche raccourcie pour activer/désactiver le centrage de la souris, si non une fois ton programme lancer tu ne pourras plus rien faire d'autre avec ta sourie ^^.
    Rien ne sert de courir, mieux vaut partir à point. Programmer aussi d'ailleurs.
    Surtout, mais surtout pas d’astuces !
    Pas de bras, pas de chocolat. Les deux mains sur le clavier.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Je voulais vous remercier, j'ai enfin réussi à faire cette fichue caméra ^^

    J'ai juste un petit problème de fluidité mais je vais regarder sur le net ce que je peux trouver ^^

    Merci encore une dernière fois à vous deux ^^

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

Discussions similaires

  1. [Systeme d'Information] Quels conseils pour une refonte ?
    Par jejefeds dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 07/12/2005, 18h23
  2. Conseils pour une reconversion dans l'informatique
    Par Laurentq1970 dans le forum Etudes
    Réponses: 11
    Dernier message: 02/06/2005, 22h16
  3. Besoin d'un conseil pour une sélection Access/fichier
    Par Oluha dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/03/2005, 19h10
  4. [Debutant(e)]conseil pour une liste ?
    Par Tymk dans le forum Débuter
    Réponses: 5
    Dernier message: 05/08/2004, 14h33
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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