How would you go about unwrapping a sphere to build a planet with? For instance, if you wanted to do the planet Earth, how would you unwrap it to ensure there were no visible seams, stretching, or lighting errors?
Probably quad sphere tennis ball unwrap? that seems to give the least stretching, sure you have seams in what can be bad places but if you're baking from a source object that doesn't really matter at all. Quadspheres are also nice to sculpt on if you plan to do that kind of thing, which you already knew...
Mark's option seems best to me. That's how I'd do it. Or, you can do it the same way that cartographers did when they unwrapped the earth for the first ever world atlas. Terrible terrible unwrapping job they did, the poles are incredibly stretched and distorted. :P
It makes Antarctica look bigger than North America.
Yea man, I never use a normal sphere because of the poles. This is old school trick to make spheres for sculpting or just in quads in general. great trick.
If you're going to make a planet that has oceans, I'd break the UVs into sections to keep all of the land masses connected and distortion free. Then the ocean areas could be dealt with from there. If you're trying to get more detail on something like that, you'd have a seperate UV channel or two. This would be the more standard cylindrical mapping, so you can have clouds, as well as a mask for water effects.
If you're not making an earth like planet, tennis ball, or cylindrical with a second uv set to blend the poles in would be your best bet.
K-Man brings up a good point and got me thinking about an idea, you could have precise geometry cuts outlining the land masses and map them individually leaving the water (or larger detail-less areas) that can better hide hide stretching, to be relaxed and mapped differently than the land.
You can also design your land masses to fit into the less distorted areas of your UV layout?
Depending on how detailed the land masses are or how detailed the water, you might want separate shaders for land and water? If so, then UV seams where your material cuts are going, would be a bonus.
You also need to think about clouds and atmosphere, either into the shader(s) or onto separate translucent spheres?
So it really depends on how detailed the planet will be. Just a sphere off in the distance? Or up close and more detailed?
I lean toward make a high poly planet however you want, fully texture it in either zbrush, mudbox, or with viewport canvas. Bake it down to a tennis ball unwrap and add some cloudy spheres around it.
We built a 3D globe for our front end last year and cut out the geo by hand and then extruded some height, the normals get fucked, but that's okay because you can transfer the normals from a regular sphere that doesn't have all the nasty cuts and triangles. Worked good, the feature was cut before the game shipped, but it was looking good.
How flawless does it have to be? For the planets I made, I started off with a 15sided geosphere, which has great UVs to start with (needs minor tweaking). I paint a base diffuse on that.
I bake that texture out to a duplicate mesh, where I made a new UV set that has the poles easy to paint. Then I'll re-edit the texture there to fix the poles.
After that I'll bake it back out to the proper mesh and UV map.
There's some really minor texture stretching and a slight pole buckle, but overall it looks a lot better than trying to do it some other ways.
Make a quad sphere with however many divisions you want by smoothing a cube. Then make a standard sphere primitive approximately the same size. Use the script to shrink wrap the quad sphere to the true sphere. Voila! A rounded quadsphere.
I personally think Joshua Stubbles way of making a planet is the best. I tried using quad-sphere, but texturing something like that in Photoshop is a pain.
CCP has the best solution by far IMO. But they do a lot of awesome shader magic that probably isn't applicable to most situations. Glad to hear that worked for ya snake, good results!
You could try Camera mapping if it's not gonna be seen from all sides or by projecting from multiple blended Cameras and baking that to another projection.
Replies
WAVE OF THE FUTURE! Quadspheres seriously...
http://www.polycount.com/forum/showpost.php?p=1312335&postcount=16
It makes Antarctica look bigger than North America.
http://www.polycount.com/forum/showthread.php?t=53418
Couldn't agree more. I actually use quadspheres to block out a lot of sculpting stuff if I need speed over polygon efficiency. They work great!©
If you're not making an earth like planet, tennis ball, or cylindrical with a second uv set to blend the poles in would be your best bet.
You can also design your land masses to fit into the less distorted areas of your UV layout?
Depending on how detailed the land masses are or how detailed the water, you might want separate shaders for land and water? If so, then UV seams where your material cuts are going, would be a bonus.
You also need to think about clouds and atmosphere, either into the shader(s) or onto separate translucent spheres?
So it really depends on how detailed the planet will be. Just a sphere off in the distance? Or up close and more detailed?
I lean toward make a high poly planet however you want, fully texture it in either zbrush, mudbox, or with viewport canvas. Bake it down to a tennis ball unwrap and add some cloudy spheres around it.
How flawless does it have to be? For the planets I made, I started off with a 15sided geosphere, which has great UVs to start with (needs minor tweaking). I paint a base diffuse on that.
I bake that texture out to a duplicate mesh, where I made a new UV set that has the poles easy to paint. Then I'll re-edit the texture there to fix the poles.
After that I'll bake it back out to the proper mesh and UV map.
There's some really minor texture stretching and a slight pole buckle, but overall it looks a lot better than trying to do it some other ways.
texture:
UV:
Grab the script xyShrinkWrap http://www.creativecrash.com/maya/downloads/scripts-plugins/modeling/misc/c/xyshrinkwrap
Make a quad sphere with however many divisions you want by smoothing a cube. Then make a standard sphere primitive approximately the same size. Use the script to shrink wrap the quad sphere to the true sphere. Voila! A rounded quadsphere.
Got these results his way,