Version: 2023.1

Mesh.SetIndexBufferParams

切换到手册
public void SetIndexBufferParams (int indexCount, Rendering.IndexFormat format);

参数

indexCount 索引缓冲区的大小。
format 索引的格式。

描述

设置索引缓冲区大小和格式。

注意:此方法面向旨在实现最高性能的高级用户,因为它在主要适用于原始索引缓冲区、顶点缓冲区和网格子集数据的基础网格数据结构上运行。Unity 使用此方法可执行非常少的数据验证,因此必须确保数据有效。

特别是必须确保索引缓冲区不包含越界索引, 并且通过 SetSubMesh 更新子网格索引范围和边界。

有关从脚本向网格分配数据的较简单方法与较高级方法之间差异的信息,请参阅 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

If the index buffer size exceeds the maximum buffer size that the device supports, the method raises an exception. For more information, see SystemInfo.maxGraphicsBufferSize.

See Also: SetIndexBufferData, subMeshCount, SetSubMesh, SetSubMeshes.