Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: ftejada en Noviembre 27, 2018, 03:41:54 PM

Título: (SOLUCIONADO) ¿Se puede Freeze solo dos componentes de Rigidbody.freezeRotation?
Publicado por: ftejada en Noviembre 27, 2018, 03:41:54 PM
Hola a todos!!
 
Se puede congelar (Freeze) dos de los componentes de FreezeRotation de un rigidbody mediante script???
 
Por lo que veo en la api solo puedo o congelar toda la rotación:
 

rigBdy.constraints = RigidbodyConstraints.FreezeRotation;

 
o Congelar solo uno de los componentes:
 

//Este codigo solo congelaria el ultimo freeze que se hiciese, en este caso el de la rotacion en Z
rigBdy.constraints = RigidbodyConstraints.FreezeRotationX;
rigBdy.constraints = RigidbodyConstraints.FreezeRotationZ;

 
¿Existe alguna manera de congelar la rotacion de X y Z de un rigidbody mediante script?
 
 
 
Saludos
Título: (SOLUCIONADO) ¿Se puede Freeze solo dos componentes de Rigidbody.freezeRotation?
Publicado por: lightbug en Noviembre 27, 2018, 04:43:22 PM
Cita de: ftejada date=1543329714Hola a todos!!
   
   
      Se puede congelar (Freeze) dos de los componentes de FreezeRotation de un rigidbody mediante script???
   
   
      Por lo que veo en la api solo puedo o congelar toda la rotación:
   
   

rigBdy.constraints = RigidbodyConstraints.FreezeRotation;

   
      o Congelar solo uno de los componentes:
   
   

//Este codigo solo congelaria el ultimo freeze que se hiciese, en este caso el de la rotacion en Z
rigBdy.constraints = RigidbodyConstraints.FreezeRotationX;
rigBdy.constraints = RigidbodyConstraints.FreezeRotationZ;

   
      ¿Existe alguna manera de congelar la rotacion de X y Z de un rigidbody mediante script? 
   
   
       
   
   
      Saludos
   


Sí, tenes que hacer una OR con FreezeRotationX y Z. RigidbodyConstrains es un enum (FreezeRotationX e Y son campos de este enum colocados de forma que al hacer un OR te queda la combinación). Mirá la doc:
 
https://docs.unity3d.com/ScriptReference/RigidbodyConstraints.html
 
Algo así seguramente:
 

m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationZ;

 
 
Título: (SOLUCIONADO) ¿Se puede Freeze solo dos componentes de Rigidbody.freezeRotation?
Publicado por: ftejada en Noviembre 27, 2018, 04:51:45 PM
Siii!!! Justo era eso!!
 
Muchas gracias @lightbug
Título: (SOLUCIONADO) ¿Se puede Freeze solo dos componentes de Rigidbody.freezeRotation?
Publicado por: lightbug en Noviembre 27, 2018, 04:59:16 PM
Cita de: ftejada date=1543333905Siii!!! Justo era eso!!
   
   
      Muchas gracias @lightbug