index | 下一个索引的值。 |
分配已分配索引列表的下一个索引的值。
用于通过重复调用此函数以迭代方式填充已分配索引的值,直到提供所有值为止。这种填充索引数据的方式与 SetAllIndices 互斥。 每次调用此函数后,下一个索引的内部计数器都会自动递增。 当调用此方法时,无法使用 SetAllIndices 来填充分配的索引数组。 提供的索引值直接引用在同一 MeshWriteData 对象中分配的顶点。因此,索引 0 表示第一个顶点,索引 1 表示第二个顶点,依此类推。
using UnityEngine.UIElements; public class MyVisualElement : VisualElement { void MyGenerateVisualContent(MeshGenerationContext mgc) { var meshWriteData = mgc.Allocate(4, 6); // meshWriteData has been allocated with 6 indices for 2 triangles
// ... set the vertices
// Set indices for the first triangle meshWriteData.SetNextIndex(0); meshWriteData.SetNextIndex(1); meshWriteData.SetNextIndex(2);
// Set indices for the second triangle meshWriteData.SetNextIndex(2); meshWriteData.SetNextIndex(1); meshWriteData.SetNextIndex(3); } }
注意,调用 SetNextIndex 的次数少于分配的索引数将使其余索引具有随机值,因为 MeshGenerationContext.Allocate 不将返回的数据初始化为 0 以避免冗余工作。