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

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.