30
$\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$
  • $\begingroup$ Did you actually find a satidfactory solution to this? $\endgroup$ – Duane Dibbley Aug 31 '16 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 '16 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$ – Duane Dibbley Sep 1 '16 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 '16 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$ – Duane Dibbley Sep 1 '16 at 2:15
15
$\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$
  • 3
    $\begingroup$ Is there any reason not to use a "quadsphere"? Do they have any disadvantages? $\endgroup$ – gandalf3 Jun 11 '14 at 19:57
10
$\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$
  • 1
    $\begingroup$ This is better, but I'm still having some issues around the top. Still, much better. $\endgroup$ – gandalf3 Aug 10 '14 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 '15 at 15:32
6
$\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$
  • 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 '14 at 8:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.