PhysicsScene2D.CircleCast
Declaration
public RaycastHit2D CircleCast(Vector2 origin, float radius, Vector2 direction, float distance, int layerMask = Physics2D.DefaultRaycastLayers);public RaycastHit2D CircleCast(Vector2 origin, float radius, Vector2 direction, float distance, ContactFilter2D contactFilter);Параметры
| Параметр | Описание |
|---|---|
| происхождение | Точка в пространстве 2D, где начинается окружность. |
| радиус | Радиус окружности. |
| направление | Вектор, обозначающий направление, в котором должен проходить круг. |
| расстояние | Максимальное расстояние, на которое можно бросить круг. |
| layerMask | Фильтр используется для обнаружения коллайдеров только на определенных слоях. |
| contactFilter | Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу. |
Возвращаемое значение
RaycastHit2D Возвращаются результаты отливки.
Описание
Проводит окружность против коллайдеров в PhysicsScene2D, возвращая только первое пересечение.
Операцию "CircleCast" можно представить как перемещение окружности по сцене в заданном направлении. Любой Collider2D, соприкоснувшийся с ней, может быть обнаружен, а сведения о контакте — возвращены.
Функция возвращает объект RaycastHit2D со ссылкой на коллайдер, которого коснулась окружность. Если столкновения не было, свойство collider результата равно NULL. Результат также содержит точку и нормаль контакта, а также положение центра окружности в момент касания.
Параметр layerMask позволяет обнаруживать объекты только на выбранных слоях, например только персонажей-противников. Перегрузки метода с параметром contactFilter фильтруют результаты с помощью настроек из ContactFilter2D.
ПРИМЕЧАНИЕ: результаты отсортированы по возрастанию расстояния; ближайший результат находится первым.
Дополнительные ресурсы: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.
Declaration
public int CircleCast(Vector2 origin, float radius, Vector2 direction, float distance, RaycastHit2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);public int CircleCast(Vector2 origin, float radius, Vector2 direction, float distance, ContactFilter2D contactFilter, RaycastHit2D[] results);Параметры
| Параметр | Описание |
|---|---|
| происхождение | Точка в пространстве 2D, где начинается окружность. |
| радиус | Радиус окружности. |
| направление | Вектор, обозначающий направление, в котором должен проходить круг. |
| расстояние | Максимальное расстояние, на которое можно бросить круг. |
| результаты | Массив для получения результатов. Размер массива определяет максимальное количество результатов, которые могут быть возвращены. |
| layerMask | Фильтр используется для обнаружения коллайдеров только на определенных слоях. |
| contactFilter | Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу. |
Возвращаемое значение
инт Возвращает число результатов, помещенных в массив results.
Описание
Проводит окружность по коллайдерам в PhysicsScene2D, возвращая все пересечения.
CircleCast концептуально напоминает перемещение формы окружности через Scene в заданном направлении. Любой Collider2D, соприкасающийся с окружностью, можно обнаружить и включить в результаты.
Функция возвращает массив объектов RaycastHit2D со ссылкой на коллайдер, которого коснулась окружность (если попадания не было, свойство collider результата равно NULL). Каждый объект содержит точку и нормаль контакта, в котором окружность коснулась бы коллайдера. Также возвращается центроид положения окружности, при котором она соприкоснётся с коллайдером в этой точке.
Возвращаемое целое число — количество объектов, пересекающих окружность (возможно, ноль). Однако размер массива результатов не увеличивается, если элементов в нём недостаточно для всех результатов. Благодаря этому для результатов не выделяется память, что повышает эффективность сборки мусора. При передаче пустого массива всегда возвращается ноль результатов.
Параметр layerMask позволяет выборочно обнаруживать объекты только на определённых слоях (например, выполнять проверку только для вражеских персонажей). Перегрузки этого метода, использующие contactFilter, позволяют фильтровать результаты с помощью параметров, доступных в ContactFilter2D.
ПРИМЕЧАНИЕ: Все результаты отсортированы по возрастанию расстояния, то есть первым идёт ближайший результат.
Дополнительные ресурсы: PhysicsScene2D, RaycastHit2D, LayerMask, Physics2D.DefaultRaycastLayers, Physics2D.IgnoreRaycastLayer, Physics2D.queriesHitTriggers.
Declaration
public int CircleCast(Vector2 origin, float radius, Vector2 direction, float distance, ContactFilter2D contactFilter, List<RaycastHit2D> results);Параметры
| Параметр | Описание |
|---|---|
| происхождение | Точка в пространстве 2D, где начинается окружность. |
| радиус | Радиус окружности. |
| направление | Вектор, обозначающий направление, в котором должен проходить круг. |
| расстояние | Максимальное расстояние, на которое можно бросить круг. |
| contactFilter | Контактный фильтр используется для фильтрации результатов по-разному, например, по маске слоя, глубине Z или нормальному углу. |
| результаты | Список для получения результатов. |
Возвращаемое значение
инт Возвращает число результатов, помещенных в список results.
Описание
Проводит окружность против коллайдеров в PhysicsScene2D, возвращая все пересечения.
A "CircleCast" концептуально похоже на перетаскивание окружности через Scene в определенном направлении. Любой Collider2D контакт с кругом может быть обнаружен и сообщается.
Целое возвращаемое значение — это число результатов, записанных в results список. Размер списка результатов будет изменен, если он не содержит достаточно элементов для отображения всех результатов. Это предотвращает выделение памяти для результатов, когда results список не нуждается в изменении размера, и улучшает производительность сбора мусора, когда запрос выполняется часто.
Результаты могут быть также отфильтрованы по contactFilter.
NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является наиболее близким.
Дополнительные ресурсы: PhysicsScene2D и RaycastHit2D.