V Mask – ZBrush Projection

In this tutorial, apart from the process of creation of Guy Fawkes’ mask, popularized by the V For Vendetta movie, my aim is to show you the power of the Projection feature from Zbrush.

This tutorial will focus on technical part, instead of artistical ones.

My first advice would be to use references pictures. We’re lucky, as Internet is rich of it.
I also recommend using the fourth version of Zbrush, as we’ll need the Spotlight feature.
If you have two screens, jolly good ! Otherwise, you’ll need like me to display the required pictures inside of Zbrush.

When you’ve gathered every relevant picture you’ll need, to get the image in Zbrush,
we shall go inside of the « Texture » palette, click on Import button.

Texture_Menu_Import

Then, choose your picture, validate, and after, click on the « Add To Spotlight » button, located in the same palette.

Texture_AddToSpotlight

Don’t hide right now the freshly popping Spotlight tab, because it will pop again on every texture addition. Keep it for the final action. Use the comma key « , » to hide it.

2014-02-17 10_30_49-ZBrush

Once your graphic stuff is on board, organize it as you wish, with the Spotlight manipulator. For the practical details, and complete information about its usage,
I forward you to the Pixologic online documentation.

http://docs.pixologic.com/reference-guide/texture/spotlight/

The most important part here is to deactivate an hidden button, which by default prevents us from sculpting our model, as Spotlight was mainly designed to paint texture on geometry only.

For that you’ll need to go in « Brush » palette, and dig into « Samples » subpalette, and then disable the long orange button « Spotlight Projection » ! You’re done !

BrushPalette_SpotlightProjection

If you ever need to project again any texture on your model, come back here and reactivate it. I also suggest to add it in you interface, if you have to do often times the switch.

Good, now Zbrush is prepared, we’ll start to take a little time to examinate the case.
This mask raises two kinds of problem :

  1. – It is a very thin object, which needs a greater care in strokes, or undesirable results, as we may turn around it. AutoMaskBackFace (Brush -> Masking) would reveal precious ;
  2. – It has numerous holes, which added to the previous point, makes the process even more delicate.

This project sounds like surgery. Fortunately, thanks to the ingenuity of Zbrush, we’ll discover soon why this software became a painkiller asset !

So we can start with a lighter heart, and use a very simple sphere.
No matter for the thickness of the mask for the moment. The next pictures are here to show you some of the evolutions of the sculpting process,
and not to explain how to sculpt it.

GuyFawkes_Mask_Lineup

During this initial phase, I even needed to use a Dynamesh operation, which removed my original topology, and which of course doesn’t contitute a decent topology for any polished project.
But it was necessary to have an even pattern of polygons , so that subdivision would act correctly (someone may notify me that « Relax » operation in the Deformation subpalette fit my needs. Why not ? It’s good to know that exists, though).

Don’t forget to save, and to make backups !

VMask_Polypainting

When modeling part was over, about 90 minutes later, I could start polypainting.
On the same model, don’t worry about it.

VMask_Polypainting_Finish

As original colors weren’t so complicated, no pattern, no gradient, just a Standard brush was needed. You can pick color just by leaving your cursor upon the relevant pixel, and hit « C ».

Another tip, don’t forget to create polypainting on 3D layer (within your « Tool » palette, not the « Layers » palette).

Ok, now I consider polypainting as done, and here begins the proper work of detail transfer, which is the goal of this tutorial.

Here is the plan : we’ve got a sculpted, painted model, which weighs a couple of million polygons, with a dirty, messy topology, and we want it to be transposed onto a clean, optimized mesh.

We can start with a rough extraction of the face. First you need to draw a mask on the area we want to extract (CTRL + draw).
VMask_Masking_wip VMask_Masking_full

To sharpen it, hold CTRL + ALT, and click a couple of times.

VMask_Masking_Contrast

Now go into the « Subtool » subpalette, and in the bottom it, you’ll find the « Extract » section. Open it, and deactivate « Double », « TBorder », leave « Thick » at zero.

2014-02-17 14_11_50-ZBrush

Click on « Extract« , which will give only a preview of the operation. If you do any other action, preview would be lost. When the preview satisfies you, click on « Accept ».
We now have a single side of polygon. That is normal, and wanted.

VMask_Extracted

Then, from this extracted, we will make a Zremeshed one. It will produce a full quad topology, whereas a Dynamesh one will leave a regular spatial grid topology, which is not an optimized one. For Zremesh to work more efficiently, I recommend to use the Zremesh Guides Brush (B + Z + R), and to draw the main topology lines on your model.

VMask_ZRemesher_Guides

For this mask, I think that 500 polys is a sufficient density.
A thousand is already too much.
I also deactivate the « Adaptive » button, which has a tendency to not comply with the polycount setting. I don’t blame it, because it works with a higher priority than the polycount setting.
By deactivating it, we’ll get polygons at a rather uniform scale. Adaptive mode would create smaller ones to better catch small cavities.

Vmask_Zremeshed_1k2014-02-17 14_19_32-ZBrush

Vmask_Zremeshed_0.45k2014-02-17 14_22_35-ZBrush

Right, now the Zremesh is done , we should do a Projection, just to ensure that it matches our initial geometry.

To do so, go to the « Subtools » palette.

Subtool_Projection_List

Now take care : for subtools, vertical order matters.
For Zbrush, you should place in your subtool list the reference object above the object you want to be reprojected. Zbrush will examinate every object in the list, but of course you can exclude them from the calculation by hiding them. Just click on the eye icon.
What you see in your scene will effectiveley be used as reference, it’s that simple.

Now comes a crucial setting at this step : Projection Shell. By varying the Projection Shell value, we can notice that our mesh is inflating. No panic though, it is just a way to display how far our mesh will have to search from reference the points to match to.
Once the reference mesh is fully covered by the Projection Shell, release the click, and the mesh returns to its original appearance.

ProjectionShell_001ProjectionShell_002

Now you can press the « Project » button, and Zbrush asks if we also want to project polypaint data. That’s cool, but not now, so decline its offer.

Alert_Projection_Polypaint

Now we can export the Zremeshed, projected mask as an .OBJ file, to be refined in our favorite 3D package. Not that Zbrush cannot delete particular polygons, but after many tries and fails, I considered the task would be easier and straightforward in a regular 3D package. Also export a mid-level of your sculpted mesh, as a better reference for placing holes.

We will leave Zbrush temporarily, and for this task you’re free to use any modeler you feel comfortable with.

When you’ve imported both Low poly and high poly versions, I recommend not to start by creating the thickness of the mask. This should be the last modeling operation.

Now we can have real holes for the eyes, the nostrils, and the rectangular slit between the lips. Then, you can make the UV map. When done, save your .OBJ, and you can import it back to Zbrush.

VMask_Good_Modeling

Be careful though, before importing any .OBJ, change your active tool (the one with subdivision levels and subtools) to a primitive object, or the imported object will replace the previous one.
You should then add the freshly imported .OBJ inside of your existing Ztool, via the « Append » button, located in the « Subtool » palette.

Now comes an important answer that was awaited : will Projection work with a pierced geometry ? Yes ! Not only it works on a single sided geometry, but also on holed ones !

I would like to develop another point about the projection workflow inside of Zbrush : at the beginning of Zbrush, (but it is still possible today) you could replace a geometry by another one, even if their topology differ.

For that you had to go to the lowest level of subdiv, and do the swap.
The problem is, you have no have no idea if your new mesh takes the same space as the old one, and if not, the automated projection will lose the details and colors at these areas, as you can see on the picture. There’s no setting for this operation, and if it fails, you have to cancel, modify your mesh apart, and try again. See the example below…

Projection_w_Replacement

On the contrary, working with subtools and the Projection settings enables us to make the geometry match, even if they were not, and above all, it doesn’t destruct the sculpted geometry !

By doing so, you’ll be able to retrieve on your low poly mesh not only the sculpted details, but also the polypaint !

2014-01-12 13_48_09-ZBrush

Here is the sequence to reconstruct the mask onto the new geometry :

  • – On your sculpted mesh, set the level of subdivision to the lowest, so that the fresh new geometry as the same starting point as the sculpted one ;
  • – Create a morph target on the new geometry ;
  • – Apply projection ;
  • – Subdivide the new object ;
  • – On the sculpted object, raise by one level the subdivision ;
  • – On the new object, apply the projection ;
  • – And so on, until you reach the last level of subdivision on the sculpted object, then subdivide the new one again, and project a last time.

Why ? Because the new one had a much lower polycount at start, so at equal subdivision level, the amount of polygons is unbalanced between two objects, as a penalty for the new one, which has for consequence to be not as fine as its counterpart, and make the projection less effective. That’s why I make an additional subdivision, at least to match or exceed the target polycount.

Your polypainting should come nicely too, when ZBrush asks you.

Now we are close to the end, and we should be able to export our maps. We don’t need anymore of the original, sculpted object.

GuyFawkesDiffuse GuyFawkesNM

Let’s go to the lowest level of subdivision, and switch the morph target.
You should notice that it has changed slightly. This state corresponds to the actual shape of the geometry you made in your modeler, the one I guess you will use your maps on.
If ever you needed to make any sculptural change, switch again this morph target, because it would cause unwanted changes to your sculpting levels.

As you can see below, the result of maps displayed onto the low poly mesh.
I didn’t generated specular map, because in the movie, the mask has the same overall specularity.

Guy_Fawkes_Creation_09Guy_Fawkes_Creation_08

As a conclusion, I would say that Projection feature is a priceless tool which allows us to migrate details from a model to another, plus the polypainting ! No need to bake textures during the process, and no matter the topology is. My intent was also to demonstrate the possibility to use non closes geometries.

This is a unique website which will require a more modern browser to work!

Please upgrade today!