The perfect sphere

Hi, when I create a UV sphere in blender with high details (128x64 divisions instead of the default 32x16), Blender obviously creates a sphere with too much details on the top and bottom of the sphere. Is there some script out there to create a “perfect” sphere that would use less vertices and divisions at the top and bottom of the sphere. Also, it would use a rather flat top/bottom in order to avoid the issues with seams when UV mapping.

In addition to the two default sphere primatives you could use a polysphere. This ia a sphere made from all quads. Easily make one out of a subdivided cube or use the addon http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Add_Mesh/Add_PolySphere

Thanks Richard that sphere is really nice, but how can I UV map it easily (like with an earth map) ? I tried the spherical projection and the mapping isn’t good.

@Atom: not sure a plane would work with a polysphere, this one looks more like a cube.

What I’d do is, assuming you want to wrap a texture of a planet or a ball that’s mapped to a sphere is to map it to an actual high poly sphere, and then bake it to the all quad sphere - which can be unwrapped cleanly like a cube.

If you’re having trouble mapping a particular texture to a particular mesh, why don’t you share the .blend file so people can help you directly instead of guessing at possible solutions? Meanwhile here’s another thread that discusses possible strategies for replacing UV sphere poles: http://blenderartists.org/forum/archive/index.php/t-302360.html

Thanks all, I finally managed to relatively properly mesh the sphere and UV map it with an equirectangular projected map texture. Here is what I did:

  • create UV sphere with low poly count (32/16)
  • remove the top and bottom caps (select edge loop of vertices, delete vertices)
  • for each hole, close it using fill grid (8 divisions)
  • bump the grid vertices so they fit the overall round shape (initially they are flat). Here I used Grab/Scale tools on z-axis multiple times (took a long time), I am sure this is possible to do faster with some tool I do not yet know about (something like proportional editing but more localized, just on the caps not to impact the overall sphere proportions)
  • then UV Editing view, UV map using sphere projection
  • move the vertices on the UV map so they better fit the texture. This is relatively easy here as the poly count is low so not many vertices to move.
  • back to Default view, Object mode, apply Subdivision surface modifier a couple of time to get a smooth sphere
  • apply Decimate modifier to reduce the poly count
  • back to UV Editing view to better map the new vertices. Not much to do at this level, much of it has already been mapped when in low poly count.

and that’s it. Only problem I have is that the normals do not seem right at the texture’s junctions at the poles (even though I did CTRL+N)

Can you show a screenshot of the spot with the suspected bad normals? Or even better, the file?

K.Horseman: here are screenshots. Please note this is a rendering using a normal map (provided with the texture map) and specular map. The texture I am using is not in free access but I can replace it with another one and share the blend file.


I think you can just post the .blend file without the texture and that’ll be enough in this case. Are you rendering with Cycles?

Ok here are two blend files, one with the Decimate modified applied. The artifacts are mostly visible when the normal map and specular maps are applied. Rendering is not made in Blender but Unity. The blend files I am linking here are not the same I used for the images posted above.

test sphere

test sphere decimated

Whoa, what is going on with that decimated one, and why did you do that? If you’re trying to triangulate your mesh for the game engine, you should use the Triangulate modifier. I’m not sure what you’re hoping to accomplish with the decimated one. You should also bake your normals map from the triangulated version, otherwise it won’t behave the same way in the end, because the triangulated normals will be somewhat different.

I made this sphere by using a default sphere and from top view I add a new loop cut with the knife. Then round that out with mesh>transform>sphere (after placing the cursor at the pole). Then I deleted the pole, then extruded the new loop cut in and made a very small hole.
The black dot is the hole in the mesh which can be taken care of in photoshop or gimp in about 5 seconds for a still image, or just use a white circle parented to the mesh.
It unwraps nicely without anything at the poles and you get virtually no distortion.


@K.Horseman: I wanted to have smooth curves so I subdivided the mesh a couple of time. Then I got too many polys this is why I used the Decimate modifier. I have tried using Triangulate, both before and after Decimate, I did not see much difference, or maybe the decimation is a bit cleaner with this on. What should I try to achieve with Triangulate?
However I think I can just subdivide specific face loops (such as the ones near the equator) individually from the low poly sphere and that should be enough, no need to decimate.

@Rich33584: I have tried your method which is I think close to the one described in this video tutorial. It indeed provides less distortion, but when I fill the pole holes to close the mesh, I get a large white hole as you can see in the below screenshot along with my UV mapping. Also, the smaller the hole, the highest the distortion at the poles. I don’t get how you managed to have the hole so small and no distortion… How do you unwrap, are you using sphere projection (with which parameters?) or just a seam and Unwrap? In the latter case, the unwrap creates two half 2D spheres that do not map well the texture.


I closed the hole up real small.
Also, dont forget that I added a couple loop cuts at the pole.
sphere.blend (545 KB)

it is not only the have quads but also how you do the projection
in blender there is the sky equiangular method!

in cycles you can use environment image and select equiangular map!

then it should work without too much distortion!

happy cycles

RickyBlender, once again you bring up something completely irrelevant, misleading, and unhelpful. You are a truly reliable resource. Please stop trying to help. He’s not using cycles, and an environment map isn’t used for this.

blendol, the reason for the weird texture artifacts is that your model had terrible, terrible topology. Just look at the mess that decimate modifier created. Topology is important for the behavior of texturing. As for my triangulate suggestion, you mentioned Unity. It looked to me like you were trying to triangulate the mesh for use in a game engine, so I was suggesting a cleaner way to do it that would preserve good topology for rendering.

Which brings up another question: is this for a game? Everything you’ve been doing so far is probably far too polygon-heavy for a game anyway.

ounce again your totaly wrong
he has problems around the poles
and there are 2 sources of problem for that the topo and the projection method
this ahs been discussed in many thread before!

salutations

@Rich33584: yes I am also adding loops, but the smaller the hole, the highest the distortion. I have used your blend file and applied my textures on it, see how it behaves on the north pole, texture is pinched. On the south pole there is no visible distortion as in your image because the texture is mostly same color near the sphere pole.


@K.Horseman: ok got it for the triangulation, however Unity does this automatically when importing the blend file. About the topology the decimation was just a test, I also put up a blend file which doesn’t have decimation. Decimation on the sphere is a bad idea though I will instead use a low poly sphere and add loops around the equator where the curve needs to be smoothed out. About the high poly count yes I am aware this is not game friendly, however on this particular screen the earth will be mostly alone so it should be fine to have a higher than usual poly count, must remain reasonable though.

So let us consider I will use a “regular” shperetopology, even with the “hole at the top” technique, there are two issues:

  • if the hole is too small, pinch effect on north pole
  • if the hole is too large, no distortion but large uniform area as show in screen higher in this thread

If using a polyshpere or something similar, then I don’t know how to UV map my equirectangular map.

Where did you get your image? I am using one from NASA and their images are made to compensate for the problem you are seeing.The image I am using is on this page.
http://visibleearth.nasa.gov/view.php?id=74268