indexCount | 索引缓冲区的大小。 |
format | 索引的格式。 |
设置索引缓冲区的大小和格式。
注意:此方法专为追求最大性能的高级用户设计,因为它操作的是底层网格数据结构,这些结构主要处理原始索引缓冲区、顶点缓冲区和网格子集数据。使用此方法时,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。