此刚体的惯性张量,定义为位于刚体质心并由Rigidbody.inertiaTensorRotation旋转的参考系中的对角矩阵。
惯性张量是质量的旋转模拟:特定轴上的惯性分量越大,围绕该轴获得相同角加速度所需的力矩就越大。
零不是有效的惯性张量分量。因此,物理系统将零解释为无穷大值。例如,具有 (0, 1, 1) 惯性张量的刚体无法绕 X 轴旋转。
请注意,Rigidbody 的旋转约束RigidbodyConstraints实际上是通过将关于锁定自由度的惯性张量分量设置为零来实现的。
如果您没有从脚本设置惯性张量,则会根据附加到 Rigidbody 的所有碰撞器自动计算它。要将惯性张量重置为自动计算的值,请调用Rigidbody.ResetInertiaTensor.
// Expose tensor of inertia to allow adjustment from // the inspector. using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Vector3 tensor; public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); rb.inertiaTensor = tensor; } }