Mesh.SetIndexBufferParams
Declaration
public void SetIndexBufferParams(int indexCount, Rendering.IndexFormat format);Параметры
| Параметр | Описание |
|---|---|
| indexCount | Размер буфера индекса. |
| формат | Формат индексов. |
Описание
Задает размер и формат буфера индекса.
Примечание: этот метод предназначен для опытных пользователей, которым нужна максимальная производительность, поскольку он работает с базовыми структурами данных меша, ориентированными прежде всего на необработанные буферы индексов, буферы вершин и данные подмешей. При вызове этого метода Unity проверяет очень малую часть данных, поэтому вы обязаны убедиться в их корректности.
В частности, убедитесь, что буфер индексов не содержит индексы вне границ, а диапазон индексов подмеша и его границы обновлены через SetSubMesh.
Сведения о различиях между более простыми и более сложными методами назначения данных 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, ...);
При изменении размера или формата буфера индекса subMeshCount возвращается к 1, а данные буфера индекса не инициализируются. Для установки значений используйте SetIndexBufferData.
Обратите внимание, что изменение значений subMeshCount на меньшее, чем было ранее, приводит к изменению размера буфера индекса. Новый размер буфера индекса устанавливается на SubMeshDescriptor.indexStart первой удаленной подсетки.
Если размер буфера индекса превышает максимальный размер буфера, поддерживаемый устройством, метод вызывает исключение. Дополнительные сведения см. в SystemInfo.maxGraphicsBufferSize.
Дополнительные ресурсы: SetIndexBufferData, subMeshCount, SetSubMesh, SetSubMeshes.