Physics2D.Linecast
Declaration
public static RaycastHit2D Linecast(Vector2 start, Vector2 end, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);Параметры
| Параметр | Описание |
|---|---|
| начало | Начальная точка линии в мировом пространстве. |
| конец | Конечная точка линии в мировом пространстве. |
| layerMask | Фильтр для обнаружения коллайдеров только на определенных слоях. |
| minDepth | Включить только объекты с координатой Z (глубиной), большей или равной этому значению. |
| maxDepth | Включить только объекты с координатой Z (глубиной) меньше или равной этому значению. |
Возвращаемое значение
RaycastHit2D Возвращаются результаты отливки.
Описание
Запускает сегмент линии против коллайдеров в Scene.
A лайнкаст Это воображаемая линия между двумя точками в мировом пространстве. Любой объект, контактирующий с этой линией, может быть обнаружен и сообщен. Это отличается от аналогичных рейкаст в котором raycasting определяет линию с помощью источника и направления.
Эта функция возвращает объект RaycastHit2D, когда линия контактирует с Collider в Scene. layerMask может использоваться для выборочного обнаружения объектов только на определенных слоях (это позволяет применять обнаружение только к вражеским персонажам, например). Направление линии предполагается простирающимся от начальной точки до конечной точки. Будет отображаться только первый Collider, встреченный в этом направлении. Хотя ось Z не имеет значения для отображения или столкновений в 2D, вы можете использовать minDepth и maxDepth параметры для фильтрации объектов на основе их координат Z.
Linecasts полезны для определения линий обзора, целей, пораженных огнём и для многих других целей в игре.
Обратите внимание, что эта функция выделит память для возвращаемого объекта RaycastHit2D.
Кроме того, это также обнаружит Collider(s) в начале линии. В этом случае линия начинается внутри Collider и не пересекает поверхность Collider. Это означает, что нормаль столкновения не может быть рассчитана, в этом случае возвращаемая нормаль столкновения устанавливается на обратную величину тестируемого вектора линии. Это легко обнаружить, так как такие результаты всегда находятся в RaycastHit2D доле от нуля.
NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является ближайшим.
Дополнительные ресурсы: LayerMask class, RaycastHit2D class, LinecastAll, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers.
Declaration
public static int Linecast(Vector2 start, Vector2 end, ContactFilter2D contactFilter, RaycastHit2D[] results);Параметры
| Параметр | Описание |
|---|---|
| начало | Начальная точка линии в мировом пространстве. |
| конец | Конечная точка линии в мировом пространстве. |
| contactFilter | Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу. |
| результаты | Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены. |
Возвращаемое значение
инт Возвращает число результатов, помещенных в массив results.
Описание
Запускает сегмент линии против коллайдеров в Scene с результатами, отфильтрованными по ContactFilter2D.
Перегрузки этой функции с параметром contactFilter могут фильтровать возвращаемые результаты по параметрам в ContactFilter2D.
NOTE: Все результаты сортируются в порядке возрастания расстояния i.e. первый результат является ближайшим.
Дополнительные ресурсы: ContactFilter2D и RaycastHit2D.
Declaration
public static int Linecast(Vector2 start, Vector2 end, ContactFilter2D contactFilter, List<RaycastHit2D> results);Параметры
| Параметр | Описание |
|---|---|
| начало | Начальная точка линии в мировом пространстве. |
| конец | Конечная точка линии в мировом пространстве. |
| contactFilter | Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу. |
| результаты | Список для получения результатов. |
Возвращаемое значение
инт Возвращает число результатов, помещенных в список results.
Описание
Запускает сегмент линии против коллайдеров в Scene с результатами, отфильтрованными по ContactFilter2D.
Возвращаемое целое число представляет собой число результатов, записанных в список results. Список результатов будет изменен, если в нем не будет достаточно элементов для отображения всех результатов. Это предотвращает выделение памяти для результатов, когда список results не нуждается в изменении размера, и повышает производительность сбора мусора, когда запрос выполняется часто.
Результаты также могут быть отфильтрованы по contactFilter.
NOTE: Все результаты сортируются по возрастающему расстоянию i.e. первый результат является ближайшим.
Дополнительные ресурсы: ContactFilter2D и RaycastHit2D.