- Home /
Procedural Mesh UV Problem (UVs 'mirrored' instead of 'repeating')
I've been working on creating a concentric circle mesh, and I've hit a problem when trying to setup the UVs for it. Rather than 'repeating' or 'tiling' (as if all the quads were stacked on top of each other in UV space) the texture is mirrored. So instead of 'left-right/ left-right' I've got 'right-left / left-right".
My guess is that I actually have too few verts to support what I'm doing (no shared verts on this mesh), and this is causing the issue, but I'd like someone else to confirm/deny that idea before I re-work the script.
Any ideas are appreciated, thank you for reading.
*Attatched is one image showing the mesh with no UVs applied, and the other is with them applied.
Vector2[] tempUvs = new Vector2[circleResolution*2];
int index = 0;
for(int i = 0; i<circleResolution; i++)
{
if(i%2==0) //'first verts', bottom left and top left [0,1] verts
{
Debug.Log("1st verts");
Debug.Log("index is: " + index);
tempUvs[index].x = 1f-DetermineUVPosition(); //ex 1 - 0.9 = 0.1
tempUvs[index].y = bottomUvYPosition; //
tempUvs[index+1].x = 0f; //always top left because outer > inner distance, and we want the fully opqaue border to be shown.
tempUvs[index+1].y = 1f;
}
else //'second verts', bottom right and top right [2,3] verts
{
Debug.Log("2nd verts");
Debug.Log("index is: " + index);
tempUvs[index].x = DetermineUVPosition(); //
tempUvs[index].y = bottomUvYPosition; //
tempUvs[index+1].x = 1f;
tempUvs[index+1].y = 1f;
}
index +=2;
}
Your answer
Follow this Question
Related Questions
Procedural Mesh UV problem 0 Answers
Delete Uv2 of a mesh? 1 Answer
UV Mapping: extra pixels either side 1 Answer
UV mapping a hexagon, starting from a 3D space 1 Answer
Normalizing mesh UVS? 1 Answer