Page 1 sur 1
[RESOLU][DB-AL] Valeur rotation
Publié : 23 Oct 2017 18:49
par ziropo
Bonjour,
J'aimerai récupérer la valeur de la rotation sur l'axe X d'un objet qui est par défaut à 270.
Mon problème, c'est que si je fais une rotation dans un sens ou dans l'autre, transform.eulerAngles me retourne toujours + de 270. Donc pour savoir si je fais une rotation dans un sens dans l'autre, ça ne m'aide pas.
Est-ce que quelqu'un a une idée ?
Merci d'avance.
Re: Valeur rotation
Publié : 25 Oct 2017 09:19
par boubouk50
C'est une question de code, non?
C# ou Js ? -> C'est pour changer le sujet de section.
Comment récupères-tu la valeur de l'axe X? Est-ce la rotation locale ou globale?
Re: Valeur rotation
Publié : 25 Oct 2017 17:06
par ziropo
Oui effectivement, c'est plus du code
J'utilise du JS.
C'est un script sur l'objet. Je voulais tester la valeur avec un print :
J'ai essayé de prendre la rotation locale avec :
mais le résultat est exactement le même.
Re: Valeur rotation
Publié : 25 Oct 2017 17:35
par boubouk50
Tel quel, ce n’est pas possible, les angles d'Euler sont calculés à partir des quaternions et ne sont pas linéaires pour le coup car il existe plusieurs rotations possibles sur 3 axes pour arriver au même résultat.
Il te faut donc calculer l'angle par rapport à une rotation originelle. En gros, tu as ton objet actuel et un objet référence, la rotation en X sera l'angle généré entre ses deux objets en X.
Re: Valeur rotation
Publié : 29 Oct 2017 13:22
par ziropo
Je suis parvenu à faire ce que je voulais. Vu que j'utilise la souris pour faire une rotation. J'ai utilisé ce code :
Code : Tout sélectionner
if(Input.GetAxis("Mouse Y") > 0){...}
if(Input.GetAxis("Mouse Y") < 0){...}
Comme ça j'augmente ou diminue de la différence de l'angle de départ.
Merci pour tes éclaircissements.