Объявление
public static RaycastHit2D BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, float distance = Mathf.Infinity, int layerMask = Physics2D.AllLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);Параметры
origin | Точка в 2D-пространстве, откуда начинается поле. |
size | Размер коробки. |
angle | Угол коробки (в градусах). |
direction | Вектор, представляющий направление блока. |
distance | Максимальное расстояние, на которое можно забросить ящик. |
layerMask | Фильтр для обнаружения коллайдеров только на определенных слоях. |
minDepth | Включает только объекты с координатой Z (глубиной) больше или равной этому значению. |
maxDepth | Включает только объекты с координатой Z (глубиной) меньше или равной этому значению. |
Возвращает
RaycastHit2D Результаты броска возвращены.
Описание
Применяет поле к коллайдерам в сцене, возвращая первый коллайдер, который с ним соприкоснется.
Концептуально BoxCast подобен перетаскиванию ящика по сцене в определенном направлении. Любой объект, вступивший в контакт с коробкой, может быть обнаружен и отправлен в отчет.
Эта функция возвращает объект RaycastHit2D со ссылкой на затронутый коллайдер. полем (свойство Collider результата будет NULL, если ничего не было поражено). layerMask можно использовать для выборочного обнаружения объектов только на определенных слоях (например, это позволяет применить обнаружение только к вражеским персонажам).
Возвращенный RaycastHit2D возвращает и точку, и нормаль контакта, где поле коснется коллайдера. Он также возвращает центроид, в котором поле должно быть расположено, чтобы оно соприкасалось в этой точке.
BoxCast имеет параметр size
. Это определяет размер коробки. Коробка стреляет по миру. Чем больше поле, тем больше игровых объектов будет поражено.
BoxCast также имеет параметр angle
. Ящик, который стреляет сквозь элементы в игре, можно вращать. Это означает, что столкновение между BoxCast и GameObject труднее наблюдать.
Переменная BoxCast.direction определяет, как коробка движется в игре. Это двухмерная переменная, управляющая горизонтальным и вертикальным направлениями.
Distance определяет, насколько далеко от origin
перемещается Box. Он может взаимодействовать со многими Colliders
или ни с одним. В этих случаях ближайший объект Collider2D предоставляет значения, установленные в переменной RaycastHit2D. Если Collider2D
не срабатывает, возвращается NULL.
Смотрите так же: LayerMask class, RaycastHit2D class, BoxCastAll, BoxCastNonAlloc, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers.
Объявление
public static int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, ContactFilter2D contactFilter, RaycastHit2D[] results, float distance = Mathf.Infinity);Параметры
origin | Точка в 2D-пространстве, откуда начинается поле. |
size | Размер коробки. |
angle | Угол коробки (в градусах). |
direction | Вектор, представляющий направление блока. |
distance | Максимальное расстояние, на которое можно забросить ящик. |
results | Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены. |
contactFilter | Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу. |
Возвращает
int Возвращает количество результатов, помещенных в массив results
.
Описание
Применяет поле к коллайдерам в сцене и возвращает все коллайдеры, соприкасающиеся с ним.
Концептуально BoxCast подобен перетаскиванию ящика по сцене в определенном направлении. Любой коллайдер, вступивший в контакт с коробкой, может быть обнаружен и сообщен об этом.
Эта функция возвращает количество найденных контактов и помещает эти контакты в массив results
. Результаты также можно отфильтровать с помощью contactFilter
.
Смотрите так же: ContactFilter2D and RaycastHit2D.
Объявление
public static int BoxCast(Vector2 origin, Vector2 size, float angle, Vector2 direction, ContactFilter2D contactFilter, ListПараметры
origin | Точка в 2D-пространстве, откуда начинается поле. |
size | Размер коробки. |
angle | Угол коробки (в градусах). |
direction | Вектор, представляющий направление коробки. |
contactFilter | Контактный фильтр, используемый для различной фильтрации результатов, например, по маске слоя, глубине Z или нормальному углу. |
results | Список для получения результатов. |
distance | Максимальное расстояние, на которое можно забросить ящик. |
Возвращает
int Возвращает количество результатов, помещенных в список results
.
Описание
Применяет поле к коллайдерам в сцене и возвращает все коллайдеры, соприкасающиеся с ним.
Концептуально BoxCast подобен перетаскиванию ящика по сцене в определенном направлении. Любой коллайдер, вступивший в контакт с коробкой, может быть обнаружен и сообщен об этом.
Целое возвращаемое значение — это количество результатов, записанных в список results
. Список результатов будет изменен, если он не содержит достаточного количества элементов для отчета обо всех результатах. Это предотвращает выделение памяти для результатов, когда нет необходимости изменять размер списка results
, и повышает производительность сборки мусора при частом выполнении запроса.
Результаты также можно отфильтровать с помощью contactFilter
.
Смотрите так же: ContactFilter2D and RaycastHit2D.