- Home /
how to uv map a sphere?
Hello, i've been trying to create a procedural sphere but with variable "longitudes" and "latitudes" and making it smooth. its all perfect but the uv mapping. i have done an algorithm but i have no idea what is wrong nor how to find out. here is the script:
void CreateUV ()
{
float xDist = 1 / longitude;
float ang = 180 / (latitude - 1);
float count = 0;
for (int y = 0; y < latitude; y++)
{
float yDist = Mathf.Cos(ang * y * Mathf.Deg2Rad);
for (int x = 0; x < longitude; x++)
{
if (y == 0 || y == latitude - 1){
uvs.Add(new Vector2(xDist * x + xDist / 2, yDist * y));
}
else
{
uvs.Add(new Vector2(xDist * x, yDist * y));
}
count ++;
}
}
what i was going for is an unwrap like this one:
*if it does not appear ill try and describe it at the end.
in paper seems like it should work though my textures appear as a solid color. also this is the first time i try and map uvs, so here is how i think it works:
the verts are asigned a vector 2 value from (0, 0) to (1, 1) according to their position in a texture.
i would realy apreciate any suggestion or idea. thanks a lot to you all.
*if the image does not appear it basicaly looks like this
0 1 2 ...
/ \ / \ / \
3-------4----5-----6 ...
| | | |
| | | |
7-------8----9----10 ...
| | | |
| | | |
11------12---13----14
\ / \ / \ /
15 16 17
that is the best i could.
Unity handles UVs in the usual way, so this is just a generic question. The best answers are going to be in 3D modelling+math forums.
Your answer
Follow this Question
Related Questions
UV Mapping / Lightmap Problem 1 Answer
Box Projection UV Mapping on single vertex mesh? 0 Answers
UV mapping Icosphere after subdivision issue 1 Answer
Mapping a cube to a sphere 1 Answer
UV mapping 5 Answers