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

Moteurs 3D Discussion :

Déplacer une caméra FPS avec le curseur au milieu de l'écran c'est possible ?


Sujet :

Moteurs 3D

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Déplacer une caméra FPS avec le curseur au milieu de l'écran c'est possible ?
    Salut

    bon alors je fais ma propre caméra de type FPS. Mais le curseur de la souris n'est pas fixé donc il se déplace avec la caméra. Donc je voulais savoir s'il était possible de fixer le curseur au milieu de l'écran et de pouvoir bouger la caméra avec le curseur justement. Non parce que s'il est fixé ben on peut pas le bouger du coup. J'ai bien pensé à récupérer la position relative du curseur mais la caméra ne fait que "trembler" et ne se déplace pas franchement.

    Je suis sous Irrlicht

    PS:Et je précise que je ne veut pas utiliser la caméraFPS par défaut de Irrlicht.

    merci

    ++

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 413
    Points
    413
    Par défaut
    Salut, pourquoi utiliser le curseur de la souris dans un FPS ? l'usage habituel serait plutot de le cacher et d'afficher un quad avec la texture d'un viseur au centre de l'écran. Pour déplacer ta caméra tu t'en fiche de la position de ton curseur a l'écran, ce qui compte c'est le déplacement de la souris à chaque frame.
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut, pourquoi utiliser le curseur de la souris dans un FPS ? l'usage habituel serait plutot de le cacher et d'afficher un quad avec la texture d'un viseur au centre de l'écran.
    C'est ce que je fais déja ca. Cacher le curseur et mettre une cible.C'est déja fait.

    Pour déplacer ta caméra tu t'en fiche de la position de ton curseur a l'écran, ce qui compte c'est le déplacement de la souris à chaque frame.
    Ben pour déplacer la caméra j'ai forcément besoin de la position du curseur. Tu veu dire récupérer le déplacement de la souris indépendemment du curseur ? C'est possible ca ? Si oui tu peux me dire comment ?
    Dernière modification par TanEk ; 21/12/2008 à 10h41. Motif: trop de lolage

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 413
    Points
    413
    Par défaut
    Bah je sais pas avec Irrlicht (jamais testé) mais avec SDL par exemple tu peux récuperer le déplacement relatif de la souris a chaque frame indépendamment de la position du curseur. Tu utilises ce déplacement relatif pour orienter ta caméra et ca fonctionne très bien.
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bah je sais pas avec Irrlicht (jamais testé) mais avec SDL par exemple tu peux récuperer le déplacement relatif de la souris a chaque frame indépendamment de la position du curseur. Tu utilises ce déplacement relatif pour orienter ta caméra et ca fonctionne très bien.
    Relis bien mon premier message. Je précise que j'avais deja essayé de récupérer les déplacements relatifs

    J'ai bien pensé à récupérer la position relative du curseur mais la caméra ne fait que "trembler" et ne se déplace pas franchement.
    Par contre tu dis un truc interressant c'est "a chaque frame". Tu incrémente le déplacement relatif a chaque frame ? Peut tu me donner ta méthode ? Je connais un peu SDL (ca fait longtemps mais bon...)

    ++

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 413
    Points
    413
    Par défaut
    pour un deplacement style FPS je fais ca en SDL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    const float CAMERA_ROT_FACTOR = 0.05f;
     
    //..
     
    while(true)
    {
        while (SDL_PollEvent(&event))
        {
     
        // blablabla
     
            if (event.type == SDL_MOUSEMOTION)
            {
                angleY += event.motion.xrel * CAMERA_ROT_FACTOR;
                angleX += event.motion.yrel * CAMERA_ROT_FACTOR;
                angleX = min(90.0f,max(-90.0f,angleX)); // histoire d'éviter de passer la tête entre mes jambes
            }
        }
     
        // blablabla
     
        //rendering
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();                       
        glRotatef(angleX,1.0f,0.0f,0.0f);
        glRotatef(angleY,0.0f,1.0f,0.0f);
        glTranslate(blabla)
         // je rend mon univers
    }
    et ca fonctionne tres bien. Le curseur est caché je m'en occupe pas, seul le déplacement relatif est utilisé.

    Comme tu vois en SDL il y a xrel et yrel qui sont updaté a chaque mouvement de la souris en plus de x et y. x et y te donne la position et xrel et yrel te donne le déplacement de la souris depuis le dernier evenement SDL_MOUSEMOTION.
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/02/2015, 11h43
  2. Réponses: 0
    Dernier message: 11/02/2015, 11h58
  3. déplacer une div qui suit un curseur
    Par freye dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/04/2012, 08h27
  4. Réponses: 2
    Dernier message: 20/08/2008, 10h45
  5. Appel d'une procédure stockée avec un curseur
    Par lapanne dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/12/2006, 16h24

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