[RESOLU] rotation et changement de direction autour d'un cercle

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

[RESOLU] rotation et changement de direction autour d'un cercle

Message par kosted » 29 Mars 2019 14:06

Bonjour la communauté,
J'ai un problème qui me prend la tête, du coup j'en fait appel à vous.
J'ai un perso qui tourne autour d'un cercle qui lui même bouge.
Le perso peut à n'importe quel moment changer de direction et c'est là que le problème arrive.
cas 1 :position de départ
Image
Si je veux retourner le perso, je change juste le Y = 180 dans le code;

cas 2 : position X
Image
Là pour retourner l'image il me changer le X en 180


cas 3 : position X
Image
en changeant X, je me retrouve dans une situation bizarre.

Comment je peux faire en sorte que le perso se retourne en ayant toujours le pied sur le cercle à gauche ou à droite ?
L'axe, y et x bouge en même temps que le perso, y a pas moyen de faire en sorte que peu importe la direction que cet exe ne bouge pas ? Y toujours en haut par exemple ?
Merci
Dernière édition par Max le 29 Mars 2019 14:11, édité 1 fois.

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

Re: [Math]rotation et changement de direction autour d'un cercle

Message par boubouk50 » 29 Mars 2019 14:15

Tu devrais séparer les couches par une hiérarchie.
Le parent s'occupe de la rotation autour de la terre, l'enfant sur lui-même. Ainsi, pas de conflit.
"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

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: [Math]rotation et changement de direction autour d'un cercle

Message par kosted » 29 Mars 2019 14:24

boubouk50 a écrit :
29 Mars 2019 14:15
Tu devrais séparer les couches par une hiérarchie.
Le parent s'occupe de la rotation autour de la terre, l'enfant sur lui-même. Ainsi, pas de conflit.
Salut Boubouk50. Je ne comprends pas, le parent (terre) s'occupe de sa propre rotation, et l'enfant de même. Normalement il y a aucun lien entre les deux, du coup je suis un peu perdu.
Le seul lien entre les deux est le script rotate :

Code : Tout sélectionner

    void FixedUpdate()
    {
        transform.RotateAround(target.position, zAxis, speed);
        
    }

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

Re: [Math]rotation et changement de direction autour d'un cercle

Message par boubouk50 » 29 Mars 2019 14:36

C'est moi qui est mal compris alors. Je pensais que ton bonhomme se déplaçait sur la terre, qui elle-même se mouvait.
Si tu as une hiérarchie Terre > Rotation_Perso > Perso tu peux séparer chaque action.
La Terre qui tourne sur elle-même, le perso qui marche sur la Terre (Rotation_Perso) et le perso qui tourne sur lui-même.
Attention, à faire en sorte que la rotation sur lui-même soit locale.
"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

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: [Math]rotation et changement de direction autour d'un cercle

Message par kosted » 29 Mars 2019 14:50

On s'est vraiment mal compris ^^.
Il y a bien une terre qui tourne toute seule. Et un perso qui marche sur cette terre (Son mouvement à lui est indépendant de celui de la terre et géré par un autre script). Avec le code au dessus, il arrive à tourner en rotation autour de la terre.
Par contre, quand je veux pivoter le perso de la gauche vers la droite ou invesement, c'est là que les problèmes surviennent et que le perso peut se retrouver dans n'importe quelle direction.
Image
http://zupimages.net/viewer.php?id=19/13/lc8u.png

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

Re: [Math]rotation et changement de direction autour d'un cercle

Message par boubouk50 » 29 Mars 2019 14:59

Ok, Ça ne change pas grand chose à la solution.
Tu as un node parent qui s'occupe de tourner sur Terre, et le perso qui ne s'occupe que de tourner localement sur lui-même.
"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

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: [Math]rotation et changement de direction autour d'un cercle

Message par kosted » 29 Mars 2019 15:08

boubouk50 a écrit :
29 Mars 2019 14:59
Ok, Ça ne change pas grand chose à la solution.
Tu as un node parent qui s'occupe de tourner sur Terre, et le perso qui ne s'occupe que de tourner localement sur lui-même.
Merci beaucoup.
Au final, j'avais utilisé tranformation.rotation = new Vector3(0,180,0) ce qui faisait n'importe quoi.
J'ai remplacé par

Code : Tout sélectionner

transform.Rotate(0, 180, 0);
et là ça marche.

Merci

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

Re: [Math]rotation et changement de direction autour d'un cercle

Message par boubouk50 » 29 Mars 2019 15:26

Ah bah oui, si tu fais n'importe quoi aussi... ;-)
Je pensais que depuis le temps, je pouvais te faire confiance là-dessus! :roll:
"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

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: [Math]rotation et changement de direction autour d'un cercle

Message par kosted » 29 Mars 2019 15:30

boubouk50 a écrit :
29 Mars 2019 15:26
Ah bah oui, si tu fais n'importe quoi aussi... ;-)
Je pensais que depuis le temps, je pouvais te faire confiance là-dessus! :roll:
:-D :-D Ca arrive ^^. Sinon encore merci :merci:

Répondre

Revenir vers « Scripting »