[UV Tip] Packing of stepped/extruded objects
Posted: 2013-09-23 16:20
Packing of stepped objects for normal map baking workflow
This type of objects is seen very often, this should work for all extrusions pretty much, with some other points to note though. Im working with circular ones, because these ones are most problematic to pack well.
Anyway, this is what a typical extrusion looks like:

And this is lowpoly and highpoly separately:


Now, typically when packing UVs of the lowpoly, you need to put a seam at every hard edge, and account for the edge padding there, keeping a good distance between every two hard edges. So you would pack it like this: Imagine more edge padding, had to render it at pretty large resolution so its easy to see
)

See how i had to scale the outer circular cluster to allow distance between it and the inner one?
Now, this doesnt look too bad, but if you have multiple extusions on top of each other, you are going to scale the outer ones way above their initial scaling, thus occupy more space, and you are going to waste loads of texels on padding between UV clusters.
Notice one thing, though: at seam between the two circles, normal map of both clusters turns the same color. So basically you can pack them much tighter, as you dont need to worry about pixel bleed. The reason why you add padding to seams (different colors) simply doesnt exist here. You can even put them right next to each other:

This way spend much less of your UV space on those clusters and the padding around them, making your UV maps better
One think you still need to consider, though. The colors on that seam needs to be same on all other maps as well, though. You need to think how the diffuse and specular will look there, maybe you cant pack it so tight after all.
This type of objects is seen very often, this should work for all extrusions pretty much, with some other points to note though. Im working with circular ones, because these ones are most problematic to pack well.
Anyway, this is what a typical extrusion looks like:

And this is lowpoly and highpoly separately:


Now, typically when packing UVs of the lowpoly, you need to put a seam at every hard edge, and account for the edge padding there, keeping a good distance between every two hard edges. So you would pack it like this: Imagine more edge padding, had to render it at pretty large resolution so its easy to see

See how i had to scale the outer circular cluster to allow distance between it and the inner one?
Now, this doesnt look too bad, but if you have multiple extusions on top of each other, you are going to scale the outer ones way above their initial scaling, thus occupy more space, and you are going to waste loads of texels on padding between UV clusters.
Notice one thing, though: at seam between the two circles, normal map of both clusters turns the same color. So basically you can pack them much tighter, as you dont need to worry about pixel bleed. The reason why you add padding to seams (different colors) simply doesnt exist here. You can even put them right next to each other:

This way spend much less of your UV space on those clusters and the padding around them, making your UV maps better
One think you still need to consider, though. The colors on that seam needs to be same on all other maps as well, though. You need to think how the diffuse and specular will look there, maybe you cant pack it so tight after all.