Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Rigidbody

class in UnityEngine

/

Наследует от:Component

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство

Описание

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

Добавление компонента Rigidbody к объекту отдает его движение под контроль физического движка Unity. Даже без добавления какого либо кода, объект с Rigidbody будет подвержен гравитации и реагировать на коллизии с входящими объектами, если имеет компонент Collider.

Rigidbody также имеет scripting API, который позволит вам применить силы к объекту и контролировать его на физически реалистичном пути. Например, поведение машины может быть определено в силах, приложенных к колесам. Учитывая эту информацию, физический движок может справляться с множеством других аспектов движения машины, она будет реалистично ускоряться и корректно реагировать на коллизии.

В скрипте функция FixedUpdate рекомендуется как место для применения сил и изменения настроек Rigidbody (в противоположность Update, которая используется для большинства других задач). Причина этого в том, что физика обновляется в измеряемых временных шагах, которые не совпадают с обновлением кадров. FixedUpdate вызывается немедленно перед каждым физическим обновлением и все изменения, сделанные в нем , будут обработаны сразу же.

Большинство проблем при запуске с Rigidbody в том, что игровая физика кажется запущенной в режиме "slow motion" (замедленного движения). На самом деле это из за масштаба (scale) ваших моделей. Настройки гравитации по умолчанию допускают что один мировой юнит (единица) соответствует одному метру. В играх без использования физики юниты не имеют особого значения, можно сделать их всех масштабом в 100. Но когда используется физика, они будут обработаны как очень большие объекты. Если большой масштаб используется для объектов, которые должны быть маленькими, они будут казаться падающими очень медленно - физический движок будет принимать их за большие объекты, падающие на очень большое расстояние. Имея это ввиду, не забудьте сохранить масштаб ваших объектов более-менее приближенном к реальному (для автомобиля это примерно 4 юнита = 4 метра, к примеру).

Переменные

angularDragУгловое торможение объекта.
angularVelocityВектор угловой скорости твердого тела.
centerOfMassЦентр массы относительно источника transform.
collisionDetectionModeРежим обнаружения коллизии Rigidbody.
constraintsУправляет тем, какая степень свободы допустима при симуляции данного Rigidbody.
detectCollisionsДолжно ли определение коллизии быть активным? (по умолчанию оно активно всегда).
dragТорможение объекта.
freezeRotationКонтролирует будет ли физика изменять вращение объекта.
inertiaTensorДиагональный тензор инерции массы относительно центра массы.
inertiaTensorRotationВращение тензора инерции.
interpolationИнтерполяция позволит вам сгладить эффект работающей физики по числу фиксированной частоты кадров.
isKinematicКонтролирует влияние физики на твердое тело.
massМасса физического тела.
maxAngularVelocityМаксимальная угловая скорость объекта. (По умолчанию 7) в диапазоне { 0, бесконечность}.
maxDepenetrationVelocityСкорость твердого тела к точке мировой точке в глобальном пространстве.
positionПозиция физического тела.
rotationВращение твердого тела.
sleepThresholdЛинейная скорость, ниже которой объекты начинают погружаться в сон (По умолчанию 0.14), диапазон {0, бесконечность}.
solverIterationCountПозволяет вам переопределять решения счетчика итерации каждого твердого тела.
useConeFrictionДля этого твердого тела используется сила трения конуса.
useGravityКонтролирует, оказывает ли влияние гравитация на твердое тело.
velocityВектор скорости твердого тела.
worldCenterOfMassЦентр масс твердого тела в мировом пространстве.

Открытые функции

AddExplosionForceПрименение силы к твердому телу имитирует эффект взрыва. Сила взрыва убывает линейно относительно расстояния до твердого тела.
AddForceДобавляет крутящий момент к физическому телу.
AddForceAtPositionПрименяет силу к / позиции/. В результате будет применено торможение и сила к объекту.
AddRelativeForceДобавление силы к твердому телу относительно его системы координат.
AddRelativeTorqueДобавление силы к твердому телу относительно его системы координат.
AddTorqueДобавляет крутящий момент к физическому телу.
ClosestPointOnBoundsБлижайшая точка к ограничивающей рамке прикрепленных коллайдеров.
GetPointVelocityСкорость твердого тела к точке мировой точке в глобальном пространстве.
GetRelativePointVelocityСкорость относительно точки твердого тела (относительной точки).
IsSleepingТвердое тело спит?
MovePositionДвигает твердое тело к пизиции.
MoveRotationВращает твердое тело к вращение.
ResetCenterOfMassМасса физического тела.
ResetInertiaTensorinertiaTensorRotation вращает тензор инерции.
SetDensityНазначить массу, основанную на прикрепленных коллайдерах, при условии постоянной плотности.
SleepОтправляет твердое тело в сон по меньшей мере на один кадр.
SweepTestПроверяет, столкнулось ли твердое тело с чем либо. Если да - перемещает через сцену.
SweepTestAllПохож на Rigidbody.SweepTest, но возвращает все прикосновения.
WakeUpСилы для пробуждения твердого тела.

Сообщения

OnCollisionEnterOnCollisionEnter вызывается когда collider/rigidbody начинает соприкасаться с другим rigidbody/collider.
OnCollisionExitOnCollisionEnter вызывается когда collider/rigidbody был остановлен прикосновением другого rigidbody/collider.
OnCollisionStayOnCollisionStay вызывается каждый кадр для каждого collider/rigidbody, который прикасается к rigidbody/collider.

Унаследованные члены

Переменные

gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagТег данного игрового объекта.
transformThe Transform attached to this GameObject (null if there is none attached).
hideFlagsShould the object be hidden, saved with the scene or modifiable by the user?
nameThe name of the object.

Открытые функции

BroadcastMessageВызывает метод названный methodName на каждом MonoBehaviour этого game object-а или любого из его потомков.
CompareTagПомечен ли этот игровой объект тэгом tag?
GetComponentВозвращает компонент типа type, если он прикреплен к игровому объекту и null, если не прикреплен.
GetComponentInChildrenReturns the component of Type type in the GameObject or any of its children using depth first search.
GetComponentInParentReturns the component of Type type in the GameObject or any of its parents.
GetComponentsReturns all components of Type type in the GameObject.
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children.
GetComponentsInParentReturns all components of Type type in the GameObject or any of its parents.
SendMessageВызывает метод с именем methodName в каждом MonoBehaviour на этом объекте.
SendMessageUpwardsВызывает на каждом MonoBehaviour в данном игровом объекте и на каждом предке скрипта метод с именем methodName.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the game object.

Статические функции

DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateReturns a copy of the object original.

Операторы

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.