connaitre le sens de rotation

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
mikart
Messages : 20
Inscription : 20 Mai 2014 23:36

connaitre le sens de rotation

Message par mikart » 17 Mars 2019 23:37

Bonjour,

Je suis entrain de concevoir un script iA et je suis en galère j'aimerais obtenir le sens de rotation.
Par exemple mon player pour savoir le sens j'utilise le input.GetAxis 1 ou -1 j'aimerais faire pareil avec l'IA

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

Re: connaitre le sens de rotation

Message par boubouk50 » 18 Mars 2019 10:19

IA est un bien grand mot je pense...
Il nous est impossible de te répondre. Le comportement de ton PNJ n'est connu que de toi et codé que par toi, donc ne sachant pas comment tu le codes/mets en place, cette question n'a pas de réponse.
En tout cas, il n'existe pas de fonction déjà prête à l'emploi ou bien de pseudo-code à intégrer.
"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

mikart
Messages : 20
Inscription : 20 Mai 2014 23:36

Re: connaitre le sens de rotation

Message par mikart » 18 Mars 2019 23:08

bonjour,

et merci de la réponse je me suis peu êtres mal exprimé

voici un exemple
comme sur un jeux de voiture la voiture tourne a gauche les roues tourne a gauche de 45 ° si elle tourne les roues a droite de -45°

moi je voudrai effectuer cela sur un vaisseau ma rotation principal est z quand il tourne sur l'axe z j'aimerais qu'il effectue une rotation de 45° en y si il tourne a gauche et -45° pour la droite et 0 si rien

Code : Tout sélectionner

        Vector2 dir = objTr.position - transform.position;
        dir.Normalize();

        float zRotation = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - 90;

        Quaternion rotationVoul = Quaternion.Euler(0, 0, zRotation);

        transform.rotation = Quaternion.RotateTowards(transform.rotation, rotationVoul, rotSpeed * Time.deltaTime);


pour la déclaration je pense que cela doit être implémenter comme ceci

Code : Tout sélectionner

chasi.localEulerAngles = Vector3.up * Mathf.LerpAngle(chasi.localEulerAngles.y, rotateDirection * -ang, Time.deltaTime * 10);


malheureusement je ne sais pas comment calculer rotateDirection

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

Re: connaitre le sens de rotation

Message par boubouk50 » 19 Mars 2019 10:10

Le sens de direction est normalement donné par les inputs.
Je ne les vois pas d'ailleurs dans ton code. Comment diriges-tu le vaisseau? Il suit quelque chose? la direction est donné par le vecteur dir?
Ce que tu peux faire c'est comparer la direction souhaitée par celle en cours. Selon le signe de l'angle, tu peux savoir si tu dois tourner à droite ou à gauche.
"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

mikart
Messages : 20
Inscription : 20 Mai 2014 23:36

Re: connaitre le sens de rotation

Message par mikart » 19 Mars 2019 22:45

Bonsoir,

je n'utilise pas d'input car c'est une (intelligence artificiel) la le code a pour but de faire une rotation vers le player
en z
en plus de cette rotation en Z une tilt de 45 ° en Y va se faire.

peux tu me montrer un exemple de code stp.

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

Re: connaitre le sens de rotation

Message par boubouk50 » 20 Mars 2019 10:27

Si tu me demandes du code, je suppose que ce que j'ai vu plus haut n'est pas de toi car l'angle entre deux vecteurs est trivial: https://docs.unity3d.com/ScriptReferenc ... Angle.html
"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

mikart
Messages : 20
Inscription : 20 Mai 2014 23:36

Re: connaitre le sens de rotation

Message par mikart » 20 Mars 2019 21:18

non j'avoue je suis novice et le code viens d'un tuto je te remercie de prendre de ton temps

Répondre

Revenir vers « Scripting »