Объявление
public static int SphereCastNonAlloc(Vector3 origin, float radius, Vector3 direction, RaycastHit[] results, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);Параметры
origin | Центр сферы в начале развертки. |
radius | Радиус сферы. |
direction | Направление, в котором перемещать сферу. |
results | Буфер для сохранения обращений. |
maxDistance | Максимальная длина развертки. |
layerMask | Маска слоя, используемая для выборочного игнорирования коллайдеров при создании сферы. |
queryTriggerInteraction | Указывает, должен ли этот запрос вызывать триггеры. |
Возвращает
int Количество обращений, сохраненных в буфере results
.
Описание
Создайте сферу вдоль направления и сохраните результаты в буфере.
Это вариант Physics.SphereCastAll, но вместо выделения массива с результатами запроса он сохраняет результаты в предоставленный пользователем массив. Он будет вычислять столько попаданий, сколько помещается в буфер, и сохранять их в произвольном порядке. Не гарантируется, что он будет хранить только самые близкие совпадения. Не создает мусора.
Объявление
public static int SphereCastNonAlloc(Ray ray, float radius, RaycastHit[] results, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);Параметры
ray | Начальная точка и направление луча, на который направлена сферическая развертка. |
radius | Радиус сферы. |
results | Буфер для сохранения результатов. |
maxDistance | Максимальная длина развертки. |
layerMask | Маска слоя, используемая для выборочного игнорирования коллайдеров при создании сферы. |
queryTriggerInteraction | Указывает, должен ли этот запрос вызывать триггеры. |
Возвращает
int Количество обращений, сохраненных в буфере results
.
Описание
Создайте сферу вдоль направления и сохраните результаты в буфере.