Not So Primitive: Parametric Models
From ZBrush Info
In this section we’ll introduce some basic modeling principles by using masking and deformations to transform primitive objects.
One aspect of ZBrush’s workflow is the ability to create extremely complex scenes by combining a bunch of smaller objects. Ultimately, a scene could be composed of millions or even billions of polygons, yet still render in real time! This is because only one object ever exists as polygons at a time. But where to get those building block objects in the first place?
ZBrush provides a very powerful masking and deformation system that is unique to parametric objects. (Both are available for polymeshes, but the more specialized selection functions that we’ll make heavy use of here are only available for primitives.) In this section, we’ll explore a few of the possibilities inherent in this system by creating several complex objects.
Contents |
Plastic Pipe
- Select the Cylinder3D tool. Draw it on the canvas and enter Edit mode by pressing T.
It is possible to do the effects in this tutorial while the model is still in the Tool palette, but it’s much easier to see your results when the model is on the canvas.
- In the Tool:Initialize menu, set X Size and Y Size to 20.
The Initialize menu has settings that change from one primitive to the next. These are the parameters that you set to control the model on its most basic level. In this case, we’ve changed the model’s cross section to be 20% of a ZBrush unit. As a result, the cylinder is not five times longer than it is wide.
It is important to adjust the Initialize settings before you modify the model through sculpting or deformations. Any change in this menu causes the model to revert to its primitive state.
- Press Tool:Masking:MaskAll
The object becomes completely dark to show that it’s fully masked. You could also hold down the Ctrl key and paint your mask onto the surface of the model, but this is faster for our purposes.
- Set Tool:Masking:Sel to 1.
This tells ZBrush how to deal with the unmasking process. By leaving the Skp value alone, we’re actually telling ZBrush to use the same value as for Sel.
- Press Row.
At this point, the model is unmasked in alternating rows of 1 polygon each (the Skp value). All masked areas will be left alone when deformations are applied.
- Apply Tool:Deformation:Inflate at a value of 100.
As you can see, the deformations affect a model’s points, while the masking affects its polygons. This is perfectly normal.
- Perform the Inflate a second time.
- Clear the mask by pressing Tool:Masking:Clear.
- On the top shelf, turn off Quick 3D Edit.
This activates ZBrush’s smoothing algorithims. The effect is that while the model is stationary (not being edited or rotated), it will be displayed with many more polygons than it really has.
If we had used a Tool:Initialize:VDivide value of 32 at the outset, the result would have been more tightly-packed ribs. Go ahead and try that now.
Round Plastic Pipe
The next object that we’ll create is very similar to the regular pipe. We’ll use the Ring3D primitive instead, though.
- Exit Edit mode (T) and clear the canvas (Ctrl+N).
- Select the Ring3D. Draw it on the canvas and enter Edit mode.
- Set the Initialize:Coverage value to 180.
This turns the ring into a half ring.
- Press Masking:MaskAll, then set the Sel value to 1 before pressing Col.
<br: <br:
For the Ring3D object, rows run along the large circumference while columns ring the small circumference.
- Perform the Inflate deformation at a value of 100, then clear the mask.
And there we have our curved pipe.
Round Metallic Spring
- For this object, repeat the steps above for the Ring3D object. But this time, use a Masking:Sel value of 2 and a Skp value of 1.
This tells ZBrush to unmask 2 columns for every 1 that it leaves masked.
- When you get to the Inflate step, use a value of 50 twice.
Deformations are cumulative. Sometimes it’s best to do a series of smaller deformations rather than try to accomplish everything in one.
Webbed Pipe
- Repeat the steps for the spring, stopping when you have unmasked the rings.
- Set Sel to 1 and leave Skp at 1. Press Row.
Unmasking is also cumulative. So the unmasking by row now gives us a checkered pattern.
- Do two Inflate routines at 50, and then clear the mask.
As you can see, by creating more complex masks we are in turn able to create more complex models! And we did all of this with just a few very simple steps.
Bolt
- For this one, we’re going to start with the Cube3D primitive.
- In the Initialize menu, set X Size and Y Size to 20. Set Sides Count to 6, HDivide to 30 and VDivide to 45.
The cube can actually become a cylinder with enough sides! It has slightly different parameters than the Cylinder3D, though, which is why we’re using it for this example.
- In the Masking menu, MaskAll and then set Sel to 32. Press Row.
- In the Deformation menu, click on the Z in the Size slider to turn it off.
Each deformation has XYZ settings to control the axis that the deformation will operate on. By turning Z off, we’re telling ZBrush not to change the length of the unmasked polygons when we perform this deformation.
Note that the axis is NOT in relation to the canvas (world coordinates). Deformations use an object’s local coordinates. If you ever wonder what the local coordinates are, open the Tool:Preview menu. You can also change the local coordinates on the fly by rotating the figure in the preview.
- Apply the Size deformation at a value of 50, followed by SFlatten at 5.
- Now that the head of the bolt is complete, reverse the mask by pressing Masking:Inverse.
This protects the head that we just created, and allows subsequent deformations to only affect the bolt’s shank.
- Apply Twist 6 times at a value of 100. Follow it with Inflate at 30.
There’s no need to adjust the XYZ settings for the twist, since it’s set to Z by default.
- Clear the mask.
A Tire
- Select the Sphere3D.
- Set Initialize:Z Size to 50.
- Use the SFlatten deformation at a value of 25, followed by Inflate at 100.
The combined effect creates a rim and rubber.
- MaskAll. Set Sel to 32, then press Row.
This unmasks everything but what will become the tread.
- Set Sel to 3 and Skp to 1. Press Col.
Now there will be just a few masked lines.
- Apply Size XY at a value of 10.
- Press MaskAll, followed by Row.
- Apply Twist at a value of 40, then clear the mask.
Creature Tail
- For this object, we’ll return to our old friend, the Ring3D.
- In the Initialize menu, set SRadius to 50, Coverage to 220 and Scale to .01.
SRadius thickens the torus a bit, and Scale causes it to taper down to almost nothing.
- MaskAll, then set Sel to 2 and press Col.
- Apply Inflate at 100, followed by Rotate Z at -20 and then another Inflate at 50.
- MaskAll, then press Row.
- Inflate 25, then Smooth 100.
- Clear the mask.
In Conclusion
Masking can easily be combined with a variety of deformations to create one complicated-looking shape after another. These various shapes are then able to be combined with other scene elements to build incredibly detailed scenes. In fact, some ZBrush artists use these techniques almost exclusively in the creation of their artwork. It should be noted that Row, Column and Grid are only available for parametric objects. The remaining masking options are available for both primitives and polymeshes. To learn more about them, use the online help system.




































