Jump to content

Z-Brush Tutorial - Multiple UVs and textures on one mesh


Codewarrior Congrejo
 Share

You are about to reply to a thread that has been inactive for 4049 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

If you want 'more texture-detail' on one combined object - and give it more then just one texture / UV,

you have to create and manage different UVs.

Whilst this is rather an easy task in regular 3D Programs like Blender, Maya, Max, the workflow for ZBrush is quite
different. 

Due to ZBrush's rather limited capabilities of handling more complex UVs and also
the fact that it in general mixes them all together into one texture space - if you don't know the full depth and functionality
of Z-Brush and ways to work around.

This
tutorial will not only show you how to edit and apply different texturesin ZBrush to a mesh that has been
created outsides of ZBrush with several UVs on the same mesh.

It will also explain the complete workflow on how to create different UVs on one object  'in' ZBrush.
In addition it will give you insight on how to actually paint on UV maps also in Z-Brush. Which is little known to the most users.

The workflow is rather different from what regular 3D software users are used to when handling and editing their UVs and maps.
But for everyone who ever struggled with this, and I know many do, I hope all the effort gone into this tutorial will
enlighten you =)


Since this is rather an extended workflow process, I will keep it mostly explained in pictures. It might be a bit harder to
understand for ZBrush-Starters. And I am 'trying' to explain every button and step as well.
So don't feel discouraged when you don't understand it fully in the first place. You can post questions, and I am sure
many people will be willing to help and reply.


This being said - let's get started:

DiffPolyGrand UVsinZbrush_01.png
For those who don't know how:
- CTRL+SHIFT+Rightclick and drag a rectangle (or a free selection shape, when you change the Selection-Tool
   into a lasso) this will hide the selected area.
-  Switch to the Polygroups-Panel and choose Group Visible to assign all visisble polygons into one group.
- You can repeat this step for other parts as well.
- Another option for Grouping is to use colors and paint on your model and choose  Polygroup >  From Polypaint.
- Also Masking can be used to create groups.

DiffPolyGrand UVsinZbrush_02.png
- The Duplicate Tool option is nested right below your Subtools in the Subtool-Panel.
- Hide the original model by clicking on the Eye-Icon assigned to it in the Subtool-Panel.
- To unhide all polygroups or hidden parts just CTRL+SHIFT+Rightclick on an empty spot on the canvas.
- Duplicating your model will preserve the original and you need it to repeat these steps for the other parts.
- To hide one of the created polygroups CTRL+SHIFT-Rightclick on it.
- If you have several groups and need to hide more then one - repeat this process by clicking onto all parts you
  want to hide.
- Once you have hidden the group/s and only the part you will work on right now remains visible:
- Go to the Tools-Panel, under Geometry > Edit Topology and choose Delete Hidden this will remove all invisible
   Polygons from this object.
- We will combine the objects later again but for now we don't need those.

DiffPolyGrand UVsinZbrush_03.png
- To Unwrap your new partial object, go to the Menu-Panel on top of Zbrush and choose ZPlugins > UV-Master.
- Don't forget to choose in the Tools-Panel > UV Map the size you want for your UV texture.
- 512x512 px, and so forth. Don't forget the highest resolution for Second Life is 1024x1024 px.
- In here you can either just plain unwrap it with the unwrap command, or first do some control paintings
   if you wish your seams to be in a certain spot.
- Now press the Flatten UVs Button in UV-Master.

DiffPolyGrand UVsinZbrush_04.png
- Now switch to the Texture Map Panel and create (with the still 'flattened' UVs) a New Texture from UV.
- This is needed for later because you will now work with different textures / different UVs on the same object.
- And this also will give you a visual layout of the UV map, which allows you to paint on and knowing which
   face is where.
- Press the Clone Texture Button.
- Switch over to the Regular Texture Panel (nested under the Brushes), it will now display your newly cloned Image
- And choose Export on the bottom in order to save this image to your disk.
- Go back to UV Master and Unflatten your UVs.

Continuing with the work:
DiffPolyGrand UVsinZbrush_05.png
- Repeat now the steps from above with a new Dulicate of the original tool. But this time hide the other part.
- Repeat also:  Delete Hidden, the UV-Unwrapping, the Flatten UVs, the New Texture from UVmap, the Cloning,
  and the Export / Save Image, and Unflatten your UVs again.

DiffPolyGrand UVsinZbrush_06.png
- Follow the 3 Steps above.
- This will now Combine your both separated and UV'ed parts back into one object / tool.

DiffPolyGrand UVsinZbrush_07.png


DiffPolyGrand UVsinZbrush_08.png

Important notes at this part of the process:
DiffPolyGrand UVsinZbrush_09.png
- From now on you will have to choose from Texture Maps, and apply the Color-Information from those onto the
   separately UV'ed areas on your model.
- You will have to Hide and Unhide the certain parts in order to edit or apply those Maps.
- Simply painting across the whole surface of the object and then creating a New Texture from Polypaint will 'not'
   work anymore
and just result in one collapsed image.
- so keep the next steps in mind when working with such a model in ZBrush.

Some consideration to take into account:

DiffPolyGrand UVsinZbrush_10.png

BUT: 

- Many Export-Types (like exporting it into OBJ) will break the model into separate objects where the polygroups are.
  This means that the Normals will have a clear visible cut between the separated parts, which is a rather unwanted
   effect. And vertices will have dublicates, du to being on the same coordinates where the seams meet.
- Normally we create objects with several UV maps applied in other software then Zbrush, because here we have full
   control of joining seams and vertices and prevent them from being separate objects. And would later on import it into
   Zbrush to do sculpting or further editing for displacement maps and other wanted steps.
   Or we would take a model that had been made in Zbrush and merge the objects, remove doublicated vertices, etc.

- However the DAE Format is supposed to keep them as one object with joined seams. But sometimes it fails when
   coming out of ZBrush, so be aware of it and inspect your mesh closely after you exported and imported it into Second
   Life.

PS: The DAE exporter is an extra plugin available for Zbrush. (you might need to download it first)*
       * Forum-hiccup again, won't let me paste the link, interprets it as image O.o. Will try to add it as reply.

Back to the workflow - Creating and applying images for the UVmaps:

Method 1 - Image Editor: 

- Since you saved your images afore, for the bottom part and the upper part, you can now take them into any
   Image Editor, create a New Layer and paint whatever you desire on top of it.

DiffPolyGrand UVsinZbrush_12.png

DiffPolyGrand UVsinZbrush_13.png

Now the important part - how to apply the textures to the different UV parts on the model:

DiffPolyGrand UVsinZbrush_14.png

DiffPolyGrand UVsinZbrush_14_1.png
- make sure no parts are hidden or you can't subdivide.

DiffPolyGrand UVsinZbrush_15.png

DiffPolyGrand UVsinZbrush_16.png

DiffPolyGrand UVsinZbrush_17.png

DiffPolyGrand UVsinZbrush_18.png
- if the textures appear too pixelated or blurry, just go back to the step of subdividing, add a few more divisions and
   apply the textures again. (The more subdivisions the more clean the outcome in your viewport)
- Just don't forget to go back to the max amount it should have for SL before exporting.
   You don' want to accidentally try to upload a model with several million polygons.
- You could also preserve a copy of the merged object
- keep in mind that subdivision allways changes the lowest division shape too. (Exceptyou are working with a 'Cage')  
- You need the high subdivision here really just to check the visual nature of your textures.


Method 2 - Painting onto UVs within ZBrush:

- For those being used to use the 'Morph UV' function, Morph-flattened UVs can't be used for the following steps.
- They allow you to paint rather 'temporarily' onto it but there is no way of preserving it. This is why we will work with the
  flattened UVs from UV master.

DiffPolyGrand UVsinZbrush_19.png

DiffPolyGrand UVsinZbrush_20.png
-
If you are afraid to mess things up on your original model (especially the "Undo" often breaks the Unflatten, and the
   propper return to your model is not possible anymore -  its's a known issue):
- Just make use of the Work On Clone functionwhich UV Master is offering.

DiffPolyGrand UVsinZbrush_21.png
- and here comes the magic:
- Since the Flattened UV is fully Geometry this means you can subdivide it, paint on it, even sculpt it, relax or contract
  areas and much more.
- You can even apply former created textures to it (by Polypaint > Polypaint From Texture ) and then continuing to paint
  or edit it later on again.

Imortant:

- Don't forget to disable 'Zadd' / 'ZSub' and to enable 'Mrgb or RGB'
to prevent from accidentally sculpting or
  subdividing the UVs in unwanted ways,
and to just apply color or material information to them.
  (right now we need to avoid anything that subdivides 'partially' or adds height/depth to it - but smoothing and other
   similar functions can be used)

- It has to be back on its lowest subdivision level, or it will fail to unflatten again.
  (the unflattening is not needed, when we only want to paint on it and save the colorinformation to a texture - but as a
  warning note if you want to use this procedure for other tasks)

DiffPolyGrand UVsinZbrush_22.png

DiffPolyGrand UVsinZbrush_23.png

DiffPolyGrand UVsinZbrush_24.png


Alright, that's it - you have passed the tutorial ! ; )

Cheers! Code.

  • Like 3
Link to comment
Share on other sites

Hi, I actually got those buttons to work although maybe not best practice! Now trying to work out weight painting. Trying to get the item not to cling to the avatar body so much in places....but that's another topic. (I posted a pic in the other thread)

 

Thanks again :)

Link to comment
Share on other sites

Here's another method that both allows for multiple polypaint  textures to apply to one mesh made in Zbrush, and which also maximizes pixel space use for your polypaint textures.  (Also note in Second LIfe you can only import one UV set per mesh, with this method  and the method Codewarrior detailed you aren't actually creating more then one UV set,  you are simply overlapping UV islands and assigning each of these overlapped islands a unique  polygroup  to create corresponding texture faces in SL.  This way you can apply more then one texture to your mesh referencing a single UV set thus achieving much higher texture resolution then if all the uvs were spread out in the UV space and you used a single texture.)

 

Create your mesh in ZBrush, including polypainting.

 

Move the subdivision geometry slider for the mesh to the resolution you intend to export.  Divide the mesh up into polygroups  representing the texture areas you want to turn into UV islands.  Do not exceed a maximum of 8 polygroups as polygroups are the same as material groups as far as the collada upload is concerned and material groups define  texture faces.   8 is the maximum you can define for a mesh in SL.

 

Create a clone of your mesh from the tools palette and in the Subtools palette, rename it "Clone" or something that distinguishes it from the original.  With this clone set to the upload resolution you chose,  delete any higher and/or lower subdivision levels via the geometry sub-palette.

 

Open UV Master and make sure the Polygroups button is highlighted.  You can optionally also use control painting to influence where things get split up.  Create your UVs and flatten them.

 

From your flattened UVs select a polygroup/uv island  using  the show/hide method using  CTRL Shift Click  and make only one UV island visible.  Move and Scale it into position using the Move and Scale tools from the top menu bar. (shortcuts W and E).  When one of these buttons is selected you can simply hold down alt and set your cursor in the middle of the geometry, and while  holding down your LMB  drag to either move, or to scale uniformly, depending on which is selected. Ideally you want to fill out the UV space as best you can.  Remember to return to Draw mode (shortcut Q) to unhide and reselect the other islands, in turn.

 

Unhide all the UV islands and select another island for editing, hiding everything else as described above, and moving and scaling the selected island to fill out the UV space.

 

Repeat for all the islands.  You will end up with something like this where the islands are stacked on top of each other:

Screen Shot 2013-03-23 at 3.51.19 PM.png

 

 

 

Note that as long as you do not move things off the 2d axis that the UV's occupy  (turn off Zadd and Zsub while move and scale your uv islands),  when you are finished editing your UVs you can unflatten your mesh without a problem.  However to be on the safe side keep a back up of your mesh just in case something goes wrong.

 

When you are finished manipulating your UVs, use the "Copy UVs" function in UV Master.  

 

Return to the original mesh and, again from UV Master, select "Paste UVs".

 

If you haven't finished polypainting and sculpting your mesh, do so and continue as follows:

 

In the Subtool Palette, make duplicate  of your original mesh so you have a back-up on  a sub-tool layer.   Select the duplicate and choose Split >Group Split.  All your polygroups will now be on their own subtool layer. 

 

Turn off the "eye" icons on all  the subtool layers so only the selected layer is visible.

 

Select a sub-tool layer (not the original whole mesh - just the polygroup parts) and make certain your setting for the sub-tool you have selected is  set to it's maximum subdivision level re: the slider in the Geometry subpalette.  

 

In the UV sub-palette and select a UV map size and also set the UV Map Border to 8.  

 

In the Texture Map sub-palette select Create>New from Polypaint.  

 

Clone the resulting texture to send it to the texture palette for export.  

 

Repeat for each sub-tool.  Note that the  UV Border setting isn't persistent so you will have to reset it for each subtool.  Also remember before exporting to flip each texture vertically.

 

Export the Clone mesh that was the basis for making  the UV set.  Export all the textures.  Upload to SL.   Apply textures.

 

  • Like 1
Link to comment
Share on other sites

Great addition Nancy =) Thanks

And yes it's basically the same steps. Just in another followup and dividing at the end again for the export. In case you wanted to polypaint across the whole model. 

Still finding it bothersome that you have to 'separate' or 'hide and delete' parts every time in order to export the diffuse maps (images) in Zbrush.
But then again it's meant to be a creative / concepting tool, so that's all we get (for now at least) : )

Link to comment
Share on other sites

Well I think both methods illustrate how tedious it is to use Zbrush for the purpose of making UVs.  It's a very interesting challenge, but for practial purposes, I think we agree it's a big waste of time as a standard workflow.  As we both remarked on a prior related thread, UV unwrapping it's something easily, quickly and more precisely accomplished in a conventional 3d program or a program like UV Mapper that is specialized for the task.

I have even more tricks I've discovered along the way for manipulating the uvs in Zbrush, such as very carefully using the nudge tool  or snakehook tool set to a very low brush size to move verts of the uvs (after you click on the geometry hold down shift to contrain to the axis of the uvs) to shape the islands up, but as we've both experienced it's difficult just to get the basic's of UVing in Zbrush down on paper.  

I very much enjoyed  learning your method and I've picked up a few pointers so I appreciate that you shared your workflow.   Thanks.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 4049 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...