[RESOLU] [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Répondre
Avatar de l’utilisateur
bricolomagnac
Messages : 67
Inscription : 09 Déc 2018 00:51
Localisation : France
Contact :

[RESOLU] [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par bricolomagnac » 09 Jan 2019 18:29

Bonjour j'ai une question toute simple,
existe-t-il un moyen pour récupérer le sens de rotation d'un GameObject doté d'un rigidbody ?

il y a angularVelocity qui permet de récupérer la vitesse de rotation mais pas le sens, la vitesse n'est jamais négatif.

merci de vos réponses éventuelles.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par boubouk50 » 09 Jan 2019 18:37

Je te dirai de récupérer la rotation précédente (rigidbody.rotation) et de la comparer à la présente. Tu peux en déduire le "sens" de rotation.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
bricolomagnac
Messages : 67
Inscription : 09 Déc 2018 00:51
Localisation : France
Contact :

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par bricolomagnac » 09 Jan 2019 22:13

ah, et bien merci beaucoup je n'y avais pas pensé :hehe:

Avatar de l’utilisateur
bricolomagnac
Messages : 67
Inscription : 09 Déc 2018 00:51
Localisation : France
Contact :

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par bricolomagnac » 10 Jan 2019 03:09

un doute me taraude,
je ne sais pas si vous avez bien compris ma question car j'ai bien cherché et je n'ai trouvé aucun moyen de déterminer le sens de rotation avec ca, ce que j'entends par "sens de rotation" ce n'est pas sur quel axe tourner l'objet, ça je le sais c'est sur l'axe Z mais dans quel sens, le sens des aiguilles d'une montre ou le sens inverse des aiguilles d'une montre... :désolé1:

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par boubouk50 » 10 Jan 2019 09:48

Quand bien même, je ferai la même réponse. En fonction du signe du résultat tu trouveras le sens.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
bricolomagnac
Messages : 67
Inscription : 09 Déc 2018 00:51
Localisation : France
Contact :

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par bricolomagnac » 10 Jan 2019 16:37

désolé mais je ne vois pas comment en récupérant l'angle on peut calculer dans quel sens l'objet tourner.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par boubouk50 » 10 Jan 2019 20:06

Tu compares 2 angles (à la précédente frame et à la frame en cours), donc tu obtiens l'angle intermédiaire, i.e. celui qui a fait tourner ton rigidbody entre 2 frames. Cet angle est soit positif soit négatif, donc tu tournes soit en sens horaire soit en sens anti-horaire.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
bricolomagnac
Messages : 67
Inscription : 09 Déc 2018 00:51
Localisation : France
Contact :

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par bricolomagnac » 10 Jan 2019 22:19

j'ai pensé à cette solution avant même de créer ce poste, mais.. une rotation rapide va complètement détruire le truc, admettons que l'objet tourne à 1 tours par frame il y aurait le même résultat que si il est à l'arrêt étant donné que ça revient à zéro dès que ça atteint 360 ce qui gêne énormément le calcul...

si c'était si simple j'aurais pas posé de question sur un forum... :désolé1:

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par Max » 10 Jan 2019 22:38

Bonsoir,
bricolomagnac a écrit :
09 Jan 2019 18:29
il y a angularVelocity qui permet de récupérer la vitesse de rotation mais pas le sens, la vitesse n'est jamais négatif.
pourtant il me semble bien que les valeurs retournées par angularVelocity changent de signe en fonction du sens de rotation du body.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
bricolomagnac
Messages : 67
Inscription : 09 Déc 2018 00:51
Localisation : France
Contact :

Re: [MY-AL] Récupérer le sens de rotation d'un rigidbody ?

Message par bricolomagnac » 11 Jan 2019 02:23

he... ah oui, en récupérant directement en Vector3 , j'avais pas vu car j'utilisait .magnitude ... :ghee:
Bon et bien merci, le problème est résolu, c'était tout simple en fait :amen:

Répondre

Revenir vers « (C#) CSharp »