Physics.OverlapSphere
Declaration
public static Collider[] OverlapSphere(Vector3 position, float radius, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);Параметры
| Параметр | Описание |
|---|---|
| должность | Центр сферы. |
| радиус | Радиус сферы. |
| layerMask | Маска слоя Маска слоя определяет, какие слои коллайдеров включить в запрос. |
| queryTriggerInteraction | Указывает, должен ли этот запрос вызывать триггеры. |
Возвращаемое значение
Collider[] Возвращает массив со всеми коллайдерами, касающимися или находящимися внутри сферы.
Описание
Вычисляет и хранит коллайдеры, касающиеся или внутри сферы.
Дополнительные ресурсы: Physics.AllLayers. Выделяет память. Рассмотрите возможность использования Physics.OverlapSphereNonAlloc вместо этого.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void ExplosionDamage(Vector3 center, float radius) { Collider[] hitColliders = Physics.OverlapSphere(center, radius); foreach (var hitCollider in hitColliders) { hitCollider.SendMessage("AddDamage"); } } }
Дополнительные ресурсы: Схема лучевой проекции с разделом слоев Использование слоев в Unity.