How to UV map efficiently using ZBrush

Posted by on Apr 13, 2013 in Tutorials | 13 comments

How to UV map efficiently using ZBrush

Imagine you’ve just finished your biggest personal piece to date. You’ve spent the last couple of months on it and you’re extremely proud. You post it online and the comments flood in: “Wicked UVs man!”, “Dude, those are some sweet UVs!”.


…Said nobody ever. The reason? UVs are invisible. You will see when the UVs are bad, but you’ll never notice them if they are good. This is where this tutorial in comes handy: I want to show you a way where you can get as good UVs as possible in a minimum amount of time, so that you have more time for the creative process.. like not doing UVs.


In short: Ever wanted to spend less time UV mapping and more time on the fun part? If you’re frantically waving your hands in the air by this notion, read on.


Oh, and if you’re new to ZBrush and you only want to use it for the sweet UV mapping, you can check out this tutorial which I’ve aimed towards beginners.

General ZBrush Tips & Tricks





First, let’s discuss what UV mapping actually is and why you need it:

UVs are basically just a 2D representation of your 3D model. You need them so that you can texture and use maps such as normal, bump and displacement maps. Without UVs, there is no way to paint a texture map (we’re pretending PTEX doesnt exist for now). The U and V are axis in a 2D coordinate system. U is the horizontal direction and V is the vertical direction (V – Vertical – you’ll remember it now) .


Oh, and if you’re looking for a more technical description, Wikiepedia has some good stuff on the subject.

Wikipedia on UVs

Here we see a 3D model being unfolded into a 2D representation of it.



Uv mapping in general can be very time consuming and it’s the phase of the production you just can’t wait to get over with.  Some years ago, Pixologic, the wonderful guys behind ZBrush, released a plugin called UV Master. It’s truly a fantastic plugin and I highly recommend that you learn it really well, as it will without a doubt help you a lot with UV mapping.  It has some very interesting and fancy features, but we won’t be playing with any of those. Basically I’m only using UV Master because it has a really good unfolding algorithm.


With this technique, you can easily unfold very complex character in a manner of 10-20 minutes.


To describe the process in short:

1. We pre define the seams in our main 3D app. I’m using modo and here, but you can use literally whatever you’d like. We simply make sure that all our uv islands are made before we go into ZBrush.

2. In ZBrush, we use UV master to unfold our model.

3. Send it back to your main 3D app and arrange the UV islands to your liking.


This is a very simple process and it works really well in nearly all cases.


This is the model we’ll UV map, freshly cooked from the modo content.



PART 1 - Defining the UV seams




Go to the UV tab and activate symmetry. It’s really helpful if your model is symmetrical as you only have to do half the work. Start to select the loops you want. I always start with the biggest loops. Every time your close off a loop, you define a separate UV island.



When you’re deciding where your UV seams should be, look at your clothing. If you use the seams in your pants as a guide for where to place them in 3D, half the battle is done.



Every unique color is a different UV island



Have a seam which goes through the 4 fingers. This makes the unfolding easier.


The final seam placement.



Now hit the Unwrap Tool under the UV tab. The settings really doesn’t matter: The only thing we want is to define the seams.




I now scale them down so that there’s absolutely no chance that they will go outside the 0-1 UV space. Scaling them down this much isn’t necessary though, as long as you’re absolutely sure that they’re all inside one UV tile. It’s also essential that all parts of the model are in the UV map, even if they wont be textured. If parts of the model doesn’t have UVs associated with it, the UVs will not appear in ZBrush.



Click the GoZ button. This will send the mesh over to ZBrush without you having to export it.


Thats it for now. Next up: ZBrush!





Load up your model and go to Panels – Saved Layouts – Persp/UV Texture Editor to get up a more UV friendly UI.




Make sure that you’re in modeling mode. Then go to Create UVs – Planar Mapping. This is simply to get some UV coordinates to work with. It should look something like this.



Selection in Maya is pretty bad, but there’s one tool which will save your sanity while doing UV seams:  To select a range of edges, select the first one and then double click on the last one. Very handy!





With the seams selected, go to Polygons – Cut UV edges, or simply hit the Scissors Icons in the UV window. So far everything seems to look the same.  However, if you enable UV seams in the viewport, you can now see that the seams have indeed been cut.



To make the UVs prettier, go to Polygon – Unfold, and then Polygon – Layout, in the UV Window.


Now, select all the UVs and scale them down so that they’re within the first UV tile.


I’m really not concerned with how much stretching there is at this point – the only thing I care about is the placement of the seams. Frankly, you dont even need to unfold them. Simply cutting the planar projection works just fine too.
Export your mesh out and you’re prepared for the next step! FileExport Selection – Save as an .obj. You can use GoZ, but use that at your own risk; I’ve had very mixed results with GoZ and Maya.






Now it’s time to actually unfold our model and make some nice UVs. If you didnt use GoZ:

Tool – Import. Select your file.

Hit T to enter Edit Mode.

Now, go to Zplugin – UV Master.



You should explore what all the buttons are doing, but for this technique, we only need a few:

Unwrap – By hitting this, you unwrap your model.

Use Existing UV seams – This must be activated for this to work. You’re now telling ZBrush to only use the predefined seams as UV seams. ZBrush will then not try to cut up the model to its own desire.

Work on Clone – If you’ve already sculpted on the model and you want to UV map it, you need to click this. Doing so will clone the current tool and delete the higher subdivision levels.

Copy UVs & Paste UVs- Will copy the current UVs to memory and paste them onto a new model. Extremely handy in so many cases.  The vertex ID needs to be the same for the two models for this to work.

Flatten – This will flatten the model to UV space.


The ideal settings


Hit Unwrap! Boom! The model has now been unwrapped. Hit Flatten to see the uvs in 2D.


The UVs are now pretty awesome when it comes to stretching, but the placement is bad. This is where we bring them back into our main 3D app to organize the UV layout.

Hit UnFlatten to bring it back into 3D.


If you’re using GoZ, hit Ctrl G to send the model back into your main 3D app. If not, go to Tool – Export and save as an .obj.





I’m not going to go too deep into the two apps here, as the process is very similar.

At this stage, I always check how much stretching there is in my UVs. I do this by adding a UV checker as a texture map and tiling it about 7 times across.


Make a new material by pressing M, go to your render tab, Render Preset Browser  - Images - UV. Drag one of the textures on top of the model. Go to the Texture Locator and change  the Horizontal Wrap to 7 and hit Enter while holding down Ctrl. This will add the same value to the Vertical Wrap too.



Right Click on the model – Assign New Material – Lambert.

Go to your Lambert Node in the Attribute Editor. Click on the Color slot (Create Render Node) – select File – select your uv checker. You can find some simply by Googling “UV MAP”

Go to the place2dTexture node and change the  Repeat UV values to 7 in both slots.





As you can see, there’s very little stretching.



This is what our UV layout looks like now. The most apparent problem is that all the islands are very, very close together. This will definitely cause problems later on.



Here I’ve simply moved the various pieces around. As a general rule, have the islands belonging to the left of the character (as seen from the front) be on the left side, and the same with the right side. This makes the UV layout way cleaner.



And there we go! A full figure with pretty good UVs, all in about 10-15 minutes.



If you have any questions, dont hesitate to contact me at henning.sanden [at] gmail [dot] com


  • FaF Asim

    one thing that should be kept in mind is that the uvees shouldnt overlapping or flipped…i encountered this problem when i didnt do much regarding the uvees in maya…that is i would just use planar mapping and use unfold on some or the ones i felt like as I read you said that we dont even have to unfold, just planar mapping then in zbrush when you bring a mesh with such UVees and unwrap, it gives some shell error. To fix this I had to adjust the UVees in maya so they arent flipped or overlapping and then it worked in zbrush….I think i had to go through all this since my model was much complex than yours…but the end result, the uvsheet that i got from was perfectly checkered…thanks for this :)

  • Augustus

    very nice and quick tutorial about uv’s ! :) thank you for that!

  • nate

    hey man,

    great tut! got a problem though – i do everything u do but i have two problems:1. zbrush doesnt fully retain all my seams on my obj(seams are missing) and 2. cannot use the unwrap function – i get a message saying “Unwrap not performed because the mesh contains closed shells! Open them or disable ‘UseExistingSeams’ which defeats the purpose of making a neat unwrap in zb. this is killing me, please help!!


  • hosein

    thank you so much
    your advice saved me a lot of time

  • Rhodalle

    I love your tutorials, but unfortunately, I’m not using Maya. Know of any good tutorials for newbies that are about UV mapping exclusively in ZBrush, rather than just with it?

  • Lukas Chrpeak

    Good tutorial. but you dont need Maya or Modo or whatever, everething what you need is Zbrush. You dont need seems, just make polygroups, for every island of UV map one polygroup(with symmerty), and then in UV master check polygroups, and you can with UV master polypaint feature, paint with blue color, where you want to UV map unfold. It sounds very complicated but it isn’t. Then you can, flatten model in zbrush and with move, scale, rotate and mask, reorganized UV mapping.

    • Rachael Compton

      That would be great if the UV Master in Zbrush would let you place seams as simple as you are making it out to be- the sad fact is that if you have a non-symmetrical shape, it often doesn’t read the topology well enough to get it as clean as manually setting things up in Modo. :/

  • Odd

    Wow, thanks a ton for this! UV’ing my models has been killing me.

  • MapacheW

    Awesomeeeeee pipeline for UVs ! :D

  • Denis

    Hi, I’d to sorry for my english and will try to describe the problem I have faced. I make unwrapping – it’s Ok. Then copy UVs and paste it to my subtool- Ok. Then I go to “surface” and using noise I put a mask on my subtool – I get what I want – Ok. Then I merge two subtools, and after that my surface changes dramatically. Plz see pic. How I could settle the problem. Thanks in advance.

    • Awakening Day

      You need to hit “Apply” first to after you use the noise function. It looks applied but it isn’t. Using noise is just giving you a Preview of sorts. In the Noise menu there is a button called “Apply to Mesh” click it and you’ll be happy.

  • Adam Clark

    Just a point…. titled uv in zbrush…. Then goes on to describe uv’ing?… in modo….. and maya. not really helpful when you only have zbrush…. Not trying to be offensive. its just misleading.

  • Georgiy Povolyaev

    Wrote a guide with a blender,pls