从点列表构建索引缓冲区


一号位
2025-01-07 11:54:51 (24天前)
  1. 我在2d空间中有一个点列表,我需要从它们构建一个顶点和索引缓冲区(我正在使用Unity)。我无法弄清楚如何以正确的顺序处理这些点。

星 …

2 条回复
  1. 0# 没身份别烦我 | 2019-08-31 10-32



    你的三角形数组将是




    1. 0, 1, 2
      1, 2, 3
      2, 3, 4
      3, 4, 5

    2. </code>


    5会让你失望,但你也只有4个三角形。



    在这种情况下,您需要包裹三角形



    我建议重新格式化你的三角形代:




    1. for(int i = 0; i < vertices0.Count; i++)
      {
      triangles0.Add(i);
      triangles0.Add((i + 1) % vertices0.Count);
      triangles0.Add((i + 2) % vertices0.Count);
      }

    2. </code>


    如果它们大于计数,则此处的模数运算符将“包裹”您的值。我还从顶点数中删除了-1,因为你实际上没有添加第五个三角形



    虽然它制作五角大楼但仍然没有制作星星,并输出以下三角形:




    1. 0,1,2
      1,2,3
      2,3,4
      3,4,0
      4,0,1

    2. </code>


    它也有很多重叠的三角形,但我相信你可以改进它来做你想做的事情


登录 后才能参与评论