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

Collider2D

класс в UnityEngine

Наследуется от:Behaviour

Выполнено в:UnityEngine.Physics2DModule

Описание

Родительский класс для типов коллайдеров, применяемых в 2D-геймплее. Предоставляет методы для задания формы и физического поведения при взаимодействии 2D-объектов, служит для обнаружения столкновений и запуска событий в 2D-играх.

Класс Collider2D — родительский для различных двумерных компонентов-коллайдеров, задающих физические границы объектов. Такие коллайдеры обеспечивают взаимодействие с другими объектами в симуляции 2D-физики. Они играют ключевую роль в обнаружении столкновений и обработке взаимодействий, а также позволяют настраивать триггеры событий при перекрытии или соприкосновении объектов.

Обнаружение столкновений имеет решающее значение для создания реалистичных и интерактивных игровых сред. Использование компонентов, основанных на Collider2D, решает задачу определения взаимодействий, столкновений и специфических поведения, поддерживая реализацию игровой механики, такой как движение и реакции на столкновение.

В типичном рабочем процессе разработки игры эти компоненты необходимы для таких объектов, как персонажи, препятствия и коллекционные предметы, которые требуют физического взаимодействия или обнаружения столкновений. Разработчики добавляют конкретные компоненты Collider2D к GameObjects, чтобы установить границы взаимодействия и настроить их свойства для соответствия желаемой динамике. Скрипты могут затем обрабатывать столкновения и ответы, а затем плавно интегрироваться в игру и систему физики.

Чтобы использовать эти компоненты-коллайдеры, добавьте их к GameObject и настройте под физические границы объекта. Для статических или триггерных объектов это не обязательно, но вы можете добавить Rigidbody2D Рекомендуется правильно настроить размер, положение и тип, поскольку это крайне важно для предотвращения неточного обнаружения столкновений или непреднамеренного поведения. Будьте осторожны, чтобы избежать таких проблем, как неправильное наложение слоев или неправильно установленные триггеры, которые могут привести к сбоям обнаружения.

Эти компоненты коллайдера работают с Unity Physics2D Они могут быть использованы со слоями для оптимизации управления столкновениями и взаимодействия. Они также облегчают эффективные операции перекрытия и рассеивания лучей, такие как Physics2D.OverlapCircle и Physics2D.Raycast, для точного обнаружения объектов. Инструменты отладки Unity могут быть использованы для визуализации и уточнения поведения коллайдеров.

Свойства

Свойство Описание
attachedRigidbodyRigidbody2D прикреплен к 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.
sharedMaterialPhysicsMaterial2D, который применяется к этому коллайдеру.
usedByEffector2.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

Свойства

СвойствоОписание
enabledTrue, если это Поведение включено, в противном случае false.
isActiveAndEnabledПроверяет, включён ли компонент, прикреплен ли он к GameObject, который активен в иерархии, и вызван ли OnEnable компонента.
gameObjectGameObject, к которому прикреплен данный компонент. Компонент всегда прикрепляется к игровому объекту.
tagТег этого игрового объекта.
transformTransform прикреплен к этому GameObject.
transformHandleTransformHandle этого 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Существует ли объект?
оператор!=Сравнивает, если два объекта ссылаются на разные объекты.
оператор ==Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту.