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

Объявление

public RaycastHit2D Linecast(Vector2 start, Vector2 end, int layerMask = Physics2D.DefaultRaycastLayers);

public RaycastHit2D Linecast(Vector2 start, Vector2 end, ContactFilter2D contactFilter);

Параметры

start Начальная точка линии в мировом пространстве.
end Конечная точка линии в мировом пространстве.
layerMask Фильтр, используемый для обнаружения коллайдеров только на определенных слоях.
contactFilter Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу.

Возвращает

RaycastHit2D Результаты броска возвращены.

Описание

Отбрасывает сегмент линии против коллайдеров в PhysicsScene2D, возвращая только первое пересечение.

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

Эта функция возвращает объект RaycastHit2D, когда линия касается Collider2D в сцене. Предполагается, что направление линии простирается от начальной точки до конечной точки. Будет сообщено только о первом обнаруженном коллайдере в этом направлении.

Маска layerMask может использоваться для выборочного обнаружения объектов только на определенных слоях (например, это позволяет применять обнаружение только к вражеским персонажам). Перегрузки этого метода, использующие contactFilter, могут фильтровать результаты с помощью параметров, доступных в ContactFilter2D.

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

Смотрите так же: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.


Объявление

public int Linecast(Vector2 start, Vector2 end, RaycastHit2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);

public int Linecast(Vector2 start, Vector2 end, ContactFilter2D contactFilter, RaycastHit2D[] results);

Параметры

start Начальная точка линии в мировом пространстве.
end Конечная точка линии в мировом пространстве.
results Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены..
layerMask Фильтр, используемый для обнаружения коллайдеров только на определенных слоях.
contactFilter Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу.

Возвращает

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

Описание

Отбрасывает сегмент линии против коллайдеров в PhysicsScene2D.

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

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

Маска layerMask может использоваться для выборочного обнаружения объектов только на определенных слоях (например, это позволяет применять обнаружение только к вражеским персонажам). Перегрузки этого метода, использующие contactFilter, могут фильтровать результаты с помощью параметров, доступных в ContactFilter2D.

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

Все результаты отсортированы по возрастанию расстояния.

Смотрите так же: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.


Объявление

public int Linecast(Vector2 start, Vector2 end, ContactFilter2D contactFilter, List results);

Параметры

start Начальная точка линии в мировом пространстве.
end Конечная точка линии в мировом пространстве.
contactFilter Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу.
results Список для получения результатов.

Возвращает

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

Описание

Применяет отрезок линии к коллайдерам в PhysicsScene2D.

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

Целое возвращаемое значение — это количество результатов, записанных в список results. Список результатов будет изменен, если он не содержит достаточного количества элементов для отчета обо всех результатах. Это предотвращает выделение памяти для результатов, когда нет необходимости изменять размер списка results, и повышает производительность сборки мусора при частом выполнении запроса.

Результаты также можно отфильтровать с помощью contactFilter. Все результаты отсортированы по возрастанию расстояния.

Смотрите также: PhysicsScene2D и RaycastHit2D.

Все результаты отсортированы по возрастанию расстояния.

Смотрите так же: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.

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