Page 1 sur 1

[resolu]Rotation à l'aide d'un vecteur

Publié : 11 Mai 2019 14:52
par Dje01
Bonjour, je suis sur que c'est tout "con" mais je bloque...

J'ai besoin de faire faire une rotation à mon personnage par rapport à un vecteur...
J'ai un vecteur de direction entre 2 cases et j'aimerai que mon perso se tourne en direction de ce vecteur pour viser la case suivante

J'ai récupéré l'angle entre mon perso et cette nouvelle case mais le soucis est qu'il ne me dit pas si l'angle est positif ou négatif du coup sur des déplacements "en chaine" mon perso ne se tourne pas toujours du bon coté et je n'arrive pas à gérer avec des conditions pour le "sens de rotation" sur l'axe y

je suis sûr qu'il y a une methode simple pour ça (genre avec les quaternions ou qqch ds le genre mais je ne maitrise pas du tout)

qqn a une idée de comment faire ?

d'avance merci

voici mon code (si ça peut aider)

Code : Tout sélectionner

        orientation = chemin[nbIter-1].transform.position - caseActive.transform.position ;
        distanceMove = orientation.magnitude;
        persoOrientation = perso.GetComponent<stats>().GetDirection();
        print("case suivante: " + chemin[nbIter-1]);
        print("orientation: " + orientation);
        print("perso orientation:" + persoOrientation);
        angle = Vector3.Angle(orientation, persoOrientation);

Re: Rotation à l'aide d'un vecteur

Publié : 11 Mai 2019 15:11
par Dje01
C'est tout bon j'ai trouvé par moi même !!!
effectivement c'était tout con...

Code : Tout sélectionner

Quaternion rot = Quaternion.LookRotation(orientation, Vector3.up);
perso.transform.rotation = rot;