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