Lets say I obtain an angular velocity from a Rigidbody, and I want another object to start rotating with the same angular velocity, but this object does not have a Rigidbody, how do I manually calculate the rotation of the other object with this angular velocity?
Add the angularVelocity to your object’s rotation (using the * operator) after attenuating it with Time.fixedDeltaTime in FixedUpdate.
The closest answer I can get is this:
transform.rotation *= Quaternion.Euler(transform.InverseTransformVector(angularVelocity) * Mathf.Rad2Deg * Time.fixedDeltaTime);
where angularVelocity is obtained directly from a reference object with rb.angularVelocity
The above code seems to produce the correct orientation, but the speed of the rotation seems a little off compared to the reference object.
You shouldn’t need to multiply it by Mathf.Rad2Deg.
It will be very slow without it.