Complex UV mapping tutorial

I’ve been following various threads regarding UV mapping complex objects – here’s how I do it!

We are going to map the monkey mesh since everyone has it. I’m going to assume we want a symetrical mapping so I deleted half of the mesh. I then assigned different materials to areas of the mesh. In selecting these areas I made sure I could display the areas in the edit window with no faces hidden from some view.

Set up your windows so that you have both the UV Image editor and 3d view open. Align one of your material areas in the 3d view so that all faces are visible.
Enter UV face select mode and tab to edit mode. Make sure no verticies are selected and then select the verticies of the material with the select button show below. Press “U” in the 3d window and use the from window option.

I then move the just mapped verticies off of the light grey area so that mapping the next area won’t overlap this one.

I quite often adjust the vetrtices in the UV window as I go along (see below). Note: I use box selection for the verts to make sure I move both verts together. Save often as there is no undo in the UV editor.

Map all your material areas and move them off of the light grey area. Don’t panic when the already mapped verts disappear from the UV editor when you select a new material area – only the currtently selected faces are displayed in the uv editor. If you select all faces in the 3d window they will re-appear. The image below shows all the areas mapped.

I then used the “stitch” command in the UV editor to join the red, green, yellow and magenta areas shown above. Just select only the verts in the read areas for example and stitch, the correct verts will be joined automatically. Below you can see the results of stitching the red highlighted area

Don’t forget to move and rotate the individual areas before stitching so that they are close to each other and the verts line up as best as possible. Below is the result after I finished stitching and placed the mapped areas back on the light grey area. You can scale/rotate the various areas to make them fit well

Once you have the mapping done as above make sure to save your work. Delete all the materials you created for the different areas (the delete button is close to the select button you used earlier). Create a new material for your UVmap and add an image texture to it (Some sort of grid/test texture). Load the same image into the UV editor (make sure your in face select mode first). Make sure “texface” is pressed and you are in potato mode. Your screen should look something like below

You can now make final adjustments to your mapping in the UV editor and see the result update in the 3d window. Once you are happy with the mapping you can do a “File->Export->UV Face Layout” and take the result to your favourate paint program.

The result of my mapping (total time to map approx. 15 min.)

If you didn’t understand part of the process just ask and I try to update the tutorial


That tutorial is fantastic! There wasn’t one thing that wasn’t explained well enough to understand. I just read it and having never attempted to create a UV map before, I feel that it wouldn’t be that difficult. Thanks. :slight_smile:

no mean to burst your bubble, but the unfolding abilities of wings3d may be in blender’s next release [or perhaps the one after, there are many bugs in need of fixing]

making most of this [and thankfully my cumbersome vertex key unfolding technique] obsolete

it is in tuhopuu now [I think… I simply downloaded a build with it from the testing thread on], and I’ll try to explain everything you need to know

define your seams by selecting edges in edit mode, pressing control+e and choosing make seam [clear seam is in that menu too]

then, in face select mode, select a face on the region, press L [to select the linked faces, up to the seams] then press U, and choose LSCM

a bit more about that at

You have explained this technique very well. Thanks.

z3r0 d:
I’ve just followed your link about LSCM and got stunned. This method kicks ass!

z3r0 d,

I used to export to wings3d and do my mapping there and then import the results back into blender. I found two major problems with UV mapping in wings.

  1. You couldn’t and still can’t hide selective faces of an object – therefore you couldn’t map objects like the inside of a mouth since you couldn’t select the faces to place them in regions. A work around was to assign different materials to the object in blender before exporting.

  2. I didn’t have as much control of the regions where distortion was greatest /least as I would have liked. Perhaps the pinning of verts thats to come in tuhopuu will give me the control I desire. I wound up having to try multiple different region/seam arrangements before I got the results I found satisfactory.

Before “stitching” came along in Blender UV mapping was such a pain in the rear (which face/vertex matched which in the UV editor) that the wings3d option was, in my mind, the best.

Since “stitching” however, using the method shown in the tutorial, I’ve rarely take longer than 1/2 an hour to UV map even the most complex object and I have complete control. I don’t mind taking 1/2 an hour to UV map a model when its sometimes taken me countless more to create it.

I think of LSCM as an automatic transmission, good enough the majority of the time and adequate the rest. The manual methods are like a standard transmission when you want full control.

There hasn’t been a version of tuhopuu with LSCM built in for linux that’s worked for me yet posted at and I’m to lazy to build my own. If they have pinning of verts working properly your correct – the manual methods such as ours will become obsolete.


Thats what the new “sticky” select options in UV editor are for :slight_smile:

There will always be the need for manual UV tweaking, since all automagic unwrapping does some global compromising, bound to fail on tricky details.

may be it helps to overcome your lazyness when i say:
Pinning with LSCM works in tuhopuu CVS.
Issues with seams and pinning occured while subdividing have been resolved. So basic operations work flawlessly.

But there are too many things you can do to a mesh.

All the issues remaining deal with:
“what happens to seam/pinning data when you alter the mesh after you have defined seams and pinning?”

Example : Subsurf baking AKA ALT_C in object mode does not preserve seams yet. Most of the users would never have noticed that, since they do not even know the ALT_C option.

So unless we have covered all cases we know, there is no way for LSCM to go bf-blender.


GreyBeard, very good tutorial! And never mind - as bjornmose said, it might take some time for the new UV features to get into bf-blender ;).

It would be nice to have tutorials like this one in PDF format. I have to convert the tutorials I’d like to keep by hand (last time I did this with endi’s html-article about the gate).

The vertex key uv mapping technique is something that I will always use. It’s a fast way to get a good flat uv map without many issues. And you have complete access to all of Blenders modeling tools during the process. I wish that someone could code a standard uv morph mapping feature set into the uv editor. Then we wouldn’t have to resort to using vertex keys.

This is a good tutorial BTW GreyBeard. I like to see other Blenderheads takes on uv mapping in Blender.

Might I also suggest:

Its a real shame (and quite frustrating frankly) that such an amazing feature as LSCM doesn’t get into the BF sooner. I’ve used this tool extensively and while it doesn’t always create perfect results, it has never crashed Tuhopuu or corrupted any data. This is more than can be said of some features in most commercial apps… So its a little unpredictable in certain situations, but the positives outweighs the negatives by a landslide.


/me loves LSCM

I don’t have an export UV face layout function in my file menu. Are you using a plugin?

it should be distirubted with blender

in the .blender/scripts directory

are you using the latest version of blender?

[you can open the script in the text window and run it with alt+p too]

.blender? That explains why I didn’t see it. As you may or may not know, .files are hidden in Unices. Why is a part of blender marked as hidden? That does not make sense to me.

Well, anyway, I got it working now. I had made a symlink in /usr/local/bin which points to the blender executable. But apparently, the blender directory has to be the active directory for the scripts to work.

uey guys. everyone with the ability to compile a tuhopuu2cvs. do it. I just tried lcsm… stunning!

the tutorial is very good. since lcsm is still in development, this tutorial will be usefull for lots of users.