[MY AL] [resolu] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?

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
nigel
Messages : 166
Inscription : 05 Mai 2015 01:51

Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?

Message par nigel » 20 Fév 2017 19:41

Oui,
Sans nécessairement que l'objet cible soit en rotation, je doit trouver l’écart d'angles entre les deux, puis convertir ça en radiant.
Et avec les radians je devrai pouvoir me débrouiller pour le reste.
C'est bien la notion de radians que je devait saisir.
Mais trouver l’écart d'angle me pose problème, est ce qu'il y a moyen d'y parvenir en soustrayant simplement la rotation du rigidBody par la rotation cible ?
Comme :
gameObjet.transform.rotation - rigidBody.transform.rotation; ?
ça explose -> Atomic Command
ca vole -> Long Range Black Cat

nigel
Messages : 166
Inscription : 05 Mai 2015 01:51

Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?

Message par nigel » 21 Fév 2017 00:20

Ok j'ai réussi,
il me fallait trouver la différence d'angle pour chaque axe avec
Mathf.AngleDelta(angle courant, angle cible);
puis convertir en radians en multipliant par la constante DegToRad,
et en fin trouver la vélocité a ajouter, en soustrayant la vélocité courante de la vélocité cible.
Merci :)
ça explose -> Atomic Command
ca vole -> Long Range Black Cat

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

Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?

Message par boubouk50 » 21 Fév 2017 10:32

nigel a écrit :Ok j'ai réussi
Cool. ^^

Lorsque tu résouds un problème, merci d'éditer le titre de ton premier message en ajoutant [RESOLU] en début de celui-ci
"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

Répondre

Revenir vers « (C#) CSharp »