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

Объявление

public NativeArray GetVertexData(int stream = 0);

Параметры

stream Поток буфера вершин, для которого нужно получить данные. Значение по умолчанию — 0.

Возвращает

NativeArray Возвращает NativeArray, содержащий данные буфера вершин.

Описание

Получает необработанные данные для заданного формата потока буфера вершин в MeshData.

GetVertexData возвращает прямой "указатель" на необработанные данные буфера вершин без каких-либо выделений памяти, копий данных или преобразований. Вам не нужно удалять возвращенный NativeArray, так как он не представляет новое выделение памяти.

Для этого вам необходимо знать точное расположение данных сетки: например, наличие и форматы всех атрибутов вершин сетки. Макет данных соответствует макету из Mesh.SetVertexBufferData.

Если MeshData доступен для записи, и вы установили размер и расположение буфера вершин с помощью Mesh.MeshData.SetVertexBufferParams, вы можете записывать данные вершин прямо в массив. Если MeshData доступен только для чтения, массив доступен только для чтения.

Смотрите так же: Mesh.AllocateWritableMeshData, Mesh.AcquireReadOnlyMeshData, Mesh.MeshData.SetVertexBufferParams.

using UnityEngine; public class ExampleScript : MonoBehaviour { struct Vertex { public Vector3 pos; public Vector2 uv; } void Start() { var mesh = new Mesh(); mesh.vertices = new[] {Vector3.one, Vector3.up}; mesh.uv = new[] {Vector2.right, Vector2.up}; using (var data = Mesh.AcquireReadOnlyMeshData(mesh)) { var verts = data[0].GetVertexData<Vertex>(); // prints "pos (1.0, 1.0, 1.0) uv (1.0, 0.0)" and "pos (0.0, 1.0, 0.0) uv (0.0, 1.0)" foreach (var v in verts) Debug.Log($"pos {v.pos} uv {v.uv}"); } } }

Смотрите так же: Mesh.SetVertexBufferParams, Mesh.SetVertexBufferData, GetIndexData, Mesh.AcquireReadOnlyMeshData.

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