Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Physics2D.IgnoreCollision

Объявление

public static void IgnoreCollision(Collider2D collider1, Collider2D collider2, bool ignore = true);

Параметры

collider1 Первый коллайдер для сравнения с collider2.
collider2 Второй коллайдер для сравнения с collider1.
ignore Должны ли коллизии/триггеры между collider1 и collider2 игнорироваться или нет.

Описание

Заставляет систему обнаружения столкновений игнорировать все коллизии/триггеры между collider1 и collider2.

Игнорирование столкновений относится к любому типу взаимодействия между выбранными коллайдерами, т. е. никаких столкновений или взаимодействия триггеров не произойдет. Слои столкновения сначала проверяются, чтобы увидеть, что два слоя могут взаимодействовать, и если нет, то взаимодействия не происходит. После этого будет происходить игнорирование определенных взаимодействий коллайдеров.

IgnoreCollision имеет несколько ограничений:

  1. Он не является постоянным. Это означает, что состояние игнорирования коллизии не будет сохранено в редакторе при сохранении сцены.
  2. Игнорировать столкновение можно только для коллайдеров в активных игровых объектах.

При отключении коллайдера состояние IgnoreCollision будет потеряно, и вам придется снова вызывать Physics2D.IgnoreCollision.

Смотрите так же: Physics2D.GetIgnoreCollision, Physics2D.IgnoreLayerCollision.

using UnityEngine; public class Example : MonoBehaviour { // Создать экземпляр пули и заставить ее игнорировать столкновения с этим объектом. Transform bulletPrefab; void Start() { var bullet = Instantiate(bulletPrefab) as Transform; Physics2D.IgnoreCollision(bullet.GetComponent<Collider2D>(), GetComponent<Collider2D>()); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3