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

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Dje01
Messages : 2
Inscription : 11 Mai 2019 14:45

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

Message par Dje01 » 11 Mai 2019 14:52

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);
Dernière édition par Dje01 le 11 Mai 2019 15:12, édité 1 fois.

Dje01
Messages : 2
Inscription : 11 Mai 2019 14:45

Re: Rotation à l'aide d'un vecteur

Message par Dje01 » 11 Mai 2019 15:11

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;

Répondre

Revenir vers « Scripting »