In unity3d there are two properties on rigidbody that correspond to the moment of inertia tensor.
One of them is: rigidbody.inertiaTensor
, which I know is the diagonal of the inertia tensor,
The other is rigidody.inertiaTensorRotation
, which I don't quite understand. I have, though, created a rigidbody in such a way that I get it to be other number than Quatenion.identity
, but I still don't see the connection.
Can I describe the products of inertia tensor with the rotation or ... what is the relation between them and where would I require them?
Answer
inertiaTensor
is a Vector3
, inertiaTensorRotation
is a Quaternion
. And from the docs for inertiaTensor
:
The inertia tensor is rotated by the inertiaTensorRotation.
Essentially, inertiaTensor
is the moment of inertia (defined as a tensor) and the inertiaTensorRotation
is how that tensor is rotated.
If you'd like them to be calculated automatically, you don't set them. Or you can call Rigidbody.ResetInertiaTensor
which:
After calling this function, the inertia tensor and tensor rotation will be updated automatically after any modification of the rigidbody.
No comments:
Post a Comment