indices | 定义网格面的索引数组。 |
topology | 网格的拓扑结构,例如:三角形、线条、四边形、点等。请参见 MeshTopology。 |
submesh | 要修改的子网格。 |
calculateBounds | 在设置索引后计算子网格的边界框。Unity 默认执行此操作。当您想要使用现有的边界框并降低设置索引的 CPU 成本时,请使用 false。 |
baseVertex | 添加到所有顶点索引的可选顶点偏移量。 |
设置子网格的索引缓冲区。
子网格表示使用单个 Material 渲染的一系列三角形(或具有不同 MeshTopology 的索引)。当网格与具有多个材质的 Renderer 一起使用时,您应该确保每个材质有一个子网格。
SetTriangles 和 triangles 始终将网格设置为由三角形面组成。使用 SetIndices 创建由线条或点组成的网格。
可以使用 baseVertex
参数实现大于 65536 个顶点的网格,同时使用 16 位索引缓冲区,只要每个子网格索引在其自身的 65535 值范围内即可。例如,如果传递给 SetIndices 的索引缓冲区包含索引 10、11、12,并且 baseVertex
设置为 100000,则实际上将使用顶点 100010、100011 和 100012 进行渲染。
请注意,网格默认使用 16 位 indexFormat,即索引缓冲区中支持的最大值为 65535(即使使用 int[] 输入数据)。为了使用更大的索引缓冲区值,您应该首先将 indexFormat 设置为 IndexFormat.UInt32。
如果要更新 Mesh 的边界框,请在更新所有子网格后调用 Mesh.RecalculateBounds。
其他资源:subMeshCount、MeshTopology、indexFormat。
indices | 定义网格面的索引数组。 |
indicesStart | 要从输入数组中获取的第一个元素的索引。 |
indicesLength | 要从输入数组中获取的元素数量。 |
topology | 网格的拓扑结构,例如:三角形、线条、四边形、点等。请参见 MeshTopology。 |
submesh | 要修改的子网格。 |
calculateBounds | 在设置索引后计算子网格的边界框。Unity 默认执行此操作。当您想要使用现有的边界框并降低设置索引的 CPU 成本时,请使用 false。 |
baseVertex | 添加到所有顶点索引的可选顶点偏移量。 |
设置子网格的索引缓冲区,使用输入数组的一部分。
此方法的行为就像您使用从 indicesStart
索引开始并具有给定 indicesLength
长度的数组调用 SetIndices 一样。生成的子网格将具有 indicesLength
数量的顶点索引。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.