34
$\begingroup$

After reading How to get perfect UV sphere Mercator projection? It seems that there is no perfect solution for getting rid of the stretch at the poles of UV spheres.

According to What is the difference between a UV Sphere and an Icosphere?, icospheres can be used for stretch-less UV mapping:

All faces have the same area, which may be useful for certain types of UV mapping containing non-organic textures. An example that comes to mind is an isocahedral die or billiard balls where stretch must be minimized near the point where the number is printed onto the ball.

Incidentally, a lowish-poly billiard ball is exactly what I'm attempting to create.

However, my attempts at neatly unwrapping an icosphere have mostly failed (smart UV unwrap works perfectly for using baked textures, however I was hoping for something more like the example in the 6th post of this thread, with a nice clean rectangular map).

How can an icosphere (I assumed the term "geosphere" in the thread was referring to a (geodesic) sphere made of triangles, like an icosphere) be cleanly unwrapped? Or if it's not possible, is there another way to do this which I'm missing?


I'm planning on using the resulting sphere in the BGE.

$\endgroup$
5
  • $\begingroup$ Did you actually find a satidfactory solution to this? $\endgroup$
    – user27640
    Aug 31, 2016 at 9:46
  • $\begingroup$ @DuaneDibbley Not directly; I ended up baking textures with the "Sphere" projection onto a smart-uv-unwrapped icosphere. If you like, I could write up an answer $\endgroup$
    – gandalf3
    Aug 31, 2016 at 22:26
  • 1
    $\begingroup$ I was actually just a bit curious. I usually don't unwrap spheres at att, but just use generated coordinates with sphere projection and equirectangular textures. $\endgroup$
    – user27640
    Sep 1, 2016 at 1:45
  • $\begingroup$ @DuaneDibbley Yes, unfortunately the BGE doesn't seem to support sphere projection (or any projection, for that matter). I thought it would be possible to UV unwrap the sphere in such a way as to get an identical result to the sphere projection, but that doesn't seem to be the case. Hence the baking work-around. $\endgroup$
    – gandalf3
    Sep 1, 2016 at 2:04
  • $\begingroup$ I didn't know that, because I never use the BGE. I just checked it, and the texture tab does have the option to select projection, but it doesn't seem to work. Anyway, thanks. :) $\endgroup$
    – user27640
    Sep 1, 2016 at 2:15

4 Answers 4

16
$\begingroup$

I find the results are best when islands best match the actual shape of the geometry. The closer you get to this the less stretching you will have.

For a sphere, I find this works best for me. A cube with sub-D at level 2 which is applied then corrected in Edit mode with the To-Sphere tool.

Then enter image description here

Or even better for less stretching. (however, more seams mean more chance for the lighting to show artifacts with specular highlights on normal maps).

enter image description here

EDIT: It just occurred to me that some of the issues which people are having with stretching in their textures may be related to the Sub-Divide UV's Option in either of the two sub-D modifiers(Multi-res).

If you don't set this button appropriately, then you will likely have stretching and it matter matter how well the UV's are laid out.

As a general guideline, it seems best to disable the Sub-Divide UV's option when your mesh is mathematically evenly spaced.

So when you have built your mesh with somewhat un-evenly spaced lines, then you may want to leave Sub-Divide the UV's on for the least amount of stretching.

I toggle it on and off rapidly while watching the model and how a checkered texture is become stretched or not. I do the same thing with the little eyeball icon that turns the modifier on and off.

Keeping an eye on this should help minimize the baking difficulties.

$\endgroup$
4
  • 3
    $\begingroup$ Is there any reason not to use a "quadsphere"? Do they have any disadvantages? $\endgroup$
    – gandalf3
    Jun 11, 2014 at 19:57
  • $\begingroup$ I don't understand why this is a preferred method since you'll have more visible seams and texture/displacement maps will not look very good as a result. $\endgroup$
    – fmotion1
    Nov 30, 2020 at 0:01
  • $\begingroup$ One of the biggest causes of visible seams is not adding a wide enough margin to the UV islands. That causes mipmapping to overwrite info from one island onto another. Islands should still have visible separation even when you zoom out. Another cause of visible seams is when sharp edges are used. Every sharp edge has to also be a seam or the normal map will have artifacts along the seams. $\endgroup$ Dec 28, 2020 at 1:10
  • $\begingroup$ Another important cause of visible seams is baking at too low a resolution. You'll always see seams if you bake at 512x512, not so much at 1024x1024. Baking at 4K reduces inherent seam artifacts to be almost non-existent. Now seams only show if you make modeling errors. $\endgroup$ Dec 30, 2020 at 12:33
13
$\begingroup$

Think of it backwards:

You can create a plane and deform it with the warp tool to create a sphere. That way the UV map will be deform with it and you can avoid issues at the poles! The detailed workflow is in this thread

enter image description here enter image description here enter image description hereenter image description here

$\endgroup$
2
  • 1
    $\begingroup$ This is better, but I'm still having some issues around the top. Still, much better. $\endgroup$
    – gandalf3
    Aug 10, 2014 at 1:55
  • $\begingroup$ You could also just start with a UV Sphere, delete the poles, then quad-cap each with a Grid Fill and re-spherize with a Cast Modifier. Example .blend ...Although I still prefer using cube-spheres when possible because of the minimal stretching. $\endgroup$
    – Mentalist
    Nov 18, 2015 at 15:32
7
$\begingroup$

I guess what you want is myriahedral projection. I did this once for an icosphere as a test. AFAIK there is no way to do this automatically, i had to place the seams by hand. I uploaded my old .blend file here, have a look at it and see if it is what you need.
This is what the UV layout looks like:
enter image description here

$\endgroup$
0
$\begingroup$

For your case: When I was making a pool balls for an animation I used a UV sphere and created separate materials for the (White or coloured) sections at the poles and another material for the number band applied to the faces around the middle. Then I could very easily seam the edges of this equatorial region and UV map it with a band and number.

$\endgroup$
1
  • 2
    $\begingroup$ Billiard balls vary, depending upon what part of the world they come from, and in which games they are used. In the US game of pool, for example, the typical set of balls is numbered in a single white spot (which I would map to one of the poles), and the striped balls have a plane white stripe around the equator. $\endgroup$
    – brasshat
    Jun 4, 2014 at 8:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .