Объявление
public static Collider2D OverlapArea(Vector2 pointA, Vector2 pointB, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);Параметры
pointA | Один угол прямоугольника. |
pointB | По диагонали напротив точки А угла прямоугольника. |
layerMask | Фильтр для проверки объектов только на определенных слоях. |
minDepth | Включайте только объекты с координатой Z (глубиной) больше или равной этому значению. |
maxDepth | Включайте только объекты с координатой Z (глубиной) меньше или равной этому значению. |
Возвращает
Collider2D Коллайдер перекрывает область.
Описание
Проверяет, попадает ли коллайдер в прямоугольную область.
Прямоугольник определяется двумя диагонально противоположными угловыми координатами в мировом пространстве. Вы можете думать о них как о левом верхнем и правом нижнем углу, но тест все равно будет работать, если порядок точек будет обратным. Необязательный параметр layerMask позволяет тесту проверять объекты только на определенных слоях.
Хотя ось Z не имеет отношения к рендерингу или коллизиям в 2D, вы можете использовать параметры minDepth и maxDepth для фильтрации объектов на основе их координаты Z. Если в область попадает более одного коллайдера, то возвращается тот, у которого наименьшее значение координаты Z. Null возвращается, если в области нет коллайдеров.
Смотрите так же: OverlapAreaAll & OverlapAreaNonAlloc.
Объявление
public static int OverlapArea(Vector2 pointA, Vector2 pointB, ContactFilter2D contactFilter, Collider2D[] results);Параметры
pointA | Один угол прямоугольника. |
pointB | По диагонали напротив точки А угла прямоугольника. |
contactFilter | Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z. Обратите внимание, что нормальный угол не используется для проверки перекрытия. |
results | Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены.. |
Возвращает
int Возвращает количество результатов, помещенных в массив results
.
Описание
Проверяет, попадает ли коллайдер в прямоугольную область.
Прямоугольник определяется двумя диагонально противоположными угловыми координатами в мировом пространстве. Вы можете представить их как верхний левый и нижний правый, но тест все равно будет работать, если порядок точек будет обратным.
Эта функция возвращает количество найденных коллайдеров и помещает эти коллайдеры в массив results
. Результаты также можно отфильтровать с помощью contactFilter
. Обратите внимание, что фильтрация по нормальному углу недоступна для функций перекрытия.
Объявление
public static int OverlapArea(Vector2 pointA, Vector2 pointB, ContactFilter2D contactFilter, ListПараметры
pointA | Один угол прямоугольника. |
pointB | По диагонали напротив точки А угла прямоугольника. |
contactFilter | Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z. Обратите внимание, что нормальный угол не используется для проверки перекрытия. |
results | Список для получения результатов. |
Возвращает
int Возвращает количество результатов, помещенных в список results
.
Описание
Проверяет, попадает ли коллайдер в прямоугольную область.
Прямоугольник определяется двумя диагонально противоположными угловыми координатами в мировом пространстве. Вы можете представить их как верхний левый и нижний правый, но тест все равно будет работать, если порядок точек будет обратным.
Целое возвращаемое значение — это количество результатов, записанных в список results
. Список результатов будет изменен, если он не содержит достаточного количества элементов для отчета обо всех результатах. Это предотвращает выделение памяти для результатов, когда нет необходимости изменять размер списка results
, и повышает производительность сборки мусора при частом выполнении запроса.
Результаты также можно отфильтровать с помощью contactFilter
.
Обратите внимание, что фильтрация по нормальному углу недоступна для функций перекрытия.