Объявление
public void SetSubMeshes(SubMeshDescriptor[] desc, int start, int count, Rendering.MeshUpdateFlags flags);public void SetSubMeshes(SubMeshDescriptor[] desc, Rendering.MeshUpdateFlags flags);
public void SetSubMeshes(List
public void SetSubMeshes(List
public void SetSubMeshes(NativeArray
public void SetSubMeshes(NativeArray
Параметры
desc | Массив или список дескрипторов данных подсети. |
start | Индекс первого элемента, который нужно взять из массива или списка в desc . |
count | Количество элементов, которые нужно взять из массива или списка в desc . |
flags | (Необязательно) Флаги, управляющие поведением функции, см. MeshUpdateFlags. |
Описание
Задает информацию, определяющую все вложенные сетки в этой сетке, заменяя любые существующие вложенные сетки.
Обратите внимание, что SetSubMeshes, SetSubMesh, SubMeshDescriptor и SetIndexBufferData рассчитаны на максимальную производительность. Эти функции работают с базовыми структурами данных сетки, включая необработанные индексные буферы, вершинные буферы и данные подмножества сетки. Когда вы используете эти методы, Unity выполняет очень небольшую проверку данных, поэтому вы должны убедиться, что ваши данные действительны.
В частности, необходимо убедиться, что диапазоны индексов SubMeshDescriptor и значения SubMeshDescriptor.topology установить правильные значения. Индексы SubMesh, как indexStart, так и indexCount, не должны пересекаться ни с какими другими индексами SubMesh.
Информацию о разнице между более простыми и более сложными методами назначения данных в Mesh из скрипта см. в разделе Mesh.
границы, firstVertex и vertexCount значения SubMeshDescriptor вычисляются автоматически с помощью SetSubMeshes
, если только MeshUpdateFlags Флаг .DontRecalculateBounds передан.
Общая схема использования:
var mesh = new Mesh();
// установка данных буфера вершин
mesh.vertices = ...;
// устанавливаем индексный буфер
mesh.SetIndexBufferParams(...);
mesh.SetIndexBufferData(...);
// настройка информации о подмножествах сетки
SubMeshDescriptor[] sm = new SubMeshDescriptor[] {...}
m.SetSubMeshes(sm);
Подробнее о том, какие данные нужно настроить для каждой вложенной сетки, см. в разделе SubMeshDescriptor.
Смотрите так же: subMeshCount, GetSubMesh, SetSubMesh, SetIndexBufferParams, SetIndexBufferData, MeshUpdateFlags.