Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Physics.OverlapSphereNonAlloc

Объявление

public static int OverlapSphereNonAlloc(Vector3 position, float radius, Collider[] results, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);

Параметры

position Центр сферы.
radius Радиус сферы.
results Буфер для хранения результатов.
layerMask Маска слоя определяет, какие слои коллайдеров включать в запрос.
queryTriggerInteraction Указывает, должен ли этот запрос вызывать триггеры.

Возвращает

int Возвращает количество коллайдеров, сохраненных в буфере results.

Описание

Рассчитывает и сохраняет коллайдеры, соприкасающиеся со сферой или находящиеся внутри нее, в указанный буфер.

Не пытается увеличить буфер, если в нем заканчивается место. Длина буфера возвращается, когда буфер заполнен. Аналогично Physics.OverlapSphere, но не создает мусора.

Смотрите так же: Physics.AllLayers.

using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void ExplosionDamage(Vector3 center, float radius) { int maxColliders = 10; Collider[] hitColliders = new Collider[maxColliders]; int numColliders = Physics.OverlapSphereNonAlloc(center, radius, hitColliders); for (int i = 0; i < numColliders; i++) { hitColliders[i].SendMessage("AddDamage"); } } }

Посмотрите так же: Маска слоя, в частности "Выборочное наложение лучей" для подробного примера маскирования слоя.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3