Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Physics2D.LinecastNonAlloc

Объявление

public static int LinecastNonAlloc(Vector2 start, Vector2 end, RaycastHit2D[] results, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

Параметры

minDepth Включайте только объекты с координатой Z (глубиной) больше или равной этому значению.
maxDepth Включайте только объекты с координатой Z (глубиной) меньше или равной этому значению.
start Начальная точка линии в мировом пространстве.
end Конечная точка линии в мировом пространстве.
results Возвращаемый массив объектов, пересекающих линию.
layerMask Фильтр для обнаружения коллайдеров только на определенных слоях.

Возвращает

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

Описание

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

linecast — это воображаемая линия между двумя точками в мировом пространстве. Любой объект, соприкасающийся с лучом, может быть обнаружен и сообщен. Это отличается от аналогичного raycast тем, что raycast задает линию, используя начало координат и направление.

Эта функция аналогична функции LinecastAll, за исключением того, что результаты возвращаются в предоставленном массиве. Целочисленное возвращаемое значение — это количество объектов, пересекающих линию (возможно, ноль), но размер массива результатов не будет изменен, если он не содержит достаточного количества элементов для отчета обо всех результатах. Значение этого заключается в том, что для результатов не выделяется память, поэтому производительность сборки мусора повышается при частом выполнении линейных трансляций. Предполагается, что линия проходит от начальной до конечной точки; Коллайдеры будут размещены в возвращаемом массиве в порядке удаления от начала строки.

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

Смотрите так же: LayerMask class, RaycastHit2D class, Linecast, LinecastAll, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3