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

SpherecastCommand

структура в UnityEngine

Выполнено в:UnityEngine.PhysicsModule

Описание

Используйте эту структуру для настройки команды приведения сферы, выполняемой асинхронно внутри задания.

Когда с помощью этой структуры вы планируете пакет приведений сферы, они выполняются асинхронно и параллельно друг другу. Результат каждого приведения записывается в буфер результатов. Поскольку запись асинхронна, обращаться к буферу результатов можно только после завершения задания.

Результаты для команды с индексом N в буфере команд хранятся в индексе N * maxHits в буфере результатов.

Команда Spherecast также позволяет вам управлять тем, генерируют ли коллайдеры Trigger и треугольники с обратной стороной попадание. QueryParameters для управления флагами попаданий.

Примечание: В профиле регистрируется только BatchQuery.ExecuteSpherecastJob. Информация о количестве запросов не регистрируется.

Дополнительные ресурсы: Physics.Spherecast.

using Unity.Collections;
using Unity.Jobs;
using UnityEngine;

public class SpherecastExample : MonoBehaviour { void Start() { // Perform a single sphere cast using SpherecastCommand and wait for it to complete // Set up the command and result buffers var results = new NativeArray<RaycastHit>(2, Allocator.TempJob); var commands = new NativeArray<SpherecastCommand>(1, Allocator.TempJob);

// Set the data of the first command Vector3 origin = Vector3.forward * -10; Vector3 direction = Vector3.forward; float radius = 0.5f;

commands[0] = new SpherecastCommand(origin, radius, direction, QueryParameters.Default);

// Schedule the batch of sphere casts var handle = SpherecastCommand.ScheduleBatch(commands, results, 1, 2, default(JobHandle));

// Wait for the batch processing job to complete handle.Complete();

// If batchedHit.collider is not null there was a hit foreach (var hit in results) { if (hit.collider != null) { // Do something with results } }

// Dispose the buffers results.Dispose(); commands.Dispose(); } }

Свойства

Свойство Описание
directionНаправление брошенной сферы.
distanceМаксимальное расстояние, на котором сфера должна проверять столкновения.
originНачальная точка сферы, отображаемая в мировых координатах.
physicsSceneСцена физики, в которой запускается эта команда.
queryParametersСтруктура для указания дополнительных параметров для пакетного запроса, таких как маска слоя, триггеры попаданий и задние поверхности попаданий.
radiusРадиус сферы литья.

Конструкторы

Конструктор Описание
SpherecastCommandСоздает SpherecastCommand.

Статические методы

Метод Описание
ScheduleBatchРасписывает пакет отливок сферы для выполнения в задании.