Введение в столкновение в LowLevelPhysics2D API
Примечание: Эта документация посвящена написанию C# скрипты с использованием LowLevelPhysics2D API. Использовать 2D физики в Unity Editor используя компоненты, такие как Rigidbody 2D компонент, см. 2D физика вместо этого.
В Unity столкновение происходит, когда два объекта занимают одно и то же физическое пространство.
Для обнаружения столкновения между объектами LowLevelPhysics2D и API, Unity использует объекты PhysicsShape, прикрепленные к PhysicsBody. Форма определяет физическое тело для целей физических столкновений. Форма аналогична компоненту Collider 2D в обычной 2D физической системе.
Формы не обязательно должны быть такой же формы, как и тело, и вы можете добавить несколько форм в одно тело.
Более подробную информацию о добавлении формы см. в Создание физического объекта.
Типы столкновений
В LowLevelPhysics2D API коллизии включены по умолчанию.
Реакция фигуры на столкновения зависит от ее типа:
- Collider: Форма не может входить в другие объекты. Когда форма контактирует с другой формой, она сообщает о событии контакта. Это по умолчанию.
- Триггер: Форма проходит через другие объекты. Когда форма входит в другую форму, она сообщает триггерное событие.
Дополнительные сведения см. в Настройка столкновений между объектами LowLevelPhysics2D и API.
Для обнаружения столкновений и пересечений с помощью обратных вызовов или событий см. Обнаружение столкновений между объектами.
Коллизионные слои
Unity использует слои для определения того, какие объекты столкнутся друг с другом.
По умолчанию применяется следующее:
- Объекты используют слои GameObject, и все объекты находятся на встроенном слое По умолчанию.
- Объекты сталкиваются с объектами на всех других слоях.
Чтобы изменить это поведение, измените слои, на которых находятся объекты, и слои, с которыми они сталкиваются. Дополнительные сведения см. в Настройка столкновений между 2D физическими объектами.
В LowLevelPhysics2D API, вы можете использовать другой набор из 64 слоев, вместо стандартного набора из 32 GameObject слоев. Дополнительные сведения см. в Использование до 64 слоев.