Mesh.SetTriangles
Declaration
public void SetTriangles(int[] triangles, int submesh, bool calculateBounds = true, int baseVertex = 0);public void SetTriangles(int[] triangles, int submesh, int meshLod, bool calculateBounds, int baseVertex);public void SetTriangles(List<int> triangles, int submesh, bool calculateBounds = true, int baseVertex = 0);public void SetTriangles(List<int> triangles, int submesh, int meshLod, bool calculateBounds, int baseVertex);public void SetTriangles(ushort[] triangles, int submesh, bool calculateBounds, int baseVertex);public void SetTriangles(ushort[] triangles, int submesh, int meshLod, bool calculateBounds, int baseVertex);public void SetTriangles(List<ushort> triangles, int submesh, bool calculateBounds, int baseVertex);public void SetTriangles(List<ushort> triangles, int submesh, int meshLod, bool calculateBounds, int baseVertex);Параметры
| Параметр | Описание |
|---|---|
| треугольники | Список индексов, определяющих треугольники. |
| субсетка | Подсетка для изменения. |
| calculateBounds | Рассчитать границу сетки после установки треугольников. Это делается по умолчанию. Используйте false, если вы хотите использовать существующую границу и уменьшить стоимость CPU установки треугольников. |
| baseVertex | Необязательное смещение вершины, которое добавляется ко всем индексам вершин треугольника. |
| meshLod | Сетка LOD для изменения. Используйте -1 для изменения всей подсетки. Если не указано, то LOD0 изменяется. |
Описание
Задает список треугольников для подсетки.
Подсетка представляет собой список треугольников, отображаемых с помощью одного Material. Когда Mesh используется с Renderer, имеющим несколько материалов, следует убедиться, что для каждого Материала имеется одна подсетка.
Рекомендуется назначить массив треугольников после назначения массива вершин, чтобы избежать ошибок вне пределов.
Аргумент baseVertex может быть использован для получения мешей, имеющих больше 65535 вершин при использовании 16-битных индексных буферов, если каждая подсетка вписывается в собственную вершинную область 65535. Например, если индексный буфер, переданный SetTriangles содержит индексы 10,11,12 и baseVertex, установлен на 100000, то для отображения будут использоваться вершины 100010, 100011 и 100012.
Обратите внимание, что по умолчанию меши используют 16-битные indexFormat, i.e. максимальное значение, поддерживаемое в индексном буфере, равняется 65535 (даже при использовании входных данных @int[]@). Чтобы использовать более большие значения индекса буфера, вы должны сначала установить indexFormat до IndexFormat.UInt32.
Дополнительные ресурсы: subMeshCount, SetIndices, indexFormat.
Declaration
public void SetTriangles(int[] triangles, int trianglesStart, int trianglesLength, int submesh, bool calculateBounds, int baseVertex);public void SetTriangles(int[] triangles, int trianglesStart, int trianglesLength, int submesh, int meshLod, bool calculateBounds, int baseVertex);public void SetTriangles(List<int> triangles, int trianglesStart, int trianglesLength, int submesh, int meshLod, bool calculateBounds, int baseVertex);public void SetTriangles(List<int> triangles, int trianglesStart, int trianglesLength, int submesh, bool calculateBounds, int baseVertex);public void SetTriangles(ushort[] triangles, int trianglesStart, int trianglesLength, int submesh, bool calculateBounds, int baseVertex);public void SetTriangles(ushort[] triangles, int trianglesStart, int trianglesLength, int submesh, int meshLod, bool calculateBounds, int baseVertex);public void SetTriangles(List<ushort> triangles, int trianglesStart, int trianglesLength, int submesh, bool calculateBounds, int baseVertex);public void SetTriangles(List<ushort> triangles, int trianglesStart, int trianglesLength, int submesh, int meshLod, bool calculateBounds, int baseVertex);Параметры
| Параметр | Описание |
|---|---|
| треугольники | Список индексов, определяющих треугольники. |
| trianglesStart | Индекс первого элемента, который будет взят из входного массива. |
| trianglesLength | Количество элементов, которые будут взяты из входного массива. |
| субсетка | Подсетка для изменения. |
| calculateBounds | Рассчитать границу сетки после установки треугольников. Это делается по умолчанию. Используйте false, если вы хотите использовать существующую границу и уменьшить стоимость CPU установки треугольников. |
| baseVertex | Необязательное смещение вершины, которое добавляется ко всем индексам вершин треугольника. |
Описание
Устанавливает список треугольников Mesh, используя часть входного массива.
Этот метод ведет себя так же, как если бы вы вызвали SetTriangles с массивом, который является фрагментом всего массива, начиная с индекса trianglesStart и имея заданную длину trianglesLength. Полученная Mesh имеет trianglesLength количество вершин. Полученная sub-mesh будет иметь trianglesLength/3 количество треугольников.