2017-10-15 11 views
1

J'ai un joueur (vert) et j'aimerais le faire tourner à droite ou à gauche.Tourner l'objet autour de l'axe Y global, en ignorant sa rotation locale

Cela pourrait être facilement fait en tournant sur son axe Y local. Le problème est cependant que le joueur peut être tourné le long de son axe X local. Voici un croquis:

enter image description here

Voici la vue du haut:

enter image description here

Je dois tourner le lecteur le long des lignes rouges. J'ai besoin de faire cela, peu importe la rotation qu'il a actuellement sur l'axe X. (Le joueur vole comme un surhomme, voir la première image)

Ce problème pourrait facilement être résolu en utilisant un objet parent mais cela n'est pas possible avec ma configuration actuelle. Le code J'utilise actuellement se termine par des rotations étranges comme il tourne localement:

transform.Rotate (0,rotationY,0); 

Comment décririez-vous tourner sur l'axe global Y?

Répondre

2

Tout ce que je devais faire était d'ajouter un quatrième paramètre Space à la méthode Rotate() comme ceci:

transform.Rotate (0, rotationY, 0, Space.World);