Unity 6.3
0 онлайн 75 гостей 3 в системе
Вход

PhysicsScene2D.CapsuleCast

Declaration

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);

Параметры

Параметр Описание
происхождение Точка в пространстве 2D, где начинается капсула.
размер Размер капсулы.
capsuleDirection Направление капсулы.
угол Угол капсулы (в градусах).
направление Вектор, обозначающий направление для запуска капсулы.
расстояние Максимальное расстояние, на которое может быть брошена капсула.
layerMask Фильтр используется для обнаружения коллайдеров только на определенных слоях.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу.

Возвращаемое значение

RaycastHit2D Возвращаются результаты отливки.

Описание

Бросает капсулу на коллайдеры в PhysicsScene2D, возвращая только первое пересечение.

Операцию CapsuleCast можно представить как перемещение капсулы по сцене в заданном направлении. Любой Collider2D, соприкоснувшийся с ней, может быть обнаружен, а сведения о контакте — возвращены.

Функция возвращает объект RaycastHit2D со ссылкой на коллайдер, которого коснулась капсула. Если столкновения не было, свойство collider результата равно NULL. Результат также содержит точку и нормаль контакта, а также положение центра капсулы в момент касания.

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

ПРИМЕЧАНИЕ: результаты отсортированы по возрастанию расстояния; ближайший результат находится первым.

Дополнительные ресурсы: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.

Declaration

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);

Параметры

Параметр Описание
происхождение Точка в пространстве 2D, где начинается капсула.
размер Размер капсулы.
capsuleDirection Направление капсулы.
угол Угол капсулы (в градусах).
направление Вектор, обозначающий направление для запуска капсулы.
расстояние Максимальное расстояние, на которое может быть брошена капсула.
результаты Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены.
layerMask Фильтр используется для обнаружения коллайдеров только на определенных слоях.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу.

Возвращаемое значение

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

Описание

Бросает капсулу на коллайдеры в PhysicsScene2D, возвращая все пересечения.

CapsuleCast концептуально напоминает перемещение формы капсулы через Scene в заданном направлении. Любой Collider2D, соприкасающийся с капсулой, можно обнаружить и включить в результаты.

Функция возвращает массив объектов RaycastHit2D со ссылкой на коллайдер, которого коснулась капсула (если попадания не было, свойство collider результата равно NULL). Каждый объект содержит точку и нормаль контакта, в котором капсула коснулась бы коллайдера. Также возвращается центроид положения капсулы, при котором она соприкоснётся с коллайдером в этой точке.

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

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

ПРИМЕЧАНИЕ: Все результаты отсортированы по возрастанию расстояния, то есть первым идёт ближайший результат.

Дополнительные ресурсы: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.

Declaration

public int CapsuleCast(Vector2 origin, Vector2 size, CapsuleDirection2D capsuleDirection, float angle, Vector2 direction, float distance, ContactFilter2D contactFilter, List<RaycastHit2D> results);

Параметры

Параметр Описание
происхождение Точка в пространстве 2D, где начинается капсула.
размер Размер капсулы.
capsuleDirection Направление капсулы.
угол Угол капсулы (в градусах).
направление Вектор, обозначающий направление для запуска капсулы.
расстояние Максимальное расстояние, на которое может быть брошена капсула.
contactFilter Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу.
результаты Список для получения результатов.

Возвращаемое значение

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

Описание

Бросает капсулу на коллайдеры в PhysicsScene2D, возвращая все пересечения.

A CapsuleCast это концептуально как перетаскивание формы капсулы через Scene в определенном направлении. Любой Collider контакт с капсулой может быть обнаружен и сообщен.

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

Результаты могут быть также отфильтрованы по contactFilter.

NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является наиболее близким.

Дополнительные ресурсы: PhysicsScene2D и RaycastHit2D.