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

PhysicsScene2D.BoxCast

Declaration

public RaycastHit2D BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, int layerMask = Physics2D.DefaultRaycastLayers);
public RaycastHit2D BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter);

Параметры

Параметр Описание
происхождение Точка в пространстве 2D, где начинается коробка.
размер Размер коробки.
угол Угол коробки (в градусах).
направление Вектор, обозначающий направление, в котором должен находиться ящик.
расстояние Максимальное расстояние, на которое можно бросить коробку.
layerMask Фильтр для обнаружения коллайдеров только на определенных слоях.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу.

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

RaycastHit2D Возвращаются результаты отливки.

Описание

Бросает коробку на коллайдеры в PhysicsScene2D, возвращая только первое пересечение.

Операцию "BoxCast" можно представить как перемещение объёмного прямоугольника по сцене в заданном направлении. Любой Collider2D, соприкоснувшийся с ним, может быть обнаружен, а сведения о контакте — возвращены.

Функция возвращает объект RaycastHit2D со ссылкой на коллайдер, которого коснулся прямоугольник. Если столкновения не было, свойство collider результата равно NULL. Результат также содержит точку и нормаль контакта, а также положение центра прямоугольника в момент касания.

Параметр layerMask позволяет обнаруживать объекты только на выбранных слоях, например только персонажей-противников. Перегрузки метода с параметром contactFilter фильтруют результаты с помощью настроек из ContactFilter2D.

ПРИМЕЧАНИЕ: результаты отсортированы по возрастанию расстояния; ближайший результат находится первым.

Дополнительные ресурсы: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.

Declaration

public int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, RaycastHit2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);
public int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter, RaycastHit2D[] results);

Параметры

Параметр Описание
происхождение Точка в пространстве 2D, где начинается коробка.
размер Размер коробки.
угол Угол коробки (в градусах).
направление Вектор, обозначающий направление, в котором должен находиться ящик.
расстояние Максимальное расстояние, на которое можно бросить коробку.
результаты Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены.
layerMask Фильтр для обнаружения коллайдеров только на определенных слоях.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу.

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

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

Описание

Бросает коробку на коллайдеры в PhysicsScene2D, возвращая все пересечения.

BoxCast концептуально напоминает перемещение формы параллелепипеда через Scene в заданном направлении. Любой Collider2D, соприкасающийся с параллелепипедом, можно обнаружить и включить в результаты.

Функция возвращает массив объектов RaycastHit2D со ссылкой на коллайдер, которого коснулся параллелепипед (если попадания не было, свойство collider результата равно NULL). Каждый объект содержит точку и нормаль контакта, в котором параллелепипед коснулся бы коллайдера. Также возвращается центроид положения параллелепипеда, при котором он соприкоснётся с коллайдером в этой точке.

Возвращаемое целое число — количество объектов, пересекающих параллелепипед (возможно, ноль). Однако размер массива результатов не увеличивается, если элементов в нём недостаточно для всех результатов. Благодаря этому для результатов не выделяется память, что повышает эффективность сборки мусора. При передаче пустого массива всегда возвращается ноль результатов.

Параметр layerMask позволяет выборочно обнаруживать объекты только на определённых слоях (например, выполнять проверку только для вражеских персонажей). Перегрузки этого метода, использующие contactFilter, позволяют фильтровать результаты с помощью параметров, доступных в ContactFilter2D.

ПРИМЕЧАНИЕ: Все результаты отсортированы по возрастанию расстояния, то есть первым идёт ближайший результат.

Дополнительные ресурсы: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.

Declaration

public int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter, List<RaycastHit2D> results);

Параметры

Параметр Описание
происхождение Точка в пространстве 2D, где начинается коробка.
размер Размер коробки.
угол Угол коробки (в градусах).
направление Вектор, обозначающий направление, в котором должен находиться ящик.
расстояние Максимальное расстояние, на которое можно бросить коробку.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу.
результаты Список для получения результатов.

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

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

Описание

Бросает коробку на Коллайдеры в PhysicsScene2D, возвращая все пересечения.

A "BoxCast" концептуально похоже на перетаскивание формы коробки через Scene в определенном направлении. Любой Collider2D контакт с коробкой может быть обнаружен и сообщен.

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

Результаты могут быть также отфильтрованы по contactFilter.

NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является наиболее близким.

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