Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

rotaciones

Iniciado por R3N3, Abril 24, 2017, 03:53:14 PM

Tema anterior - Siguiente tema
Hola alguien en el foro sabe cómo rayos lidiar con las rotaciones en unity? Estoy haciendo un runner que avanza por un circuito, en este caso una ciudad. deseo que el jugador elija cuando doblar una calle, pero no se como rotar el personaje y quede en linea exacta con la calle elegida. Cuando comparo las rotaciones del playaer con un gameobject colocado para eso nada más, a veces funciona y otras no, ya que aunque parezacan iguales no lo son. EJ: 90 grados en Y y 270 grados en Y parecen iguales pero no lo son. Por favor cómo lo hacen? Gracias por la ayuda que me puedan brindar.

Hola, yo por lo menos antes me manejaba con eulerAngles ya que es mucho mas intuitivo que los Quaternions, pero con el tiempo comence a usar el metodo del eye, up , lookAt. Se usa sobre todo con camaras pero funciona con cualquier Transform. Basicamente tenes tres aspectos a tener en cuenta antes de posicionar/rotar un ojb en scene:
 
eye: la posicion que ocupa
 
up : el nuevo transform.up (si vas a cambiar de calle sigue siento Vector3.up )
 
lookAt: el nuevo transform.forward (si vas llendo para adelante es Vector3.forward y giras para la derecha ahora es Vector3.right)
 
fiajte que si pongo el (Up o right), me queda el resto especificado, pero no si pongo el forward. Por lo que Unity usa:
 
https://docs.unity3d.com/ScriptReference/Transform.LookAt.html
 
pasando solo el nuevo Up
 
Podrias tambien usar Rotate y pasarle el eje de rotacion (que para cambiar de calle seria Vector3.up) y te manejas con angulos pos o neg para girar a izq o der.

Etiquetas: