Описание
Используйте эту структуру, чтобы настроить команду box cast, которая будет выполняться асинхронно во время задания.
Когда вы используете эту структуру для планирования пакета приведения блоков, приведения блоков будут выполняться асинхронно и параллельно. Результаты каждого броска поля записываются в буфер результатов. Поскольку результаты записываются асинхронно, вы не можете получить доступ к буферу результатов, пока задание не будет завершено.
Результат команды с индексом N в буфере команд сохраняется с индексом N в буфере результатов.
Смотрите так же: Physics.Boxcast.
using Unity.Collections;
using Unity.Jobs;
using UnityEngine;
public class Example : MonoBehaviour
{
private void BoxcastExample()
{
// Perform a single boxcast using BoxcastCommand and wait for it to complete
// Настраиваем буферы команд и результатов
var results = new NativeArray<RaycastHit>(1, Allocator.Temp);
var commands = new NativeArray<BoxcastCommand>(1, Allocator.Temp);
// Set the data of the first command
Vector3 center = Vector3.zero;
Vector2 halfExtents = Vector3.one * 0.5f;
Quaternion orientation = Quaternion.identity;
Vector3 direction = Vector3.forward;
commands[0] = new BoxcastCommand(center, halfExtents, orientation, direction);
// Расписание партии бокскастов
var handle = BoxcastCommand.ScheduleBatch(commands, results, 1, default(JobHandle));
// Wait for the batch processing job to complete
handle.Complete();
// Copy the result. If batchedHit.collider is null there was no hit
RaycastHit batchedHit = results[0];
// Dispose the buffers
results.Dispose();
commands.Dispose();
}
}
Свойства
center | Центр коробки. |
direction | Направление, в котором нужно подметать коробку. |
distance | Максимальное расстояние развертки. |
halfExtents | Половина размера коробки в каждом измерении. |
layerMask | Маска слоя, которая используется для выборочного игнорирования коллайдеров при создании поля. |
orientation | Вращение коробки. |
Конструкторы
BoxcastCommand | Создает BoxcastCommand. |
Статические Методы
ScheduleBatch | Планирует выполнение пакета boxcasts в задании. |