Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
к Руководству

Rigidbody

класс в UnityEngine / Наследует от: Component / Реализовано в: UnityEngine.PhysicsModule

Описание

Управление положением объекта с помощью физического моделирования.

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

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

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

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

Свойства

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

Публичные Методы

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

Сообщения

OnCollisionEnter OnCollisionEnter вызывается, когда этот коллайдер/твердое тело начинает касаться другого твердого тела/коллайдера.
OnCollisionExit OnCollisionExit вызывается, когда этот коллайдер/жесткое тело перестает касаться другого твердого тела/коллайдера.
OnCollisionStay OnCollisionStay вызывается один раз за кадр для каждого коллайдера/жесткого тела, соприкасающегося с твердым телом/коллайдером.

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

Свойства

gameObject Игровой объект, к которому прикреплен компонент. Компонент всегда привязан к игровому объекту.
tag Тег игрового объекта.
transform Transform, прикрепленный игровому объекту.
hideFlags Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем?
name Имя объекта

Публичные Методы

BroadcastMessage Вызывает метод с именем methodName для каждого MonoBehaviour в игровом объекте или любом из его дочерних элементов.
CompareTag Помечен ли этот игровой объект тегом?
GetComponent Возвращает компонент, если он прикреплён к игровому объекту, и null, если нет. Также возвращает отключенные компоненты.
GetComponentInChildren Возвращает компонент дочернего элемента игрового объекта, используя поиск в глубину.
GetComponentInParent Возвращает компонент игрового объекта в любом из его родителей.
GetComponents Возвращает все компоненты игрового объекта
GetComponentsInChildren Возвращает все компоненты дочерних элементов игрового объекта. Работает рекурсивно.
GetComponentsInParent Возвращает все компоненты игрового объекта любого из родителя.
SendMessage Вызывает метод с именем methodName для каждого MonoBehaviour в этом игровом объекте.
SendMessageUpwards Вызывает метод с именем methodName для каждого MonoBehaviour в этом игровом объекте и для каждого behaviour.
TryGetComponent Получает компонент указанного типа, если он существует.
GetInstanceID Возвращает идентификатор экземпляра объекта.
ToString Возвращает имя объекта.

Статические Методы

Destroy Удаляет игровой объект, компонент или актив.
DestroyImmediate Уничтожает объект obj. Настоятельно рекомендуется использовать Destroy.
DontDestroyOnLoad Не уничтожает целевой объект при загрузке новой сцены.
FindObjectOfType Возвращает первый активный загруженный объект.
FindObjectsOfType Получает список всех загруженных объектов.
Instantiate Клонирует исходный объект и возвращает клон.

Операторы

bool Объект существует?
operator != Сравнивает, ссылаются ли два объекта на другой объект.
operator == Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3