ZBrushCentral

Painting on top of Pixols (Tutorial: Depth Masking)

Is there any way to restrict the current brush to only painting above a certain Z value? I want to be able to paint on top of the objects in my image, but not on the background.

Thanks. :slight_smile:

:slight_smile: 'Afternoon CDE
I can’t answer your first question - BUT - the procedure I use is: When I’m going to paint on an object, first if there’s an image in the background, I hide that layer & just use a plain black background. I then hide all layers that I don’t want to paint on. Paint on the object you want with the brush, color & material of your choice. When your done, use the “Eraser Tool” to remove any painting that has gone over the object’s area. After that make all your other layers visible. That’s what I do & it seems to work fine for me. Hope this helps??? :smiley: Have Z good one
 :cool: Mark.

Like Kruzr says the easist way is to work in layers, what you do in one layer doesn’t affect any others, you do not even have to hide them.

Also, I haven’t played with it much, in the Picker Pallete you can set Z-Depth to “Once” and whatever you draw will only take it’s depth information from your first mouseclick and will draw only at that depth. I think you can also manually set the Z-Depth there.

but the easist way is to plan your work in layers.

Hi :slight_smile:
As Kruzr and Digits have pointed out, one method is to separate background/foreground items into separate layers which will allow you to modify one without impacting the other.
Another method is to use the auto depth masking in ZBrush.

What is auto depth masking?
Traditionally, painting applications are two dimensional, x,y or width and height, while the depth (or the distance from the viewer) of each pixel is not available therefore if you need to paint on the ‘foreground’ object without modifying background objects that are in the same layer, you need to manually apply masking to the image in order to prevent the paint from overwriting the background pixels. In ZBrush, being a 3D application, each pixel also as depth information associated with it, and the brushes can utilize the depth information for auto-masking. Here is one example using the SingleLayerBrush 
.

In this example, I have drawn a Cylinder3D, which is surrounded by 3 Ring3D objects


[img]http://www.pixolator.com/images01/automask/i01.jpg[/img]

As seen in the image above, the rings are partially visible/hidden. We will apply paint to these rings and cylinder and we will be utilizing the auto-depth-masking to automatically mask the brush strokes without having to manually create a mask.

Click in the icon below to download the sample ZBrush document

When download is completed, you will need to un-zip the file and place the resulting ZBrush document file in you ZBrush:ZDocs directory (folder).

Its time to launch ZBrush and open the document.

There are several tools that are capable of auto-depth-masking and in this example we simply want to apply new color to the existing rings and cylinder by using the SingleLayerBrush.

Step 1: Select the SingleLayerBrush. Select red color. Set RGB intensity to 100%. If you try now to paint on the rings, you’ll notice that auto-depth masking is not active and you will be overwriting both the rings and the cylinder (such as in the image below)

Because we do want the depth masking to be active, we UNDO(press ctrl+z) the last brush stroke and properly set the depth masking before we continue


Step 2: In order to activate the auto-depth-masking, we need to set a depth tolerance value. The depth tolerance is a value, which represents the virtual depth of the brush relative to the brush size. For example
 If Brush Size is 50 and depth tolerance is 0.5, then when painting, only pixols(3D pixels) which are not further than 25 (50*0.5) units in the Z(depth) axis will be modified, pixels that are further than 25 units from the depth of the pixel that is under the cursor, will be automatically be masked (protected).

While the SingleLayerBrush is selected, we need to open the DRAW.CHANNELS submenu. In this submenu you’ll find the Z TOLERANCE slider. By default it is set to 0, which means that it is ignored . Set the Z TOLERANCE value to 0.5. Now depth masking is active.

Step 3: Apply brush stroke to the top ring and you’ll notice that as long you are a painting within the ring area, the cylinder is protected.

Step 4: Continue and paint all the rings


Step 5: Now you can paint the cylinder, again you’ll notice that as long as you are paining within the cylinder area, the rings are protected.

Note: In cases where the depth distance is too small and you are overwriting pixols that you want to be protected, you can either decrease the size of the brush or decrease the Z Tolerance value.

I hope that you’ll find this helpful :),
-Pixolator

Awesome! That auto depth masking sure will come in handy, as well as the turning off/on layers, I hadn’t thought of doing that. Thanks. :slight_smile:

Thanks Pixolator. You’rve helped me out a great deal with this tut.
Thanks.
Upham

BOOYA!

Thanks Pix, that was the bomb!

I am a novice of zbrush.I get the websit in the zbrush help file.It is very useful to me.Thank you for your helping me in learning zbrush technic.

thanks Pixolator that is very usefull for painting :+1: