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

Physics2D.OverlapArea

Declaration

public static Collider2D OverlapArea(Vector2 pointA, Vector2 pointB, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

Параметры

Параметр Описание
pointA Один из углов прямоугольника.
pointB По диагонали напротив точки A в углу прямоугольника.
layerMask Фильтр для проверки объектов только на определенных слоях.
minDepth Включить только объекты с координатой Z (глубиной), большей или равной этому значению.
maxDepth Включить только объекты с координатой Z (глубиной) меньше или равной этому значению.

Возвращаемое значение

Collider2D Collider перекрывает область.

Описание

Проверяет, находится ли Collider в прямоугольной области.

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

Хотя ось Z не имеет значения для отображения или столкновений в 2D, вы можете использовать minDepth и maxDepth параметры для фильтрации объектов на основе их координат Z. Если более одного Collider попадает в пределы зоны, то возвращается точка с наименьшим значением координат Z. Если в зоне нет коллайдеров, возвращается нуль.

Дополнительные ресурсы: OverlapAreaAll.

Declaration

public static int OverlapArea(Vector2 pointA, Vector2 pointB, ContactFilter2D contactFilter, Collider2D[] results);

Параметры

Параметр Описание
pointA Один из углов прямоугольника.
pointB По диагонали напротив точки A в углу прямоугольника.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z. Обратите внимание, что нормальный угол не используется для тестирования перекрытия.
результаты Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены.

Возвращаемое значение

инт Возвращает число результатов, помещенных в массив results.

Описание

Проверяет, находится ли Collider в прямоугольной области.

Эта функция возвращает число обнаруженных коллайдеров и помещает их в массив results.

Declaration

public static int OverlapArea(Vector2 pointA, Vector2 pointB, ContactFilter2D contactFilter, List<Collider2D> results);

Параметры

Параметр Описание
pointA Один из углов прямоугольника.
pointB По диагонали напротив точки A в углу прямоугольника.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z. Обратите внимание, что нормальный угол не используется для тестирования перекрытия.
результаты Список для получения результатов.

Возвращаемое значение

инт Возвращает число результатов, помещенных в список results.

Описание

Проверяет, находится ли Collider в прямоугольной области.

Возвращаемое целое число — это число результатов, записанных в список results. Список результатов будет изменен, если он не содержит достаточно элементов для отображения всех результатов. Это предотвращает выделение памяти для результатов, когда список results не нуждается в изменении размера, и повышает производительность сбора мусора, когда запрос выполняется часто.