UV mapping
UV mapping is the process of wrapping a 3D object with a 2D image over its surface. It is similar to the opposite actions of gift-wrapping a present or making garments in real life. Instead of taking a flat roll of cloth and making it a human-shaped piece of garment, you cut the 3D object on its seams to make it flat again.
This process is required before texturing to preprepare 3D models for texturing, because painting is saved onto a flat surface. This way, a 2D image manipulation software is used to create textures by painting directly over the corresponding UV parts. The main advantage of this method is that is doesn't require the 3D model during texturing. This lowers the required computer ressources and allows for a more fluid real-time painting experience.
Even in modern 3D texturing software that display the textured object directly in 3D, a 2D image-representation of the 3D object is made to save the work. This image-representation is made according to the UV layout of the 3D object, and keeps compatiblity with the traditionnal 2D texture workflow.
The process of preparation of the 3D object, to be made into a flat 2D representation is called UV mapping or UV layout. In 2D, U and V coordinates therefore replace the X, Y and Z from the 3D world, but correspondance with the 3D mesh remains.
Unfolding UV
The process of manually unfolding UVs is a tedious process, often disliked by many. However, a good unfolding of UVs is essential to a good texture process. It will influence how easy, or hard, it will be to paint seamless junctions of texture on them afterwards.
Furthermore, it determines how uniformly the texture will be applied onto the 3D model at render time. It is also not possible to restart the UVs entierly without restarting the texturing process anew. Even making changes to the UVs after the texturing has started is very problematic. Therefore, the UVs have to be done right the first time around.
Most major 3D software suites offer a way of unfolding UV maps, with more or less ease and automation. Blender, Modo, 3D coat and Maya 2018 each have great tools that rival other small plugins that have been used in production until now. Even if these tools automate the process partially, it is essential to understand the principles in order to unfold UVs them properly.
Steps for Mapping UVs in 3D
1. Creating a New 'UV Set'
The first step is to create an 'UV set' to work onto. An 'UV set' is simply a 2D workspace for you to unfold the UVs of a 3D object onto. A 3D object can contain different UV sets for different textures to be applied to it in different contexts. However, it is generally recommended that you use only 1 'UV set' for a simpler production workflow. This will maximize compatibility with all tools external tools, plugins and renderers.
To simplify compatibility issues, try to keep only 1 UV set, named as the default for your software. Using multiple UV sets can be complex to manage so it is better to have only one set of UVs per 3D object. Some renderers and plugins may not see anything in other 'UV sets' than the 'map1'.
2. Create the UVs
Then, you need to create a corresponding 'UV vertex' for every 'vertex point' on the 3D mesh. This allows an 'UV editor' to create a deformation grid that determines how the 2D texture will be mapped onto the 3D model. The UV editor is simply a representation of all of the vertex points and edges from the 3D mesh, flattened out in 2D.
UV vertex are different in that they do not modify the actual geometry of the 3D object, but rather determine how images will be mapped onto it. UV vertex can also be shared between more than 1 'UV shell', creating 2 or more corresponding points for every vertex, depending on the number of 'UV shells' it is shared between. An 'UV shell' is a group of edges, part of a 3D model, linked together without separation or cuts.
To create the corresponding UVs from a 3D mesh, simply assign a default UV mapping method on the 3D model: planar, cylindrical, spherical...
3. Sewing all edges
Sometimes, default mappings produce usuable UVs, but you will still need to sew all bad 'UV edges'. It is often simpler to sew all 'UV edges' together and start cutting anew, than finding all the bad ones. This is a kind of 'reset' for the UV operation.
Now, if you just want to start mapping your UVs from scratch, all you need to do is 'sew' all the 'UV edges' together. "UV edges', like 'UV vertex', can also be shared between multiple 'UV shells' (max. 2). 'Sewing' all the edges together is not a destructive operation for the 3D model, but it can be useful to restart anew after a failed UV attempt. 'UV edges' that are not meant to be 'sewn' will never be glued together by the software. Only 'UV edges' that share the same '3D edge' will be sown into a single UV edge (in the UV editor)
This operation will reset any existing UV cuts that have been transferred from the primitive shape it was modeled from, or from the preset UV mapping method applied afterwards. Simply select all the edges in the 'UV editor' and click on 'sew UV edges'. This will merge all of the edges together, resetting any UV work previously done and allowing you to start cutting anew.
4. Cutting UV edges
Cutting UVs edges is one of the most important step in creating UVs and it requires careful planning. It will determine how well the software will then be able to 'unfold' or flatten the model. Indeed, 'UV edges' have the special ability to split in two or merge back as one. The goal is to create a map without zones that stretch or compress the texture that will be applied onto it.
The step of cutting out UVs is the moment where the 3D shape is cut along its edges, creating separate 'UV shells' in 2D. An UV shell is a group of UVs linked together without cuts, and detached from any other part. The quality and precision of the cuts will greatly influence how the shells will be able to flatten in 2D as best as possible.
Here are a few rules to think about:
- Cut along 'edge-loops' as far as possible, ideally along the entire continuity of an 'edge-loop'. It's idea if the 'edge-loop' is circular, like along the waist of a character. If you need to stop an 'UV cut' part-way in an edge-loop, it should preferably stop at a geometric junction that also exists in 3D (like a pole of 3 or 5 edges that ends an edge-loop)
- Never cut zig-zags, be precise and zoom on small details. This will otherwise be very painful to texture.
- Cut along existing creases (folds in the geometry)
- Cut where it will be the least visible (in case the texture doesn't align perfectly between 'UV shells')
- Cut where textures will change anyways (in between clothing pieces, or on the
5. Unfolding & Optimizing
This is a semi-automated step. From the cuts, the computer will determine a way to maximize the surface of the shell in 2D. Sometimes, a few manual inputs are required, such as recutting, relaxing certain areas or borders, in order for this to work well.
Good UV mapping software allow a way to see how much the texture map will be stretched or compressed, and where, for you to take informed decisions. You can also detect the distorsion with your eyes, by applying a checkerboard texture to any 3D model.
Is everything messed up in your UVs at this point? Not happy with the results, but didn't save a version before the UVs? No problem! Just restard again at step 3 and sew all edges together.
6. Align UVs
The best UVs will make it as easy as possible to texture an object in 3D. Therefore, there are a few rules to keep in mind:
- Recreate the symmetry from the 3D mesh, so the texture can be mirrored
- Straight lines should stay straight, curves should also keep the same curvature
- The portion of the 3D model converted into an 'UV shells' should have an easily recognizable shape for the texture artist (ex. pant shape, shirt shape, etc)
- UVs sould be aligned vertically or horizontally, but not diagonally.
In order to do this step properly, you need to select an axis of symmetry in the 'UV shell' (ex. the centerline), and make it straight. Then, you can 'pin' this into place, while unfolding the rest of the shell, which should become exactly symmetrical on both sides. If it is not symmetrical after a new unfold, it's either because the cuts are not symmetrical or because the 3D model itself isn't. Make sure there is no modeling mistake, like a hidden vertex, an additional edge or voluntary asymmetry in the model concept.
It is always best to recreate a shape that will be easy to texture. Creating symmetry for easy mirroring is one such example, but aligning also ensure that a straight texture line will end up straight in 3D, once mapped onto the UVs.
7. Laying out 'UV shells'
There are multiple methods to layout the UVs for texturing. This may depend on the requirements of the studio or the project you're working on. Here are a few rules to follow in your UV layout. Not all rules can be followed at the same time, you will have to prioritize according to your needs.
- Objects should be positionned logically, according to their position on the 3D model (head above body, torso above legs, left hand on the left...)
- 'UV shells' should be oriented logically: the top vertices of a 3D object should be the top of the 'UV shell' in the 'UV editor'. Same for the bottom, left and right parts.
- Make sure the 'UV shells' are not 'flipped' or else the texture will be reversed, or completely absent.
- 'UV shells' should have the correct relative size compared to the other shells (apply a square grid size and make sure it is even)
Basic Layout (Single Tile)
The basic method for laying out UVs is to put everything in one square of UVs, as it's been done for a long time. This is normally done in the square between 0 and 1 on the UV editor grid. The layout function in your 3D software package should be able to do this for you, but not always with a great deal of forethought for texturing. Therefore, you will still need to ask yourself what will be more convenient for texturing and make adjustments accordingly.
Multi-Tile Layout
This is a more advanced method of laying out UVs and it requires a texture software and 3D package that supports it. It consists of using as much UV squares as needed, to get the highest resolution on all parts of a 3D model. This is used on high-end movies for theater release, when the 3D model is seen from up close.
As this is a relatively newer method, it is not supported by every plugin and renderer just yet. We recommend that you test out a single model with texture, lighting, CFX and rendering, to make sure your workflow will support multi-tiling until the very end of your project.
Additionnally, this method requires a heavy amount of ressources to be able to paint in realtime with so much textures. After all, this is what games have to do, but in a much more optimized way. If you want to use this method, check out our recommendations for GPU, CPU and RAM memory.
8. UV snapshot
Once you're happy with the quality of your UVs, it's time to capture their position into an image so it can be textured. This isn't always necessary nowadays, as texture software like Mudbox, Mari and Substance actually use the 3D model itself. However, if you intend to create your texture in photoshop or any 2D image manipulation software, you will need this to know where to paint.
Dedicated UV Unfolding Tools:
Every major 3D software package has the all the tools needed to unfold UVs properly (Maya, Houdini, Blender, 3DsMax, Cinema 4D...). However, they are not always the fastest way to go about it, especially during a production crunch time.
Theses tools will allow you to unfold your UVs more quickly with easier tools, but you still need to know what to do with UVs. No UV software will do all the work for you, you need to understand what you want in the end. Check out our section about the process of unfolding UVs to help you out.
Lead UV Software:
- Headus UVlayout (recommended)
- Polygonal Design - Unfold 3D
- Pullin Shapes - Roadkill (recommended)
- MagicUV
Even More UV Software:
- Ultimate Unwrap 3D
- Rizom-lab Unfold UV (automated)
- Wings 3D
Alternative UV Format: Ptex
Ptex are a type of UV mapping that is created automatically, as the user paints the texture. It adds more resolution when needed, and automatically joins the texture seams to give a seamless appearance. However, due to its imprevisible AI nature and some incompatibilities with other steps of many 3D animation pipelines, it is not widely used, aside from some very big studios, like Pixar.
Back to the careers Table of Contents
Careers in the 3D Animation & Visual FX Industry
Featured Sections
- The different 3D Modeling Specializations for the next Digital Age
- Check out our complete Guide on 3D Computer Hardware
- Or just vote for your favorite 3D software
Artist Hubs:
www.artstation.com, www.cgsociety.com, www.awn.com, www.highend3d.com
Tell us what you think, we welcome your comments! Did we miss something?
Join the Wombats
Opt-in our occasionnal newsletter to be the first to be informed of our new tutorials series, original content updates, special offers and important announcements! It’s free and spam-free, plus you can unsubscribe at any time.
Follow @3Dwombat on Social Media