Управляет положением объекта через имитацию физики.
Adding a Rigidbody component to an object will put its motion under the control of Unity's physics engine. Even without adding any code, a Rigidbody object will be pulled downward by gravity and will react to collisions with incoming objects if the right Collider component is also present.
Rigidbody также имеет scripting API, который позволит вам применить силы к объекту и контролировать его на физически реалистичном пути. Например, поведение машины может быть определено в силах, приложенных к колесам. Учитывая эту информацию, физический движок может справляться с множеством других аспектов движения машины, она будет реалистично ускоряться и корректно реагировать на коллизии.
В скрипте функция FixedUpdate рекомендуется как место для применения сил и изменения настроек Rigidbody (в противоположность Update, которая используется для большинства других задач). Причина этого в том, что физика обновляется в измеряемых временных шагах, которые не совпадают с обновлением кадров. FixedUpdate вызывается немедленно перед каждым физическим обновлением и все изменения, сделанные в нем , будут обработаны сразу же.
Большинство проблем при запуске с Rigidbody в том, что игровая физика кажется запущенной в режиме "slow motion" (замедленного движения). На самом деле это из за масштаба (scale) ваших моделей. Настройки гравитации по умолчанию допускают что один мировой юнит (единица) соответствует одному метру. В играх без использования физики юниты не имеют особого значения, можно сделать их всех масштабом в 100. Но когда используется физика, они будут обработаны как очень большие объекты. Если большой масштаб используется для объектов, которые должны быть маленькими, они будут казаться падающими очень медленно - физический движок будет принимать их за большие объекты, падающие на очень большое расстояние. Имея это ввиду, не забудьте сохранить масштаб ваших объектов более-менее приближенном к реальному (для автомобиля это примерно 4 юнита = 4 метра, к примеру).
| angularDrag | Угловое торможение объекта. |
| angularVelocity | The angular velocity vector of the rigidbody measured in radians per second. |
| centerOfMass | Центр массы относительно источника transform. |
| collisionDetectionMode | Режим обнаружения коллизии Rigidbody. |
| constraints | Управляет тем, какая степень свободы допустима при симуляции данного Rigidbody. |
| detectCollisions | Должно ли определение коллизии быть активным? (по умолчанию оно активно всегда). |
| drag | Торможение объекта. |
| freezeRotation | Контролирует будет ли физика изменять вращение объекта. |
| inertiaTensor | Диагональный тензор инерции массы относительно центра массы. |
| inertiaTensorRotation | Вращение тензора инерции. |
| interpolation | Интерполяция позволит вам сгладить эффект работающей физики по числу фиксированной частоты кадров. |
| isKinematic | Контролирует влияние физики на твердое тело. |