public void SetNextIndex (ushort index);

参数

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 以避免冗余工作。