Collider2D.CanContact
Declaration
public bool CanContact(Collider2D collider);Параметры
| Параметр | Описание |
|---|---|
| коллайдер | Другой Collider, который должен быть проверен, чтобы увидеть, может ли он связаться с текущим Collider. |
Возвращаемое значение
логическое Возвращает true, если оба коллайдера могут связаться друг с другом, в противном случае false указывает, что они не могут связаться друг с другом.
Описание
Этот метод определяет, могут ли оба коллайдера когда-либо вступить в контакт.
Определение того, могут ли коллайдеры вступать в контакт, предполагает многочисленные проверки, включая:
- Каждый Collider2D должен быть активным и включенным. См. Behaviour.isActiveAndEnabled.
- Каждый Collider2D должен находиться на GameObject, который находится в том же PhysicsScene2D. По умолчанию это верно, но см. PhysicsSceneExtensions2D.GetPhysicsScene2D и LocalPhysicsMode.Physics2D.
- Каждый объект Collider2D, прикреплённый к Rigidbody2D, должен иметь совместимый объект Rigidbody2D.bodyType. Например, RigidbodyType2D.Static не может контактировать с другим объектом RigidbodyType2D.Static. При отсутствии Rigidbody2D объект Collider2D неявно считается Static. Контакт Kinematic с Kinematic или Static возникает только при включённом параметре Rigidbody2D.useFullKinematicContacts.
- Collider2D не будут контактировать, если они указаны с помощью Physics2D.IgnoreCollision.
- Collider2D не будут контактировать, если они являются частью Effector2D, который использует Effector2D.useColliderMask.
- Collider2D не будут контактировать, если их столкновение слоев (в Матрице столкновений слоев) установлено на не контактировать, если только не будет переопределено с помощью переопределений слоев Rigidbody2D и Collider2D.
Дополнительные ресурсы: ,Collider2D.contactMask,, ,Collider2D.includeLayers,, ,Collider2D.excludeLayers,, ,Rigidbody2D.includeLayers, и ,Rigidbody2D.excludeLayers,.