Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Daniel Moreno en Abril 22, 2017, 02:00:30 AM

Título: Cambio en rotaciones
Publicado por: Daniel Moreno en Abril 22, 2017, 02:00:30 AM
Hola buenas.
 
Me ha ocurrido ya muchas veces que cuando quiero cambiar la rotacion de un objeto mediante script me salta el maldito error de:
 
"Assets/NewBehaviourScript.cs(39,19): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.rotation'. Consider storing the value in a temporary variable"
 
Y mira que no estoy accediendo a una componente directamente, en el script que adjunto el fallo esta en el void Cambiazo, tengo una lista de Vector3 y quiero que cada hueso del character coja la rotación que corresponde a su posicion dentro del vector3. Pero no me deja cambiar su rotacion. Sabeis como puedo hacerlo?
 
Muchas Gracias
 
NewBehaviourScript.cs
Título: Cambio en rotaciones
Publicado por: TheBullet en Abril 22, 2017, 08:51:21 AM
Diría que si quieres cambiar la rotación tienes que usar: 
 

Inicio.eulerAngles = rotaciones;

 
En vez de usar:
 

Inicio.rotation.eulerAngles = rotaciones;

 
 
 
Cuando lo modifiques ya no debería salirte el error.
Título: Cambio en rotaciones
Publicado por: Daniel Moreno en Abril 22, 2017, 10:02:22 AM
Cita de: TheBullet date=1492843881Diría que si quieres cambiar la rotación tienes que usar: 
   
   

Inicio.eulerAngles = rotaciones;

   
      En vez de usar:
   
   

Inicio.rotation.eulerAngles = rotaciones;

   
       
   
   
      Cuando lo modifiques ya no debería salirte el error.
   


Muchas gracias por la respuesta, realmente eso hace que deje de saltar el error, pero no termina de funcionar, me parece que asi lo que estoy cambiando es la posicion y no la rotación de los distintos objetos.
 
Acabo de comprobar que efectivamente eso me cambia la rotacion, será que tengo mal hecho el ragdoll y por eso no se cambia bien, voy a intentar optimizar el ragdoll, muchas gracias.