Rigidbody

class in UnityEngine

/

Inherits from:Component

Switch to Manual

Description

Управляет положением объекта через имитацию физики.

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 метра, к примеру).

Variables

angularDragУгловое торможение объекта.
angularVelocityThe angular velocity vector of the rigidbody measured in radians per second.
centerOfMassЦентр массы относительно источника transform.
collisionDetectionModeРежим обнаружения коллизии Rigidbody.
constraintsУправляет тем, какая степень свободы допустима при симуляции данного Rigidbody.
detectCollisionsДолжно ли определение коллизии быть активным? (по умолчанию оно активно всегда).
dragТорможение объекта.
freezeRotationКонтролирует будет ли физика изменять вращение объекта.
inertiaTensorДиагональный тензор инерции массы относительно центра массы.
inertiaTensorRotationВращение тензора инерции.
interpolationИнтерполяция позволит вам сгладить эффект работающей физики по числу фиксированной частоты кадров.
isKinematicКонтролирует влияние физики на твердое тело.