Объявление
public RaycastHit2D BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, int layerMask = Physics2D.DefaultRaycastLayers);public RaycastHit2D BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter);
Параметры
origin | Точка в 2D-пространстве, откуда начинается прямоугольник. |
size | Размер коробки. |
angle | Угол коробки (в градусах). |
direction | Вектор, представляющий направление броска ящика. |
distance | Максимальное расстояние, на которое можно забросить ящик. |
layerMask | Фильтр для обнаружения коллайдеров только на определенных слоях. |
contactFilter | Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу. |
Возвращает
RaycastHit2D Результаты броска возвращены.
Описание
Применяет поле к коллайдерам в PhysicsScene2D, возвращая только первое пересечение.
Концептуально BoxCast подобен перетаскиванию прямоугольника через сцену в определенном направлении. Любой Collider2D, вступивший в контакт с коробкой, может быть обнаружен и сообщен об этом.
Эта функция возвращает объект RaycastHit2D со ссылкой на коллайдер, в который попал блок (свойство результата коллайдера будет равно NULL, если ничего не было затронуто) и содержит как точка, так и нормаль контакта, где коробка будет касаться коллайдера. Он также возвращает центроид, в котором поле должно быть расположено для контакта с коллайдером в этой точке.
Маска layerMask может использоваться для выборочного обнаружения объектов только на определенных слоях (например, это позволяет применять обнаружение только к вражеским персонажам). Перегрузки этого метода, использующие contactFilter
, могут фильтровать результаты с помощью параметров, доступных в ContactFilter2D.
Смотрите так же: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.
Объявление
public int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, RaycastHit2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);public int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter, RaycastHit2D[] results);
Параметры
origin | Точка в 2D-пространстве, откуда начинается прямоугольник. |
size | Размер коробки. |
angle | Угол коробки (в градусах). |
direction | Вектор, представляющий направление броска ящика. |
distance | Максимальное расстояние, на которое можно забросить ящик. |
results | Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены. |
layerMask | Фильтр для обнаружения коллайдеров только на определенных слоях. |
contactFilter | Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу. |
Возвращает
int Возвращает количество результатов, помещенных в массив results
.
Описание
Применяет поле к коллайдерам в PhysicsScene2D, возвращая все пересечения.
Концептуально BoxCast подобен перетаскиванию прямоугольника через сцену в определенном направлении. Любой Collider2D, вступивший в контакт с коробкой, может быть обнаружен и сообщен об этом.
Эта функция возвращает массив объектов RaycastHit2D со ссылкой на коллайдер, в который попал блок (свойство коллайдера результата будет NULL, если ничего был ударен) и содержит как точку, так и нормаль контакта, где ящик должен коснуться коллайдера. Он также возвращает центроид, в котором поле должно быть расположено для контакта с коллайдером в этой точке.
Возвращаемое целочисленное значение — это количество объектов, пересекающих поле (возможно, ноль), но размер массива результатов не будет изменен, если он не содержит достаточного количества элементов для отчета обо всех результатах. Значение этого заключается в том, что для результатов не выделяется память, что повышает производительность сборки мусора. Обратите внимание, что вы всегда получите нулевой результат, если передадите пустой массив.
Маска layerMask может использоваться для выборочного обнаружения объектов только на определенных слоях (например, это позволяет применять обнаружение только к вражеским персонажам). Перегрузки этого метода, использующие contactFilter
, могут фильтровать результаты с помощью параметров, доступных в ContactFilter2D.
Все результаты отсортированы по возрастанию расстояния.
Смотрите так же: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.
Объявление
public int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter, ListПараметры
origin | Точка в 2D-пространстве, откуда начинается прямоугольник. |
size | Размер коробки. |
angle | Угол коробки (в градусах). |
direction | Вектор, представляющий направление броска ящика. |
distance | Максимальное расстояние, на которое можно забросить ящик. |
contactFilter | Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу. |
results | Список для получения результатов. |
Возвращает
int Возвращает количество результатов, помещенных в список results
.
Описание
Применяет поле к коллайдерам в PhysicsScene2D, возвращая все пересечения.
Концептуально BoxCast подобен перетаскиванию прямоугольника через сцену в определенном направлении. Любой Collider2D, вступивший в контакт с коробкой, может быть обнаружен и сообщен об этом.
Целое возвращаемое значение — это количество результатов, записанных в список results
. Список результатов будет изменен, если он не содержит достаточного количества элементов для отчета обо всех результатах. Это предотвращает выделение памяти для результатов, когда нет необходимости изменять размер списка results
, и повышает производительность сборки мусора при частом выполнении запроса.
Результаты также можно отфильтровать с помощью contactFilter
. Все результаты отсортированы по возрастанию расстояния.
Смотрите так же: PhysicsScene2D and RaycastHit2D.