public void SetSubMesh (int index, Rendering.SubMeshDescriptor desc, Rendering.MeshUpdateFlags flags);

参数

index子网格索引。请参阅 subMeshCount。超出范围索引会抛出异常。
desc子网格数据。
flags控制函数行为的标志,请参阅 MeshUpdateFlags

描述

设置有关网格的子网格的信息。

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

特别是必须确保 SubMesh 索引范围和拓扑设置为正确值。

有关从脚本向网格分配数据的较简单方法与较高级方法之间差异的信息,请参阅 Mesh 页面上的说明。

SubMeshDescriptorbounds、SubMeshDescriptor::pef::firstVertex 和 SubMeshDescriptor::pef::vertexCount 值 由 SetSubMesh 自动计算,除非传递 MeshUpdateFlags.DontRecalculateBounds 标志。

常规使用模式为:

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, ...);

有关为每个子网格设置的数据的详细信息,请参阅 SubMeshDescriptor

另请参阅:subMeshCountGetSubMeshSetIndexBufferParamsSetIndexBufferDataMeshUpdateFlags