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

Physics2D.RaycastAll

Declaration

public static RaycastHit2D[] RaycastAll(Vector2 origin, Vector2 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

Параметры

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

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

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

Описание

Бросает луч на коллайдеры в Scene, возвращая все коллайдеры, которые контактируют с ним.

A рейкаст Концептуально это как лазерный луч, который выстреливается из точки в пространстве в определенном направлении. Любой объект, контактирующий с лучом, может быть обнаружен и сообщен.

Эта функция похожа на функцию Raycast, но вместо того, чтобы обнаруживать только первый Collider, который попадает, возвращается массив всех коллайдеров вдоль пути луча. Коллайдеры в массиве сортируются в порядке расстояния от точки происхождения. layerMask может использоваться для выборочного обнаружения объектов только на определенных слоях (это позволяет применять обнаружение только к вражеским персонажам, например).

Потоки лучей полезны для определения линии обзора, целей, попадающих под огонь, и для многих других целей в игре.

Кроме того, это также обнаружит Collider(s) в начале луча. В этом случае, луч начинается внутри Collider и не пересекает поверхность Collider. Это означает, что нормаль столкновения не может быть вычислена, в этом случае возвращаемая нормаль столкновения устанавливается на обратную величину тестируемого вектора луча. Это легко обнаружить, потому что такие результаты всегда находятся в RaycastHit2D доле от нуля.

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

Дополнительные ресурсы: LayerMask class, RaycastHit2D class, Raycast, Linecast, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers.