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

DirectX Discussion :

directx direct3d vb6


Sujet :

DirectX

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 83
    Points : 102
    Points
    102
    Par défaut directx direct3d vb6
    Bonjour à tous,
    Ayant construit un petit monde en 3D et voulant me déplaçer à l'intérieur de celui-ci je me sert de la matrice de la caméra pour avancer ou reculer et pour regarder à droite ou à gauche.Tout cela fonctionne sauf que si je tourne l'orientation de la caméra et que je veux avancer , l'axe n'étant plus le mème , le déplacement se fait "en crabe" et non dans l'axe de la visée.
    Ma question est donc , comment faire que le déplacement avant ou arrière de la caméra se fasse dans l'axe de la visée.Peut etre faut il employé une autre matrice?
    Merci pour vos éventuelles réponses
    Cordialement

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    la matrice correspond à ta caméra ressemble à ça (grosso modo) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a b c 0
    d e f 0
    g h i 0
    x y z 1
    et nous avons donc :
    (a, b, c) vecteur "right" de ta caméra
    (d, e, f) vecteur "up" de ta caméra
    (g, h, i) vecteur direction de ta caméra
    et (x, y, z) la position de l'oeil de la caméra, donc si tu veux te déplacer "devant" toi (dans la direction où tu regardes), il te suffit de te déplacer selon le vecteur direction de ta caméra, et donc pour straffer, selon le vecteur right.

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 83
    Points : 102
    Points
    102
    Par défaut
    Merci à Stardeath pour ces explications mais n'étant pas encore bien familiarié avec ce genre de codage , cela me parait un peu confus.
    Pourrait tu me mettre sur la voie pour que je puisse avançer , pas un listing complet , juste un coup de pouce en VB6 si possible.
    Je suppose que cela se programme dans la matrice de la caméra mais!!!!.
    Encore merci et cordiales salutations

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    n'ayant jamais touché au vb, je vais avoir un peu de mal à mettre un code, mais bon, voici l'équivalent en c++ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    D3DXMATRIX view;
    D3DXVECTOR3 eye, centre, up;
    D3DXMatrixLookAtLH(&view, &eye, &centre, &up); //avec donc les valeurs de eye, centre et up correspondant
    [...]
    D3DXVECTOR3 direction_de_la_vue(view._31, view._32, view._33);
    if( appuie_sur_la_flèche_haut )
    {
    	position += direction_de_la_vue;
    }

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 83
    Points : 102
    Points
    102
    Par défaut
    oui , fort de ton premier message , j'ai un peu bataillé , cherché un peu sur le forum et j'ai finalement réussi à m'en sortir.
    Encore merci pour l'aide

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

Discussions similaires

  1. directx et vb6
    Par yvanovitch dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 31/08/2014, 07h49
  2. Jeu de boules, directX en VB6 ( jeu d'adresse)
    Par yvanovitch dans le forum Vos contributions VB6
    Réponses: 0
    Dernier message: 31/10/2009, 09h55
  3. Scroll image avec directx et VB6
    Par yvanovitch dans le forum Vos contributions VB6
    Réponses: 3
    Dernier message: 26/11/2007, 17h55
  4. [DirectX 8 + VB6] Probleme avec DirectPlay
    Par Ekud dans le forum DirectX
    Réponses: 3
    Dernier message: 19/02/2006, 14h22
  5. Direct8X/Direct3D sous VB6, probleme de récup d'animations
    Par John Blobsmith dans le forum DirectX
    Réponses: 3
    Dernier message: 28/04/2004, 10h32

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