Noticias

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

Problema para ajustar la rotación de un objeto.

Iniciado por Ness, Noviembre 15, 2016, 06:10:44 AM

Tema anterior - Siguiente tema
Noviembre 15, 2016, 06:10:44 AM Ultima modificación: Noviembre 15, 2016, 06:13:52 AM por Ness
tengo un problema con la rotacion , quiero gire un objeto pero el angulo   no es correcto trato de averiguar como corregir esa  rotación pero si lo hago atrevas de  transform.eulerAngles = new Vector3(0, 0, transform.localEulerAngles.z + num2); empieza tambalearse.
 
 
 

       Quaternion targetRotation = Quaternion.LookRotation(Vector3.forward , Targer.position - transform.position);
   
        transform.rotation =  Quaternion.Slerp(transform.rotation, targetRotation, VelRotacionAtaq3 * Time.deltaTime);
// si le corrijo la rotacion con esta linea empieza a tambalear.
  transform.eulerAngles = new Vector3(0, 0, transform.localEulerAngles.z + num2);
   

 
 
 
¿Sabran que me esta pasando ?

Haz siempre:
 
transform.rotation = Quaternion.Euler(....)
 
Nunca sumes o restes ángulos en vectores o tendrás problemas. La clase Quaternion tiene un montón de funciones de rotación aparte de la asignación directa.

Sera porque en la ultima linea estas sumando num2 sin tener en cuenta el deltaTime de cada cuadro ?¿?
 

transform.eulerAngles = Vector3.zero;
transform.eulerAngles += new Vector3(0,0,Time.deltaTime * num2);

 
eso si esto va mucho mas lento porque num2 esta reducido como en cientos o miles ya que deltaTime esta en segundos
 
salu2


Etiquetas: