CustomCollider2D
Описание
Представляет собой Collider2D, настроенный путем назначения геометрии PhysicsShape2D через PhysicsShapeGroup2D.
В отличие от всех других Collider2D, которые определяются косвенно путем контроля геометрических параметров, таких как размер Коробки или радиус Круга, здесь CustomCollider2D определяется полностью путем добавления, удаления и модификации PhysicsShape2D. Это приводит к полностью настроенному Collider2D, содержащему неограниченное количество низкоуровневых PhysicsShape2D, которые могут представлять любой тип формы или формы, или эмулировать любой другой существующий Collider2D, такие как CircleCollider2D, BoxCollider2D, CapsuleCollider2D, EdgeCollider2D, CompositeCollider2D или TilemapCollider2D.
Наряду с настраиваемой геометрией, существует полная поддержка всех существующих Collider2D функций, таких как triggers, физические материалы, запросы и т.д.
При назначении PhysicsShape2D на CustomCollider2D, вы можете сделать это либо в режиме редактирования, либо в режиме воспроизведения.
При модификации CustomCollider2D в режиме редактирования, все назначенные PhysicsShape2D и связанные vertices будут сохранены с Unity Scene. Когда Unity Scene загружается снова, CustomCollider2D сохранит свою конфигурацию. Таким образом, он действует как любой другой Collider2D, в который вы внесли изменения в режиме редактирования. Используя эту возможность, авторские скрипты режима редактирования могут быть использованы для создания пользовательской геометрии.
При изменении CustomCollider2D в режиме воспроизведения, все назначенные PhysicsShape2D и связанные vertices будут потеряны при выходе из режима воспроизведения. Это действует как любой другой Collider2D.
Свойства
| Свойство | Описание |
|---|---|
| customShapeCount | Общее количество пользовательских PhysicsShape2D, назначенных Collider. (только для чтения) |
| customVertexCount | Общее количество вершин, используемых Collider. (только для чтения) |
Открытые методы
| Метод | Описание |
|---|---|
| ClearCustomShapes | Удаляет все фигуры и связанные вершины для этих фигур из Collider. |
| GetCustomShapes | Получает все физические формы и вершины в Collider и помещает их в указанный PhysicsShapeGroup2D. |
| SetCustomShape | Устанавливает одну фигуру и все связанные с ней вершины из указанного physicsShapeGroup в Collider. |
| SetCustomShapes | Устанавливает все формы и вершины в Collider на те, которые представлены указанным PhysicsShapeGroup2D. |
Унаследованные члены 5
Свойства
| Свойство | Описание |
|---|---|
| enabled | True, если это Поведение включено, в противном случае false. |
| isActiveAndEnabled | Проверяет, включён ли компонент, прикреплен ли он к GameObject, который активен в иерархии, и вызван ли OnEnable компонента. |
| 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 используется ли коллектор с помощью установленного эффектора или нет. |
| gameObject | GameObject, к которому прикреплен данный компонент. Компонент всегда прикрепляется к игровому объекту. |
| tag | Тег этого игрового объекта. |
| transform | Transform прикреплен к этому GameObject. |
| transformHandle | TransformHandle этого GameObject. |
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
Открытые методы
| Метод | Описание |
|---|---|
| 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. |
| 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 | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |
Сообщения
| Сообщение | Описание |
|---|---|
| OnCollisionEnter2D | Отправляется, когда входящий коллайдер контактирует с коллайдером этого объекта (2D только физика). |
| OnCollisionExit2D | Отправляется, когда коллайдер на другом объекте перестает касаться коллайдера этого объекта (2D только физика). |
| OnCollisionStay2D | Отправляет каждый кадр, где коллайдер на другом объекте касается коллайдера этого объекта (2D только физика). |
| OnTriggerEnter2D | Отправляется, когда другой объект входит в коллайдер-триггер, прикрепленный к этому объекту (2D только физика). |
| OnTriggerExit2D | Отправляется, когда другой объект покидает коллайдер, прикрепленный к этому объекту (2D только физика). |
| OnTriggerStay2D | Отправляет каждый кадр, в котором другой объект находится внутри коллайдера, присоединенного к этому объекту (2D только физика). |