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

Collider2D.layerOverridePriority

Declaration

public int layerOverridePriority;

Описание

Приоритет решения, присвоенный этому Collider2D, используется, когда имеется противоречивое решение о том, должен ли контакт между ним и другим Collision2D произойти или нет.

Матрица столкновений слоев определяет, какие слои могут и не могут контактировать друг с другом. Добавление слоя включает и исключает может быть сделано для Collider2D или всех Collider2D, присоединенных к конкретному Rigidbody2D. Любой контакт включает два различных экземпляра Collider2D. К сожалению, это может привести к тому, что один Collider2D решит, что он должен контактировать с другим Collider2D, но другой Collider2D решит, что он не должен. Существуют правила, однако, в определении и в конечном итоге арбитража окончательного решения о том, следует ли создавать контакт или нет.

Правила для принятия решения о контакте между двумя Collider2D, упоминаемыми здесь как А и В, делаются в следующем порядке:

  1. Если и А, и В принимают одно и то же решение, то используют это решение.
  2. Если только слой A или слой B используют включения или исключения слоя, то используйте решение для слоя A или слоя B, в котором указаны включения или исключения.
  3. Если и A, и B используют слой включения или исключения, то используйте решение из A или B, которое имеет более высокий Collider2D.layerOverridePriority.
  4. Если A и B имеют одинаковые Collider2D.layerOverridePriority, то решение будет не создавать контакт.

Дополнительные ресурсы: ,Collider2D.includeLayers,, ,Collider2D.excludeLayers,, ,Rigidbody2D.includeLayers, и ,Rigidbody2D.excludeLayers,.