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

Développement 2D, 3D et Jeux Discussion :

Orienter un élement 3D vers une coordonnée 3D


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Points : 93
    Points
    93
    Par défaut Orienter un élement 3D vers une coordonnée 3D
    Bonjour à tous !!

    Je suis actuellement en train de réaliser un petit jeu 3D (mon premier) en Java avec Lwjgl.

    Je travail sur le déplacement des ennemis, qui marche très bien grâce à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ennemi.deplacerVers(Maths.calulateMoveTo(ennemi.getPosition(), vec3Objectif));
    Maths.calulateMoveTo(A, B) me retourne le vecteur normalisé pour ce rendre de A vers B.

    J'aimerais maintenant que mon ennemis s'oriente (RotY, Yaw) vers son objectif afin qu'il regarde "devant" lui quand il marche.
    Mais je n'y arrive pas..
    ça doit pourtant être simple mais je ne trouve pas (peut être que je ne sais pas poser la question).

    Donc, est ce que quelqu'un peut m’expliquer comment calculer l'angle que je doit ajouter à ennemi.Yaw pour qu'il regarde vers un point3D.
    Je possède les coordonnée de l'ennemi, de l'obectif, et le vecteur normaliser de translation.

    Merci d'avance !!

  2. #2
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 699
    Points
    8 699
    Billets dans le blog
    43
    Par défaut
    Je ne comprends pas trop la difficulté.

    Ton unité a une certaine orientation de départ matérialisée par un vecteur V0.
    Tu as réussi à calculer le vecteur de déplacement Vd.

    Donc la rotation à réaliser sur ton unité pour qu'elle soit bien orientée nécessite juste de calculer l'angle formé par V0 et Vd.
    Tutoriels et FAQ TypeScript

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Points : 93
    Points
    93
    Par défaut
    D'accord, donc je récupère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float angle = scalaire(V0, VD)
    VO correspondant à l'orientation courante de l'ennemie et VD le vecteur normalisé qui pointe vers la destination voulu.
    Mais j'en fais quoi après ? Je peux pas l'appliquer bêtement. Comment en récupérer la valeur concernant un axe (pour moi Y)
    Pour pouvoir faire :
    Désolée, vraiment, si ce que je demande/dis est stupide.

  4. #4
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 699
    Points
    8 699
    Billets dans le blog
    43
    Par défaut
    Pour avoir l'angle sur le plan (x, y), il te suffit de considérer la projection des deux vecteurs sur le plan (x, y).
    Et il en va de même pour les deux autres plans.
    Tutoriels et FAQ TypeScript

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

Discussions similaires

  1. [Carte mère] Orientation vers une nouvelle config
    Par bannik dans le forum Composants
    Réponses: 0
    Dernier message: 13/01/2015, 11h07
  2. orientation vers une autre fenetre a partir de celle courante
    Par moezsahli dans le forum Général Java
    Réponses: 2
    Dernier message: 14/08/2011, 19h32
  3. orientation vers une école de réference
    Par webamies dans le forum Etudes
    Réponses: 1
    Dernier message: 17/08/2009, 23h54
  4. Drag and drop élement d'un treeview vers une autre
    Par djo_matrix dans le forum ASP.NET
    Réponses: 0
    Dernier message: 14/04/2009, 11h02
  5. Orienter les flux vers une carte réseau
    Par fregolo52 dans le forum Réseau
    Réponses: 4
    Dernier message: 03/07/2007, 16h42

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