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.