Объявление
public void SetIndexBufferData(NativeArraypublic void SetIndexBufferData(T[] data, int dataStart, int meshBufferStart, int count, Rendering.MeshUpdateFlags flags);
public void SetIndexBufferData(List
Параметры
data | Массив данных индексного буфера. |
dataStart | Первый элемент данных для копирования. |
meshBufferStart | Первый элемент в буфере индекса сетки для получения данных. |
count | Количество индексов для копирования. |
flags | Флаги, управляющие поведением функции, см. MeshUpdateFlags. |
Описание
Устанавливает данные индексного буфера сетки.
Примечание. Этот метод предназначен для опытных пользователей, стремящихся к максимальной производительности, поскольку он работает с базовыми структурами данных сетки, которые в основном работают с буферами необработанных индексов, буферами вершин и данными подмножества сетки. Используя этот метод, Unity выполняет очень небольшую проверку данных, поэтому вы должны убедиться, что ваши данные действительны.
В частности, необходимо убедиться, что диапазон индекса SubMesh и топология обновлены с помощью SetSubMesh.
По умолчанию массив индексных буферов data
проверяется на наличие индексов, выходящих за границы. Для параметра flags
можно задать значение MeshUpdateFlags.DontValidateIndices.
чтобы отключить проверку по соображениям производительности.
Информацию о разнице между более простыми и более сложными методами присвоения данных Mesh из скрипта см. в примечаниях на странице Mesh.
Общая схема использования:
var mesh = new Mesh();
// setup vertex buffer data
mesh.vertices = ...;
// set index buffer
mesh.SetIndexBufferParams(...);
mesh.SetIndexBufferData(...);
// setup information about mesh subsets
mesh.subMeshCount = ...;
mesh.SetSubMesh(index, ...);
Смотрите так же: SetIndexBufferParams, subMeshCount, SetSubMesh, SetVertexBufferData, MeshUpdateFlags, AcquireReadOnlyMeshData.