我正在基于曲线创建程序网格,如下图所示,整个曲线的网格尺寸都变小了。
问题是UV会随着大小的变化而呈锯齿状(当整个曲线的网格大小相同时,UV会完美地起作用)。
Vertices.Add(R);
Vertices.Add(L);
UVs.Add(new Vector2(0f, (float)id / count));
UVs.Add(new Vector2(1f, (float)id / count));
start = Vertices.Count - 4;
Triangles.Add(start + 0);
Triangles.Add(start + 2);
Triangles.Add(start + 1);
Triangles.Add(start + 1);
Triangles.Add(start + 2);
Triangles.Add(start + 3);
mesh.vertices = Vertices.ToArray();
//mesh.normals = normales;
mesh.uv = UVs.ToArray();
mesh.triangles = Triangles.ToArray();
我怎样才能解决这个问题?
id
是当前段在沿着该条的所有交叉开关中的索引,该交叉开关count
总共位于其中。List<T>.ToArray()
返回列表中所有条目的类型化数组(所以这里是a Vector2[]
)。通过在最后几行中将这些数据缓冲区分配给Mesh
实例mesh
,可以使这些数据缓冲区可用于渲染系统。但这不是代码中特别有趣的部分:如何选择顶点。这些细节将更有用。;)
count
实际上是指顶点而不是多边形,反之亦然。只要确保我们认为正在发生的一切都在进行。
id
和count
?怎么UVs.ToArray()
办?您如何将顶点和纹理坐标上传到卡?