This code works fine:
void Start ()
{
m_Rigidbody = GetComponent<Rigidbody>();
// m_Rigidbody.centerOfMass = new Vector3(0,0,0);
m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotation;
}
void Update ()
{
m_Rigidbody.constraints = RigidbodyConstraints.None;
Debug.Log(m_Rigidbody.constraints);
}
But this freezes rotation of my rigidbody forever:
void Start ()
{
m_Rigidbody = GetComponent<Rigidbody>();
m_Rigidbody.centerOfMass = new Vector3(0,0,0);
m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotation;
}
void Update ()
{
m_Rigidbody.constraints = RigidbodyConstraints.None;
Debug.Log(m_Rigidbody.constraints);
}
Also, Debug.Log(m_Rigidbody.constraints); prints None. In both samples.