Unity 6.3
0 онлайн 57 гостей 3 в системе
Вход

Введение в Rigidbody 2D

Вы можете приложить Rigidbody 2D компонент к a GameObject чтобы управлять им с помощью системы физики. Rigidbody 2D имеет схожие свойства с его стандартом Rigidbody аналог, но он адаптирован к 2D Например, GameObjects которые имеют Rigidbody 2D компонент, прикрепленный к ним, может двигаться только вдоль XY плоскости и может вращаться только по оси, перпендикулярной этой плоскости.

Как работает Rigidbody 2D

Компонент Transform редактора Unity определяет положение, поворот и масштаб GameObject и его дочерних GameObject в сцене. При изменении этого компонента обновляются другие компоненты, что может повлиять на место их отрисовки или положение других коллайдеров. Система двухмерной физики Unity может перемещать коллайдеры и обеспечивать их взаимодействие, поэтому физической системе нужен способ передавать сведения о перемещении коллайдеров обратно компонентам Transform. Для такого перемещения и взаимодействия с коллайдерами предназначен компонент Rigidbody 2D. Компонент Rigidbody 2D переопределяет Transform и обновляет его в соответствии с заданными положением и (или) поворотом.

Примечание: Rigidbody 2D можно переопределить, изменяя компонент Transform напрямую (Unity открывает все свойства всех компонентов). Однако это приводит к проблемам: непредсказуемому движению или тому, что GameObject проходят друг сквозь друга.

Взаимодействие Collider 2D и Rigidbody 2D

Любой Collider 2D компонент, добавленный к тому же GameObject или дочернему GameObject, имплицитно прикрепляется к этому Rigidbody 2D GameObject, вызывая Collider 2D двигаться с Rigidbody 2D. При прикреплении, вы никогда не должны перемещать Collider 2D напрямую, используя Transform или любое смещение коллайдера; вместо этого перемещайте Rigidbody 2D. Перемещение Rigidbody 2D обеспечивает наилучшую производительность и гарантирует правильное обнаружение столкновений. Collider 2Ds, прикрепленные к одному и тому же Rigidbody 2D не столкнутся друг с другом. Это означает, что вы можете создать набор коллайдеров, которые эффективно действуют как единый сложный коллайдер, все движутся и вращаются синхронно с Rigidbody 2D.

Добавление Rigidbody 2D перемещает спрайта физически убедительным образом, применяя силы из скрипта API. Когда вы прикрепляете соответствующий компонент коллайдера к спрайту GameObject, на него влияют столкновения с другими движущимися GameObjects. Использование системы физики Unity может упростить многие общие механики игры и изобразить реалистичное поведение с минимальным кодированием.

Примечание: Хотя Rigidbody 2D часто описывают как столкновение друг с другом, это Collider 2D, прикрепленные к каждому из этих тел, которые столкнутся. Rigidbody 2D не могут столкнуться друг с другом без коллайдеров.

Дополнительные ресурсы

Rigidbody2D