计算程序生成的圆网格的uv纹理坐标

时间:2014-08-23 19:51:51

标签: c# mesh texture-mapping procedural-generation

我正在尝试计算我在代码中生成的网格的uv。这是一个非常简单的圈子(2d)

enter image description here

我希望将其纹理化如下

enter image description here

并将此代码用于uvs

uvs[i] = new Vector2((verts[i].x+radius)/(radius), (verts[i].y+radius)/(2*radius));

,中心顶点为(0.5f,0.5f)

但是我的图像变形了。 (在答案帮助后编辑照片,但仍然拉长)

enter image description here

有人可以帮忙吗?提前致谢

1 个答案:

答案 0 :(得分:3)

这个怎么样:

让我们假设中心顶点的坐标是(centerX,centerY)

uvs[i] = new Vector2(0.5f +(verts[i].x-centerX)/(2*radius), 
                             0.5f + (verts[i].y-centerY)/(2*radius));