Описание
Тензор инерции этого тела, определенный как диагональная матрица в системе отсчета, расположенной в центре масс этого тела и повернутой на Rigidbody.inertiaTensorRotation.
Тензор инерции — это вращательный аналог массы: чем больше составляющая инерции относительно определенной оси, тем больший крутящий момент требуется для достижения того же углового ускорения относительно этой оси.
Ноль не является допустимым компонентом тензора инерции. Поэтому физическая система вместо этого интерпретирует нули как бесконечные значения. Так, например, тело с тензором инерции (0, 1, 1) невозможно вращать вокруг X.
Обратите внимание, что вращательные ограничения RigidbodyConstraints Rigidbody фактически реализуются путем установки нулевых компонентов тензора инерции относительно заблокированных степеней свободы.
Если вы не зададите тензор инерции из скрипта, он автоматически рассчитывается из всех коллайдеров, прикрепленных к Rigidbody. Чтобы сбросить тензор инерции до автоматически рассчитанного значения, вызовите Rigidbody.ResetInertiaTensor.
// Выставляем тензор инерции, чтобы разрешить корректировку
// инспектор.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public Vector3 tensor;
public Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
rb.inertiaTensor = tensor;
}
}