Collider2D
Описание
Родительский класс для типов коллайдеров, применяемых в 2D-геймплее. Предоставляет методы для задания формы и физического поведения при взаимодействии 2D-объектов, служит для обнаружения столкновений и запуска событий в 2D-играх.
Класс Collider2D — родительский для различных двумерных компонентов-коллайдеров, задающих физические границы объектов. Такие коллайдеры обеспечивают взаимодействие с другими объектами в симуляции 2D-физики. Они играют ключевую роль в обнаружении столкновений и обработке взаимодействий, а также позволяют настраивать триггеры событий при перекрытии или соприкосновении объектов.
Обнаружение столкновений имеет решающее значение для создания реалистичных и интерактивных игровых сред. Использование компонентов, основанных на Collider2D, решает задачу определения взаимодействий, столкновений и специфических поведения, поддерживая реализацию игровой механики, такой как движение и реакции на столкновение.
В типичном рабочем процессе разработки игры эти компоненты необходимы для таких объектов, как персонажи, препятствия и коллекционные предметы, которые требуют физического взаимодействия или обнаружения столкновений. Разработчики добавляют конкретные компоненты Collider2D к GameObjects, чтобы установить границы взаимодействия и настроить их свойства для соответствия желаемой динамике. Скрипты могут затем обрабатывать столкновения и ответы, а затем плавно интегрироваться в игру и систему физики.
Чтобы использовать эти компоненты-коллайдеры, добавьте их к GameObject и настройте под физические границы объекта. Для статических или триггерных объектов это не обязательно, но вы можете добавить Rigidbody2D Рекомендуется правильно настроить размер, положение и тип, поскольку это крайне важно для предотвращения неточного обнаружения столкновений или непреднамеренного поведения. Будьте осторожны, чтобы избежать таких проблем, как неправильное наложение слоев или неправильно установленные триггеры, которые могут привести к сбоям обнаружения.
Эти компоненты коллайдера работают с Unity Physics2D Они могут быть использованы со слоями для оптимизации управления столкновениями и взаимодействия. Они также облегчают эффективные операции перекрытия и рассеивания лучей, такие как Physics2D.OverlapCircle и Physics2D.Raycast, для точного обнаружения объектов. Инструменты отладки Unity могут быть использованы для визуализации и уточнения поведения коллайдеров.
Свойства
| Свойство | Описание |
|---|---|
| attachedRigidbody | Rigidbody2D прикреплен к Collider2D. |
| bounceCombine | Режим комбинирования отскоков, используемый Collider2D. |
| bounciness | Отскок, используемый Collider2D. |
| bounds | Мировой космический предельный район коллайдера. |
| callbackLayers | Слои, для которых этот Collider2D будет сообщать о столкновениях или вызывать обратные вызова во время контакта с другим Collider2D. |
| composite | Получить CompositeCollider2D, который доступен для подключения к коллайдеру. |
| compositeCapable | Показывает, может ли этот Collider2D быть композитирован CompositeCollider2D. |
| compositeOperation | Композитная операция, используемая CompositeCollider2D. |
| compositeOrder | Порядок операции композита, используемый при использовании CompositeCollider2D. |
| contactCaptureLayers | Слои других Collider2D, участвующих в контактах с этим Collider2D, которые будут захвачены. |
| contactMask | Вычисляет эффективный LayerMask, который Collider2D будет использовать при определении того, может ли он связаться с другим Collider2D. |
| density | Плотность коллайдера, используемая для расчета его массы (когда включена функция " auto mass " ). |
| errorState | Состояние ошибки, отражающее состояние физических форм, которые пытался создать 2D Collider. (Только для чтения) |
| excludeLayers | Дополнительные слои, которые этот Collider2D должен исключить при решении, должен ли контакт с другим Collider2D произойти или нет. |
| forceReceiveLayers | Слои, из которых этот Collider2D может получать силы во время столкновения с другим Collider2D. |
| forceSendLayers | Слои, в которые Collider2D может посылать силы во время столкновения с другим Collider2D. |
| friction | Трение, используемое Collider2D. |
| frictionCombine | Режим фрикционного комбайна, используемый Collider2D. |
| includeLayers | Дополнительные Слои, которые этот Collider2D должен включать при решении, должен ли происходить контакт с другим Collider2D или нет. |
| isTrigger | Конфигурирован ли этот коллайдер в качестве триггера? |
| layerOverridePriority | Приоритет решения, присвоенный этому Collider2D, используется, когда существует противоречивое решение о том, должен ли происходить контакт между ним и другим Collision2D или нет. |
| localToWorldMatrix | Матрица преобразований, используемая для преобразования физических форм Collider в мировое пространство. |
| offset | Локальное смещение геометрии коллайдера. |
| shapeCount | Число активных PhysicsShape2D, которые в настоящее время использует Collider2D. |
| sharedMaterial | PhysicsMaterial2D, который применяется к этому коллайдеру. |
| usedByEffector | 2.2.1.1.1 используется ли коллектор с помощью установленного эффектора или нет. |
Открытые методы
| Метод | Описание |
|---|---|
| CanContact | Этот метод определяет, могут ли оба коллайдера когда-либо вступить в контакт. |
| Cast | Вставляет форму Collider в форму Scene начиная с позиции Collider, игнорируя саму форму Collider. |
| ClosestPoint | Возвращает точку на периметре этого Collider, которая ближе всего к указанной позиции. |
| CreateMesh | Создает планарную сетку, которая идентична области, определенной геометрией Collider2D. |
| Distance | Рассчитывает минимальное расстояние между этим коллайдером и другим коллайдером. |
| GetContacts | Получает все контактные точки для этого Collider. |
| GetShapeBounds | Получает список границ для всех PhysicsShape2D, созданных этим Collider2D, и возвращает комбинированные границы полученного списка. |
| GetShapeHash | Генерирует простое хэш-значение, основанное на геометрии Collider2D. |
| GetShapes | Получает все PhysicsShape2D, используемые Collider2D. |
| IsTouching | Проверить, касается ли этот коллайдер коллайдера или нет. |
| IsTouchingLayers | Проверяет, касается ли этот коллайдер каких-либо коллайдеров на указанном layerMask или нет. |
| Overlap | Получить список всех коллайдеров, которые перекрывают этот Collider. |
| OverlapPoint | Проверьте, не перекрывает ли коллайдер точку в пространстве. |
| Raycast | Отправляет луч в Scene, который начинается в позиции Collider и игнорирует сам Collider. |
Сообщения
| Сообщение | Описание |
|---|---|
| OnCollisionEnter2D | Отправляется, когда входящий коллайдер контактирует с коллайдером этого объекта (2D только физика). |
| OnCollisionExit2D | Отправляется, когда коллайдер на другом объекте перестает касаться коллайдера этого объекта (2D только физика). |
| OnCollisionStay2D | Отправляет каждый кадр, где коллайдер на другом объекте касается коллайдера этого объекта (2D только физика). |
| OnTriggerEnter2D | Отправляется, когда другой объект входит в коллайдер-триггер, прикрепленный к этому объекту (2D только физика). |
| OnTriggerExit2D | Отправляется, когда другой объект покидает коллайдер, прикрепленный к этому объекту (2D только физика). |
| OnTriggerStay2D | Отправляет каждый кадр, в котором другой объект находится внутри коллайдера, присоединенного к этому объекту (2D только физика). |
Унаследованные члены 4
Свойства
| Свойство | Описание |
|---|---|
| enabled | True, если это Поведение включено, в противном случае false. |
| isActiveAndEnabled | Проверяет, включён ли компонент, прикреплен ли он к GameObject, который активен в иерархии, и вызван ли OnEnable компонента. |
| gameObject | GameObject, к которому прикреплен данный компонент. Компонент всегда прикрепляется к игровому объекту. |
| tag | Тег этого игрового объекта. |
| transform | Transform прикреплен к этому GameObject. |
| transformHandle | TransformHandle этого GameObject. |
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
Открытые методы
| Метод | Описание |
|---|---|
| BroadcastMessage | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте или любом из его дочерей. |
| CompareTag | Проверяет тег GameObject на соответствие определенному тегу. |
| GetComponent | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент. |
| GetComponentInChildren | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любого ребенка GameObject. |
| GetComponentIndex | Получает индекс компонента на его родительском GameObject. |
| GetComponentInParent | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любой родитель GameObject. |
| GetComponents | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент. |
| GetComponentsInChildren | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и на любого ребенка GameObject. |
| GetComponentsInParent | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и любой родитель GameObject. |
| SendMessage | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте. |
| SendMessageUpwards | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте и на каждом предшественнике поведения. |
| TryGetComponent | Получает компонент указанного типа, если он существует. |
| GetInstanceID | Получает экземпляр ID объекта. |
| ToString | Возвращает имя объекта. |
Статические методы
| Метод | Описание |
|---|---|
| Destroy | Удаляет GameObject, компонент или ресурс. |
| DestroyImmediate | Немедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования. |
| DontDestroyOnLoad | Не уничтожать целевой Объект при загрузке нового Scene. |
| FindAnyObjectByType | Получает любой активный загруженный объект типа Type. |
| FindFirstObjectByType | Получает первый активный загруженный объект типа Type. |
| FindObjectsByType | Получает список всех загруженных объектов типа Type. |
| Instantiate | Клонирует исходный объект и возвращает клон. |
| InstantiateAsync | Захватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation. |
Операторы
| Оператор | Описание |
|---|---|
| bool | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |