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 :

Déplacer des objets 3D


Sujet :

DirectX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 31
    Points
    31
    Par défaut Déplacer des objets 3D
    Bonjour,

    Dans mon application je génère des objets par révolution, et je voudrais pouvoir par la suite les placer à des endroits précis du monde 3D. Ces endroits peuvent changer évidemment.

    J'ai regardé du côté des matrices et j'ai cherché sur le web, mais je n'arrive pas à placer les objets ET effectuer des mouvements de caméra. C'est soit l'un soit l'autre. Est-ce que quelqu'un a trouvé un article ou un lien intéressant et assez complet sur le sujet? Ou quelqu'un saurait-il quelle technique il faut employer pour parvenir au résultat voulu?

    merci d'avance pour vos réponses.

    PS: Je développe sous C# avec managed DirectX

    Code pour placer la caméra:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                m_device.Transform.World = Matrix.RotationYawPitchRoll(anglex, angley, 0);
                m_device.Transform.View = Matrix.LookAtLH(new Vector3(0, 0, -30),
                  new Vector3(0, 0, 0), new Vector3(0, 1, 0));
                m_device.Transform.Projection =
                  Matrix.PerspectiveFovLH((float)Math.PI / 4.0F, 1.55F, 0.2F, 1000.0F);
    Code pour placer l'objet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                m_matpos = Matrix.Translation(pObj3d.Position);
                m_matrot = Matrix.RotationYawPitchRoll(pObj3d.Rotation.X, pObj3d.Rotation.Y, pObj3d.Rotation.Z);
                m_matres = m_matpos * m_matrot;
                m_device.SetTransform(TransformType.World, m_matres);
    Je place d'abord la caméra, puis l'objet pour le moment. Le résultat est que la vue reste fixe.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    DirectX est sympa : il fournit une matrice rien que pour la caméra. Donc si en plus tu utilises la matrice monde pour bouger celle-ci, mais que tu écrases ensuite cette matrice monde avec les transformations de tes objets, il est normal que la transformation de la caméra ne soit pas prise en compte.

    N'utilise que la matrice de vue pour la caméra ; si tu veux combiner plusieurs transformation alors multiplie les matrices.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Merci pour ta réponse (encore une fois aussi rapide en plus, cool)

    Maintenant ça marche, je peux tourner autour de l'objet sans pb.

    bonne journée!

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

Discussions similaires

  1. Déplacer des objets images sur une page
    Par KeKeMaN dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 17/02/2009, 09h59
  2. [DX9 - D3D] Déplacer des objets à la souris
    Par SixOfOne dans le forum DirectX
    Réponses: 7
    Dernier message: 21/11/2007, 21h07
  3. Déplacer des objets en temps réel avec la souris.
    Par johnnyjohnny dans le forum MATLAB
    Réponses: 4
    Dernier message: 03/07/2007, 14h54
  4. [AJAX] Déplacer des objets HTML sur une page web
    Par brazilia28 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2007, 12h47
  5. Déplacer des objets dans un JPanel
    Par hammag dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/03/2006, 11h13

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