MeshDataArray
структура в UnityEngine
Выполнено в:UnityEngine.CoreModule
Описание
Массив снимков данных Mesh для доступа к C# Job System.
Доступ к большинству объектов Unity не защищен от потоков, поэтому для эффективной обработки или создания мешей из системы заданий C# используйте MeshDataArray и MeshData Структуры.
Вы можете использовать Mesh.AcquireReadOnlyMeshData для доступа только для чтения к данным меши нескольких мешей; и
Mesh.AllocateWritableMeshData вместе с Mesh.ApplyAndDisposeWritableMeshData для создания новых мешей.
Одинокий MeshDataArray структура представляет снимок данных сразу нескольких мешей. Используйте Length и оператор индекса для доступа к данным отдельных Mesh. Выделение памяти и C# Job System безопасности отслеживания встроен в MeshDataArray структуре, поэтому издержки на отслеживание минимальны при одновременной работе с несколькими мешами. Поэтому гораздо эффективнее использовать одну MeshDataArray/
структуру для нескольких мешей, чем работать с несколькими отдельными структурами.
Важно устранить MeshDataArray структуру, когда закончите с ней работать. Используйте
Dispose чтобы освободить структуру, когда закончите с ней работать, либо воспользуйтесь оператором C# using шаблон, чтобы сделать это автоматически:
using Unity.Collections; using UnityEngine; public class ExampleScript : MonoBehaviour { void Start() { var mesh = new Mesh(); mesh.vertices = new[] {Vector3.one, Vector3.zero}; using (var dataArray = Mesh.AcquireReadOnlyMeshData(mesh)) { var data = dataArray[0]; // prints "2" Debug.Log(data.vertexCount); var gotVertices = new NativeArray<Vector3>(mesh.vertexCount, Allocator.TempJob); data.GetVertices(gotVertices); // prints "(1.0, 1.0, 1.0)" and "(0.0, 0.0, 0.0)" foreach (var v in gotVertices) Debug.Log(v); gotVertices.Dispose(); } } }
Дополнительные ресурсы: ,Mesh.AcquireReadOnlyMeshData,, ,Mesh.AllocateWritableMeshData,, ,Mesh.ApplyAndDisposeWritableMeshData,, ,MeshData,.
Свойства
| Свойство | Описание |
|---|---|
| Length | Число элементов данных сетки в MeshDataArray. |
| это[int] | Доступ к элементу MeshDataArray по индексу. |
Открытые методы
| Метод | Описание |
|---|---|
| Dispose | С помощью этого метода освобождается структура MeshDataArray. |