This article is a collection of advice for specific cases you might need a UV map for. This is based on my experience on working on characters, props and sets in our open movie projects.
There is not just one way to make a good UV map and it heavily depends on what you need it for. You could create a single UV map that can be used for all cases you need, but don't hold back on using multiple UV maps too!
So the article is divided into those use cases and what they need. Projection mapping and heavy procedural shaders and geometry nodes won't be covered here.
I'll also not go into step-by-step details. There are many tutorials out there that can show you how to unwrap UV maps and use features that are mentioned here.
The primary goal here is to reduce the amount of area and angle stretching as much as possible. So it's generally better to place more seams rather than less. Depending on how well the seams are placed you can of course get away with less.
Use the 'Area' and 'Angle' stretching overlays in the UV editor to better visualize this as a heat map. Once any angle turns past green, it's probably good to tweak it. The area stretching color just needs to be roughly the same everywhere for consistent resolution.
UV seam placement highly depends on your intend to paint in 3D or 2D. In 3D there is less to worry about since seams can be easily painted over. But when using the Image Editor or external image editing software like Krita, keep in mind that it will be difficult to paint over seams and not make this very visible in 3D.
Since 3D painting tools have become increasingly advanced and common to use over the years, seam placement has become less of an issue. So it's generally better to place more seams rather than less. Stretching and uneven texel density is much more of an issue than what seams might cause.
The 'Live Unwrap' feature can save a lot of time and provide real-time feedback. By pinning UV points and moving them, everything that isn't pinned will be unwrapped live. It can make aligning, straightening and defining a flow of the UV map much easier and intuitive.
This is a separate setting for the UV Editor and the 3D View. Keep in mind that this setting is saved in the Scene and not the Object. So be sure to disable it once you don't use it! It also tends to break when any UVs are flipped or twisted.
Symmetrical UV maps can be useful to make UVs easily recognizable. A logical arrangement makes them fast to parse and identify. It also allows areas to be mirrored over in 2D image editing.
This can be achieved by using the Mirror modifier. There are advanced options under 'Data' to mirror the UV map along the U direction and even for individual UDIMs. This is a destructive action though, since it involves deleting one side or using 'Bisect' in the modifier.
If you want to create a symmetrical UV map without altering the mesh, you could apply the Mirror modifier on a duplicated mesh and transfer the UV map over with the 'Data Transfer' modifier.
And in case the topology is asymmetrical, it might be an easy solution to place pinned UV verts at mirrored positions. Live unwrap can then result in an almost symmetrical unwrap.
Mirrored UV maps can be a bit wasteful in overall texture space usage but tightly packing all UVs and even stacking symmetrical/similar UVs is more suited for heavy optimization in real-time asset creation.
There is a lot more to be said about the placement and UV islands, the use of UDIMs, UV spaces and margins. But I'll leave that for another article on UV packing.
In many cases there is an additional layer of tiled and procedural textures on a material. Or even by using geometry nodes. This can be part of the same UV map as the previous one, but if that proves too challenging or restricting, it might be best to have a separate UV map just for these patterns.
For clothing it's best to make the UV map match real fabric patterns that a garment would be made of (similar to the video above). This is the easiest UV map to combine with the purpose of texture painting and baking.
Also, stretching can be a natural part of the UV map. If the fabric is bunched up or stretched somewhere, try to imitate this in the UV map so any tiled patterns will also be stretched or compressed. Additional bump or displacement maps can be used to add wrinkles, which can make the visual effect complete.
Alternatively the UV map can be more focused on just specific areas that need a repeating pattern mapped on them. Like for Procedural seam placement. This was very handy in Sprite Fright as an alternative to hand painting these details. More about this in our Procedural Shading course.
The use can also be expanded onto other effects, like procedural rolled up sleeves or pattern separation.
In case a UV map is used exclusively for tiling there is no need to care about overlapping UVs and keeping it all within the 1:1 UV space. This is because the patterns are tiled and repeated endlessly in the same way.
This can easily create a mess to look at, so ideally don't sync selected UVs and geometry while editing the UV map. This makes it much easier to isolate elements and edit them without visual clutter.
This method of using specific UV faces for mapping patterns can also be expanded to placing decals. Anything that should be precise and non-destructive.
Place seams only where it realistically makes sense or where they are hidden. You cannot paint over seams here so they are much easier to spot. For clothing for example it makes sense to place the seams where the fabric patterns end as well. Otherwise tuck them away where they aren't visible.
If it's impossible to hide the seams, a workaround could be to use 2 separate UV maps with very different seam placement and softly blend to the other via a mask wherever seams are visible. This technique was heavily used for the chimes in Spring.
Check out this breakdown of the chime material at the timestamp 18:10 to see this in action.
In case the geometry is static (not being deformed by an armature, shapekeys or other modifiers) and the texture rotation/flow is not as important, another alternative is to use Generated Coordinates with Box mapping on the texture node. If the geometry is being deformed I'd argue against it, since it can lead 'swimming' textures (i.e. sliding on the surfaces since they aren't mapped to a UV map).
Orienting and leading the flow of texture patterns will have a strong visual impact. In the case of clothing patterns, you'd want the UVs and textures to be aligned on the seams and direction of the fabric. So most of the seams need to be straightened and the UV islands rotated to be correctly aligned with the tiled pattern.
Uniform Texel Density also plays into this.
This is even harder to achieve with tighter restrictions on seam placement. But it's best if tiled texture patterns have a consistent scale across all surfaces that use them.
Angle stretching can be mostly fine as a result of this, especially since UV maps are bent/straightened a lot.
That wraps all the tips on UV unwrapping itself. If you have any questions or anything is unclear, please comment below.
Excellent summary, Julien! Thanks for the detailed breakdown. :)
I definitely have to try the technique you used for the chimes! I'm really looking forward to the UV packing article, as I usually struggle with it.
Join to leave a comment.