Efficient UV mapping is a very important step before you can begin texturing any 3d model, and will inevitably affect every other stage of your workflow, from baking normal maps, all the way to performance, rendering, and frame rate . In this tutorial you will learn the complete workflow necessary to effectively UV map a character in Maya 2009. If can be a tedious process, but with proper planning, clever conventions, and tricky time savers, it can be a very fun and rewarding process too. Note: This tutorial is intended for symmetrical geometry only.
Every few weeks, we revisit some of our reader's favorite posts from throughout the history of the site. This tutorial was first published in January of 2010.
Final Effect Preview
After your character model is complete, it will need to be UV’d before it can be textured. A good way to approach UVs is to block out the full geometry, and then go in and detail it piece by piece.
Start by selecting all of your geometry and deleting any UVs that might already exist. Do this by opening the UV Texture Editor ( Window > UV Texture Editor), and deleting the UVs (Polygons > Delete UVs).
Hide everything except for the geometry you will be UVing, and switch to face selection mode.
Select all of the faces on the left side of your geometry, being careful of the small faces where the sides connect.
Delete all of the left faces (don’t worry, the UVs can be mirrored once they’re finished).
Within the “Hypershade” window create a new Blinn material, and name it UTILSG.
Click the checkerboard next to “Color” to map in a texture file.
Map in a utility image. This image is an important one to keep around, because it makes eyeballing UV placement easy. File available for download here: www.ecady.com/util-mark6.tif.
Repeat the image 5×5.
Assign UTILSG to your geometry. It will look white because you have no UVs yet.
Within the Polygons menu set, navigate to “Create UVs–>Automatic Mapping–>option box”.
Make sure “Fewer pieces” is selected, and hit “Project”.
BOOM! Now that you have UVs, your texture will appear.
In the UV Texture Editor (from now on referred to as the UVTE), it’s very hard to see the UVs with our texture visible.
Click the Display image on/off button at the top of the UVTE.
Now the UVs can be clearly seen.
Usually a character is going to split its UVs roughly between the head, torso, arms, and legs. Automatic mapping got us to a good starting point, but let’s go in and get specific. From the front view, select the faces of the arm.
Navigate to “Create UVs–>Cylindrical Mapping”.
In the UVTE, the arm looks awful. Look in perspective view, and you can see that the cylyndrical map is projecting the arm UVs from the wrong angle.
From the front view again, look at the channel box for an INPUT called “polyCylProj1″. The cylinder projection should be rotated around the ‘Z’ axis.
Change the values in ‘Z’ until the map looks better. Click anywhere to finish the cylinder UV mapping.
The tip of the hand now looks wacky, so select those faces.
Navigate to “Create UVs–>Automatic Mapping”. This does a better job on the front arm faces than cylinder mapping, but it’s not calculating at the right angle again.
Switch again to the front view and use the rotate handle to fix the angle.
This time, when finished with the automatic projection, within the UVTE select “RMB–>UV”. Drag around the faces you just mapped.
All of your geometry’s UVs will now appear in a mess on top of one another, but don’t worry, just move the selected UVs down out of the way.
The arm that was just cylinder mapped is also in the way of all the other UVs. Any group of connected, mapped faces within the UVTE is called a SHELL. To select the entire cylinder mapped arm, grab any few UVs on the shell.
“Control + RMB–>To Shell”.
Move the arm shell out of the way, and scale it down.
From the front and side views, select your character’s leg faces. You can see in the UVTE that automatic mapping has thrown them all over the place.
Repeat “Create UVs–>Cylindrical Mapping”. Depending on your leg shape, there might be no need to angle the projection.
This is why the “UTILSG” is so handy. The squished rainbow squares can be roughly fixed by scaling the cylindrical map projection in ‘Y’.
Like before, “RMB–>UV” within the UVTE, and drag around the newly mapped leg shell. Move and scale it out of the way.
From the side view, select all of the foot faces, but don’t worry about selecting leg faces too.
We want to separately map the foot, but we don’t want to mess up the leg shell we just mapped. Within the UVTE, control-drag over the leg faces. Now just the foot faces have been selected. The UVTE is a very useful tool for selecting groups of faces, and can almost be used like a quick select set.
“Create UVs–> Automatic Mapping”. Check the top view of the map projection. Because the foot is turned off axis, the mapping is crooked.
Use the rotate handles to turn the projection and map the foot straight.
“RMB–>UV” within the UVTE, drag over the new foot shells, and move them out of the way.
The main chunks of the character have been mapped out. Now let’s clean up the torso. Usually Automatic Mapping leaves you with an obvious main piece as a starting point. Within the UVTE, “RMB–>Edge” and select some edges on that big torso piece.
It’s a good idea to zoom out when you select edges to sew together. Here, some of the arm was selected too.
Deselect unwanted arm edges. Notice that the arm edges on the torso shell are then deselected.
Select just the front torso edges that connect to the chest shell.
Hit the MOVE AND SEW button at the top of the UVTE. Shells are usually moved by “size”, so the smaller shell should pop over to the larger shell
Now, another shell is in the way. Use the technique described above to grab the full in-the-way shell and move it out of the way.
Select some of the chest edges.
Again hit MOVE AND SEW. If you MOVE AND SEW something but change your mind, you can undo actions within the UVTE. Just be aware that the window can be fickle.
Select some of the belly edges.
MOVE AND SEW these shells together. Notice how crooked this new shell came over.
Undo any crooked moves like this. Trust me, it will make your life easier.
Instead, select this shell and move it to where it should connect.
Select the connecting edges of the two shells. When sewing shells together, it doesn’t matter if you select extra edges that are already sewn. Just make sure you don’t have any unsewn edges selected.
This time, hit the SEW button at the top of the UVTE.
This will keep everything in line instead off popping one piece crookedly to the other.
Select the last big torso shell, and rotate/ move the piece next to the main torso shell.
Select connecting edges and hit the SEW button. Again, this prevents the shell from crookedly connecting. A note on seams: Always think about where you wouldn’t mind having UV seams. For example, if you were UVing a character with built in clothing, you could hide seams within natural clothing seams, like down both sides under the armpits. But since this character is a bunny, I’m putting one seam at his back.
Now to fit the tail in the torso UV shell. I prefer to have as few shells as possible (and thus as few seams as possible), though the tail isn’t going to look pretty. This is the “lesser of two evils” approach.
MOVE AND SEW all the tail edges to each other, being careful not to sew it to the main torso shell yet.
Now select the main torso tail edges.
Hit the MOVE AND SEW button. Good enough for now.
Select the main torso shell. Move it so that the front-center edges are mostly aligned with a UVTE grid line.
Select the entire center line of UVs, and grid-snap them. It’s very important to think about the full character, and not just the half character. Snapping centerline UVs makes mirroring easier at the end.
Now to introduce my most favorite UVing tool: UNFOLD. Select several interior UVs within the torso shell.
Within the UVTE, navigate to “Polygons–>Unfold–>option box”.
It’s very important to have “Pin UVs–>Pin unselected UVs”. checked.
Hit Apply and Close. Watch the UTILSG suddenly look much prettier as the UVs shift.
Repeat as needed using “Polygons–>Unfold”. To repeat your last action, hit ‘G’. It’s very easy to UNFOLD a bunch of small areas this way. Try not to use UNFOLD on edge UVs, so that the general shape remains correct. You can Undo if your UNFOLD doesn’t look the way you hoped.
Note how the UTILSG curves too far up on the character’s front neckpiece.
Tweak those front UVs one at a time. Use the UTILSG to approximate where they should be.
After tweaking front edge UVs, UNFOLD inner UVs.
Grab tail UVs and UNFOLD. UTILSG won’t look very pretty, but the torso is all one shell the way I prefer.
Use UTILSG to approximate where single UVs should sit.
The neck and shoulder area will be partially covered by the head, so it can look a little ugly. Select edges at the top of the torso shell to see what piece fits there.
Move other shells out of the way, and move the two connecting shells near each other.
Select just the front connecting edges and hit SEW.
Now grab that upper chunk of UVs, and rotate and move it so that it basically lines up with the main torso shell.
Hit SEW. The UVs will look all over the place, but several UNFOLDs and singular UV tweaks will fix it nicely.
Take a moment to “Edit–>Delete by Type–>History”.
Repeat steps 71-75, until the entire shoulder and neck part of the torso has been sewn to the main torso shell.
You can continue as long as you have time, checking the UTILSG to help you straighten and position UVs and using UNFOLD on groups of UVs.
Go back and tweak the arm shell. An ok place for a seam is along the back elbow area. It’s easier to find the edge on your geometry in the perspective view, instead of in the UVTE.
Once you have identified the seam edges, hit the CUT button at the top of the UVTE. Be careful selecting edges you are about to cut. Unlike when you are selecting edges to sew, you shouldn’t have any random extra edges selected.
Though it doesn’t look like anything happened, those edges are no longer sewn together. Now, select the edges on the opposite side, and hit the MOVE AND SEW button.
Grab the front paw shell, and rotate/ scale/ move it where it should connect.
SEW the shells together, and tweak and UNFOLD until the UTILSG looks good.
To finish the foot, MOVE AND SEW all those small internal pieces first.
Move shells out of the way of the main shell, which should be the top of the foot. Then MOVE AND SEW the side edges of the foot.
Move the main foot shell to where it should connect to the leg.
Rotate the side UVs of the foot shell out of the way of the leg shell.
Select the foot and leg edges, and hit SEW. UNFOLD ugly UVs.
CUT the edges where flaps of faces are part of the bottom foot shell. This way, seams are hidden better on the bottom of the foot.
MOVE AND SEW them to the main foot and leg shell.
CUT the heel in half, and MOVE AND SEW the pieces to the foot/leg shell. Move and UNFOLD UVs to make the UTILSG look pretty.
That ugly seam on the bunny’s leg needs to go.
CUT along the inner thigh edge to hide the seam reasonably.
Select opposite edges and MOVE AND SEW.
Select the upper leg edges, and MOVE AND SEW them to the torso shell.
Tweak UVs, move the center line seam out, and UNFOLD. Repeat until the UVs are not overlapping and the UTILSG looks pretty good.
Remember to move and scale all the shells so they fit within half of the 0 to 1 UV space. Grid snap all the center UVs where your shells should connect, to be prepared for when the geometry is mirrored. Delete history.
Now to UV your character’s head. Hide everything except for the head geometry. Switch to face selection mode.
Select all of the faces on the left side of your geometry, being careful of small faces where the sides connect.
Delete all of the left faces.
Assign UTILSG to your geometry.
With your geometry selected, go to “Create UVs–>Automatic Mapping” to get a UV starting point.
From the FRONT view, select all of the ear faces.
Select “Create UVs–> Automatic Mapping”. From the front, rotate the projection to account for the ear angle.
Within the UVTE, “RMB–>UV” and drag to select the newly mapped ear UVs. Move them out of the way.
Because automatic mapping did a pretty wacky job, from the side view select all of the front faces.
Navigate to “Create UVs–> Planar Mapping–>option box”.
Make sure “Project from” is on the correct axis (in this case Z) and hit “Project”.
While looking at the UTILSG, scale the projection so that the rainbow squares look pretty good.
“RMB–>UV” and select your new face shell. Move it out of the way and scale it down.
Select cheek edges to see which shell connects to them. Then, select the cheek shell and move it down.
Select cheek edges and hit the SEW button. Remember, connecting them with MOVE AND SEW would have made crooked shells, and thus more work.
Just like the cheek shell, if the forehead edges were connected with MOVE AND SEW, the UVs would be crooked.
Instead, move the forehead shell down and hit SEW.
UNFOLD and tweak UVs. Be careful NOT to UNFOLD open eye socket UVs, or the far edge.
Move the back of head shell in place, and SEW the edges. UNFOLD the upper UVs.
Select the top edge UVs, and scale them in ‘Y’ to flatten them. This works because the actual geometry edge is roughly a straight line.
Select several UVs beneath that flattened edge, without selecting the eye socket or far edge UVs. Hit UNFOLD.
Tweak the far right edge UVs, and UNFOLD until the UTILSG looks better.
Take a moment to “Edit–>Delete by Type–>History”.
Move the neck shell to where it connects under the jaw.
Grab the side UVs, and rotate/ move/ scale them roughly along the neck.
Select connecting edges and SEW them together.
Move the last neck shell roughly in place, and SEW it in.
Select several lower neck UVs and UNFOLD them.
Select the bottom neck edge UVs, and scale them in ‘Y’ to flatten them. Then move the UVs down so that they don’t overlap.
Select internal neck UVs and UNFOLD them.
Move the back edge UVs down, and keep using UNFOLD so that UTILSG looks better.
Notice that your UNFOLDS have started to mess up the lower lip area. To fix this, you first have to separate the “inside mouth” UVs. Using perspective view, find the last internal edge of your lips.
In perspective view, “control + RMB–>To Edge Loop” to select the entire inside edge loop. In the UVTE, hit CUT.
Select the inside mouth shell and move it out of the way.
Select several lower chin/neck UVs, and UNFOLD.
Move the center edge UVs so they line up better, and repeat UNFOLD until UTILSG looks good.
Zoom in to the mouth area in the UVTE, and select the lip edge UVs that are overlapping.
Move them until they no longer overlap, and tweak the surrounding UVs. Keep in mind it’s a bad idea to UNFOLD these lip edge UVs.
Now finish up the ear shell. Determine which side you want to be the main ear shell, and select edges on it.
MOVE AND SEW the edges to the main ear shell.
UNFOLD rows and chunks of UVs on the main ear shell.
Move the ear shells near face. Think about where you wouldn’t mind a seam.
Tweak UVs, then select the bottom edges of main ear shell and hit SEW.
Select groups of UVs and tweak and UNFOLD, watching the UTILSG.
Select the ear edge between two ear shells and SEW.
UNFOLD chunks of ear UVs, and tweak the head shell UVs, checking UTILSG.
MOVE AND SEW eye socket edges in to their own shell, leaving a seam in the tear duct. Repeat with the inside mouth shell, and remember that the mouth shell needs to mirror nicely. It’s so much easier to texture in Photoshop with thoughtful UVs. It takes no effort to splat some dark inside-mouth texture on a separated inside-mouth shell, rather than trying to texture the inside of the mouth when it’s still SEWN to the main head shell.
Move all the UV shells into 0 to 1 space. Grid snap all of the center UVs.
When you are completely satisfied with your UVs, mirror geometry however you prefer.
Switch to the front view, and select the far left UVs, being careful not to select the very center line of UVs.
From the UVTE, “control + RMB–>To Shell”.
Scale UVs negative until they are perfectly flipped.
Move the left side UVs to other half of the 0 to 1 space.
Select center edges and hit SEW.
From the UVTE, you can navigate to “Polygons–>UV Snapshot…” to export your UVs to Photoshop for texturing.
You did it! Now go forth and texture!