Tutorial: Modeling a Telephone
From ZBrush Info
Contents |
Edge Loop Modeling
In this section, we’ll cover basic Edge Loop functionality, demonstrating the Crisp function.
ZBrush 2 offers two ways to create sharp edges in a model. In this tutorial, we’ll use the Crisp feature, which is a part of the Edge Loops command. Along the way, we’ll work with partial mesh visibility.
Mesh Visibility Refresher
Before proceeding, let’s quickly go over the selection features. The core of these features is the Ctrl+Shift key combination. All mesh visibility options involve those two keys. When a mesh is completely visible, Ctrl+Shift+Clicking on any group will hide everything except that group.
When a mesh is partly visible, Ctrl+Shift+Clicking on a group will hide that group.
When a mesh is partly visible, Ctrl+Shift+Clicking on the blank canvas will restore full visibility. At any time, holding Ctrl+Shift while dragging across the model will activate a green selection box. Any polygons within that box when the mouse button is released will remain visible. All other polygons will be hidden.
If the keyboard is released before the mouse button, the box turns red. Any polygons within the box will be hidden while the rest of the mesh remains visible.
Dragging a small box (of either color) on any empty part of the canvas will invert the visibility.
The drag-rectangle selections use a “smart” system. If the drag rectangle encloses an entire polygon, then the system will select by polygons, only. In other words, a polygon must be fully enclosed by the box to be selected. If no polygon is completely enclosed, then the system will select by points instead. You can also force point selection by activating the Pt Sel switch on the right shelf.Adding Polygons
- Begin the tutorial by loading phone.ztl from the Resources folder.
- Draw the phone on the canvas and press T on your keyboard to enter Edit mode.
This basic mesh was created using ZSpheres with only 1 resolution level. The skin was then sculpted to block out the shape of the phone.
- Press Tool:Geometry:Divide 3 times.
The divided and smoothed model now has a fairly sleek appearance. It’s a little too smooth in places, though, such as where the ear and mouthpieces would go. The Crisp feature will be used to create these edges.
- Press Ctrl+Z three times to return to the original model.
In order to use any of the Edge Loop features, we must be at subdivision level 1. We’re using undo here instead of Multi-Resolution Subdivision Editing because we want to work with the original, unmodified mesh. MRSE would reshape subdivision level 1 to more closely match level 4, which in this case is an effect that we don’t want.
- Hold Ctrl+Shift and drag a green rectangle over the polygon that makes up the earpiece.
If you do it right, you’ll be left with just the one polygon. If you accidentally are left with more than one, use any visibility control that you prefer to isolate the single polygon.
- Press Tool:Geometry:Edge Loop.
This adds a row of polygons around the outer perimeter of the visible area. With just one polygon visible, the result is an inner extrusion. With the I-Grp and O-Grp modifiers selected, the new polygons are also assigned to new groups. One group is created for the center of the loop, and another is created for the outer row. (Note: Your colors may be different from what’s shown here.)
Making Edges Sharper
- Activate the Crisp modifier.
- Press Edge Loop again.
Another edge loop has been added, but thanks to the Crisp modifier, it is so narrow that you can’t really see it.
- Activate Move on the top shelf, and set the Draw Size to a low value like 20.
- Press X on the keyboard to activate X symmetry.
- Move the points for the center polygon to enlarge and recess it.
- Now Ctrl+Shift+Click on a blank part of the canvas to restore full visibility.
- Press divide four times to subdivide and smooth the mesh.
- Set PFill on the top shelf to 0 in order to hide the polyframe group coloring.
The row of very thin polygons prevents the mesh from being smoothed in that area. The result is a nice, crisp edge. One advantage to this technique is that the low resolution mesh can be exported from ZBrush and the crisp edge will remain. Crisp edge loops are a truly cross-application edge weighting method!
- Undo to return to the low resolution mesh.
- Repeat the process for the mouthpiece polygon and what will be the number plate on the back.
- For the mouthpiece, use a regular Edge Loop followed by a Crisp one.
- For the number plate, use just the Crisp loop.
- Also perform a Crisp loop on the three polygons making up the base of the mouthpiece area.
- Divide the mesh four times.
The phone is now smoothed overall, but is also still sharp exactly where we want it to be.
- Undo to remove the higher subdivision levels, and save this model as phone2.ztl.
There’s no point in wasting disk space by saving extra polygons when we can quickly add them later. In this state, the model is a mere 64 polygons, and could also be taken into another program for use in an animation.
In Conclusion
This section has given a brief introduction to one of ZBrush 2’s advanced geometry tools the Edge Loop. Combined with the partial mesh visibility controls, edge loops provide a very quick and simple way to modify your mesh on a polygonal level. When the Crisp modifier is activated, the result is an edge weighting system that controls subdivision smoothing in any application. This section will be continued in Telephone Part 2, where we will use Projection Master to “sculpt” high resolution details. We’ll finally conclude with Telephone Part 3, in which we’ll generate displacement and normal maps. This tutorial is also available as the “Displacement Mapping Tutorial” ZScript, found in the Modeling 3D Objects\Displacement Maps chapter of the Help browser. Part 1 of that ZScript shows the original ZSphere modelling of the phone, while part 2 shows the material covered in this section of the manual.
Adding Details with Projection Master
Here we’ll cover the use of Projection Master to paint displacements onto a high resolution mesh.
ZBrush 2’s ability to work with exceptionally dense meshes in real time provides a powerful way to detail your models whether they will be incorporated directly into a ZBrush scene, or ultimately used in an animation package. While the sculpting brushes found in the Transform palette provide a powerful way to freehand-sculpt details, they aren’t sufficient for all purposes. This is where Projection Master comes in. Projection Master provides a way to paint textures directly onto the surface of your models. It can also be used to paint depth-based details that will then be incorporated directly into the mesh via displacements. You can even paint texture and depth at the same time!
In this tutorial, we’ll only deal with the displacement side of the equation, illustrating how Projection Master makes it possible to edit your meshes using any or all of ZBrush’s brushes and 3D objects. Along the way, we’ll explore the uses of alphas, various stroke types, and even the ability to transform strokes after they have been painted.
Even as highly optimized as ZBrush is, it is still possible to reach a number of polygons that will make it hard for your computer to keep up. If you find ZBrush acting sluggish while you rotate the model, press Shift+D a few times to go to a lower subdivision level, then D to return to the higher level once the model has been rotated into its new position. Lower subdivision levels are also an ideal time to hide parts of the mesh.
- Begin by loading the phone2.ztl file that you saved at the end of Part 1. Draw it on the canvas and enter Edit mode.
- Divide the mesh several times until you have 7 subdivision levels.
The model will now be comprised of 262,144 polygons, which is sufficient for our demonstration. When using Projection Master to paint mesh displacements, the quality of your work will be directly influenced by the size/number of polygons.
- Turn off the Polyframe view by pressing Shift+F.
- Rotate the model so that it is squarely facing the camera and scale it to fit the screen.
Remember that when the phone is close to the desired orientation, you can press Shift to snap it into position.
- On the top shelf, press the Projection Master button.
The Projection Master (PM) control panel will pop up. You can use this panel to tell ZBrush what you want to do.
- Turn off Colors and Fade. Turn on Deformation.
When settings are changed, the thumbnails next to the buttons update to show the effects of your changes.
- Press the Drop Now button to drop the mesh onto the canvas, ready for projection painting.
- PM will display a note asking if you’d like to create a texture. Say yes.
By default, when PM is first used in a session it selects the SingleLayer brush. That’s perfect for our needs.
- Select the Radial stroke type.
- Select Alpha 06 (a hard-edged circle).
- With a Draw Size of 32, draw a ring of dots on the earpiece.
- Use Scale and Move to position the ring as shown.
- Switch to Zsub and set Z Intensity to 50. Press Shift+S or use the Snapshot button on the right shelf to make an instance of the holes.
- Use Scale and Snapshot to add two more concentric rings.
- Activate Projection Master and press the Pick Up button.
While the PM panel is showing, you have a final chance to change your settings. This is useful if you were planning to do one thing before dropping the model, but changed your mind and did something different while working with the dropped model. If you wish to skip the PM panel, simply press G to pick up the model. (This keyboard shortcut can also be used to drop the model.)
After pressing Pickup, the model will become editable again. At the same time, the depth that was just painted onto the dropped model is now incorporated into the actual geometry of the phone. You can clearly see this when you rotate the mesh.
- Hide all but the lower of the model, and then rotate it so that the mouthpiece area is squarely facing the camera.
- Repeat the Drop/paint/Pick Up steps to add another group of holes for the mouthpiece.
- Restore full visibility to the mesh.
- Rotate the model so that the number panel is squarely facing the camera. Drop the mesh again.
- This time using the Grid stroke with repeat settings of 3 x 4, add 12 indentations to the number pad.
- Snapshot them in place, then change to Zadd and a Z Intensity of 90. Modify the Draw Size to place buttons within the indentations.
- Use PM to pick the mesh up again, then rotate to a side view.
- Drop the mesh. Use the Line II stroke and Zsub to paint four lines onto the side two for the base, and two for the ear/number pad area.
Choose the Z Intensity that you like best as you go. Remember that you can transform your strokes after the fact to modify the Draw Size. Any place that the line touches the side of the mesh, be sure to extend it past the sides. This even applies later when using Zadd. Projection Master will ignore anything that it doesn’t need when the displacements are calculated, and going off the edges ensures a nice, uniform projection that wraps all the way around to the other side.
- Using the DragRectangle stroke and Zadd with a Z Intensity of 27, paint a dot on the base.
- Snapshot the dot, then use the Move gyro to place more along the side of the handle.
- Switching between stroke types and Zadd/Zsub, add a few more details, as well (as shown above).
- Before picking the mesh up again, activate the Double Sided option in Projection Master.
This tells ZBrush to apply the displacements to the back of the mesh (the side facing away from the camera), as well as the front. When a symmetrical model is positioned squarely along the
axis of symmetry, Double Sided provides a quick and easy way to maintain the symmetry while using Projection Master. At this point we can also easily see the effects of the Normalized option. Any place that our painting went off the edges of the mesh, the displacements wrapped nicely around to the opposite side.
- Rotate the model so that it faces front again and move it off to one side of the canvas.
- Drop the model, and then draw a Plane3D to the left as shown.
For the next step, we need a surface to paint on. The plane will provide that surface, and will be ignored by Projection Master when the phone is picked up again.
- Using the PaintBrush tool and Zadd with a Draw Size of 14 and alpha 01, paint a Z on the plane.
You can use Stroke:Mouse Avg to steady your hand and ensure that the letter turns out nice.
- While holding down the Ctrl key, add “Brush”.
Ordinarily, only the last stroke drawn can be transformed. Holding the Ctrl key allows us to chain several strokes together so that they can be transformed as a unit.
- Activate the Move gyro and move the word over onto the phone.
- Rotate and scale the word into position, then switch to Zsub.
- If you’re happy with the result, press Q to return to regular draw mode, which makes a snapshot of the word.
- Pick the mesh up again.
The plane will disappear from the canvas while the word is projected onto the phone.
- Rotate the model so that the back is facing the camera, and drop it.
Incidentally, it is not necessary to keep the entire model within the canvas when using Projection Master. Only the portion that you wish to work on needs to be visible.
- Use the Grid stroke and SingleLayer brush to add several rows of bumps on the back.
In our example, we used an array of 3 x 15. Remember that while the gyro is active for transforming the stroke, you can also change the alpha that is being used, as well as the Draw Size and Z Intensity.
- Pick up the model and rotate it to the side. Drop it again.
- Using the Line II stroke, add a row of dots.
- Pick up the model.
- You’re done! Save the completed model as phone3.ztl so that you can use it for the final part of this tutorial.
Displacemant and Normal Maps
This section concludes the telephone project by showing how to use ZBrush to process Displacement and Normal maps.
General Information
While ZBrush 2 is highly optimized to work with figures of up to ten million polygons, animation packages can’t handle nearly that many. Also, real time game engines require extremely low numbers of polygons. ZBrush 2 provides the tools to compare your high resolution and low resolution models, and generate a difference map. Displacement maps can be used with many animation programs, while normal maps are useful in the game industry. Some animation packages can also combine displacement and normal maps.
This tutorial will not explain how to use these maps in your other software. You should consult your software’s documentation for that information. Instead, we’ll show you how to generate the maps. We’ll also show you how the maps can be used in ZBrush.
It should be noted that there is no need to create difference maps if you’ll be using the model in a ZBrush scene. ZBrush will incorporate the high resolution version as-is.
Set Up the Model
- Begin by loading the phone3.ztl from the previous part of this tutorial.
- Draw it on the left side of the canvas, snapshot it, and then move another copy over to the right.
It is not necessary to have two copies on the canvas. We’re simply doing that here for demonstration purposes, so that you can clearly see how similar the high resolution version is to the displaced low resolution version that we’ll end with.
- Press “T” to enter Edit mode.
- Lower the Sudivision level to 1.
Sometimes you might want to use a different subdivision level. If you’re using a model that is already being animated in another program, though, you will absolutely need to use level 1, however, so that is what we’re going to show in this tutorial.
Restoring the Shape of the Original Model
Here we see the model at level 1. If you remember what our original model looked like, it was quite a bit different. This is because ZBrush interpolates changes made at one subdivision level across the other levels. Under normal circumstances, that would be exactly what we want, but for making a difference map we need the original, unmodified mesh. We have three options available. Let’s look at each of them in turn.
- Press Tool:Geometry:Cage.
This calculates a cage object that you could export to another program. This option is normally the least desirable of the three, however, and should only be used if neither of the next two is available to you.
- Turn off Cage.
- Press Load Tool and load the phone2.ztl model.
By loading the original model back into subdivision level 1, the level is replaced by the original geometry. This is particularly useful in a production environment where your animation team has already begun working with a model and it cannot be changed.
The third option requires some pre-planning. While at subdivision level 1, before beginning the high resolution modelling, you would press Tool:Morph Target:StoreMT. This stores the unmodified low resolution geometry so that it can be retrieved later.
Now when you wish to reuse that geometry, you would simply press the Switch button to return to it. In fact, this technique is what you will see illustrated if you run the ZScript companion to this tutorial.
Assign UV Coordinate
- Set Texture:Width and Height to 1024. Press the New button.
Displacement mapping requires that the mesh has properly-assigned UV coordinates. If it doesn’t, you can apply any of ZBrush’s mapping methods or export the base mesh to another application for mapping. When the mesh is imported back into subdivision level 1, the mapping will be retained.
Since this model does not already have mapping assigned, we’ll do that now. To give the best quality mapping, you should first assign a texture to the mesh. The best sizes to use are powers of 2 such as 256x256, 512x512, 1024x1024, 2048x2048 or 4096x4096.
- Press Texture:GUVTiles.
GUVTiles is new to Z2, and is an automated mapping system designed to let you see details on the unwrapped map. Like AUVTiles, it is a virtually distortion-free mapping method. Since it unwraps the model in the largest polygon groups possible without introducing distortion, this mapping method has the advantage that you can often do some painting on the unwrapped texture should you need to.
If a texture is not already applied to the model when AUVTiles or GUVTiles is pressed, ZBrush assumes a size of 1024x1024. Since that is the size of our texture, it wasn’t really necessary for us to assign a texture to this model, but it’s good to get in the habit.
Create A Displacement Map
We’re now ready to create our maps.
- Set Tool:Displacement:DPRes to 2048.
- Activate Adaptive and SmoothUV, if you wish.
These are not necessary in our example, but are important to use if any of your sculpting has used the Nudge or Pinch editing brushes from the Transform palette. It takes slightly longer to calculate than a map created without it.
- Click the Create DispMap button.
The new map will be added to the Alpha palette.
- Press Texture:Export to export the normal map if you need it.
You have a choice of formats, including BMP, PSD, TIFF, and (for Mac users) PICT.
- Select the displacement map from the alpha popup menu.
The popup is structured so that your custom content appears in a separate section beneath the other thumbnails.
- Export the alpha.
Applying a Displacement Map in ZBrush
That’s all there is to creating difference maps for use in other programs! The rest of this section will show how to use a displacement map in ZBrush. If ZBrush 2 can work with extremely dense models, why would you wish to use displacement maps? Well, there are a few reasons. Maybe you are importing a displacement-mapped model from another program for use in a ZBrush scene. Maybe you wish to refine a map that you’ve already created. Or maybe you simply wish to conserve disk space, and so prefer to only keep the low resolution versions of your models, with their displacement maps. Along the same lines, you might have a friend who wishes to share his model with you; it’s easier to send a level 1 model with a displacement map than a level 7 model. Whatever your reasons, ZBrush provides an easy way to use displacement maps, which we’ll cover here:
- If you would like to see what the alpha looks like on the model, press Alpha:Make Tx.
The new texture will automatically be applied to the model. There’s not really a need to do this, but sometimes it’s nice to see.
- Press Texture:Clear.
In order for a displacement map to be viewed in ZBrush, the model must have a texture assigned to it. We’ve cleared the texture because we wish to demonstrate how displacements alone can allow a low resolution model to match its high resolution “brother.”
- Press Tool:Geometry:Del Higher.
We now have the exact model that you would be working with if you’d imported it from another program or were starting fresh without having saved the high resolution version. In other programs, you’d use this model as a subdivision surface. The cage object would then appear to have more polygons than it really does. We need to simulate that effect.
- Press Tool:Geometry:Divide three times.
The model is now comprised of 4096 polygons, which is probably equal to what an animation package would use.
- Make sure that the displacement map is the current alpha.
- Turn off Quick 3D Edit.
ZBrush’s displacement rendering requires render-time mesh smoothing, which is disabled by Quick mode.
- Set Tool:Display Properties:DSmooth to 1.
This activates render smoothing. Each of the polygons is divided a few times when the model is rendered. How many times is determined by the Dres setting.
- Note the value of the Alpha Depth Factor slider, found at the bottom of the Alpha palette.
In this case, the value is .0562. This number will only have relevance if the displacement map was created by ZBrush. For maps imported from other applications, you’d have to experiment to find the correct value to use in our next step:
- Back in the Tool:Displacement menu, set Intensity to the Alpha Depth Factor value.
This slider tells ZBrush how strongly to apply the map. At the moment, it’s only being applied as a bump map, however. This means that pixols are only being displaced along the world Z axis. This changes the appearance of the model, but does not change its profile. In short, ZBrush 2 offers two ways to add bump to your models. The first is the Color Bump material modifier, already familiar to experienced ZBrush users. Alternatively, a bump map can be used that will operate independently from the model’s colors or texture. This lends even greater realism to your work.
- Also in the Displacement menu, activate the Mode switch.
This switches ZBrush from rendering the displacement map as bump to full displacement. If you look closely at the model, you will see that the quality of the displacements is good, but not perfect. This is because the number of rendered polygons is still lower than the high resolution model that was used to create the map. It’s also easy to compensate for.
- Set Tool:Display Properties:DRes to 6.
This subdivides the mesh a few more times at render time, resulting in a finished render that is almost indistinguishable from the high resolution model. Obviously, what you’re seeing here is a render-time effect applied to a low resolution model. What if you wanted to continue to sculpt this model as a high resolution figure? After all, every time you click on the model, the smoothing is deactivated and the displacement effect along with it.
- Divide the mesh three more times to reach subdivision level 7.
The model is now comprised of as many polygons as the original high resolution version.
- Click Tool:Displacement:Apply DispMap.
This button converts the details created by the displacement effect back into being a part of the actual mesh. It’s sort of like applying Projection Master to your entire model, all at once. It also sets the displacement intensity back to 0, but your mesh will not appear to change.
- Activate Quick 3D Edit again.
This turns off all smoothing. Your mesh still looks exactly like the high resolution version still on the left side of the canvas. The displacement map has been applied as actual geometry, and you can now continue to sculpt on the mesh or use Projection Master, just as if you’d never gone through the displacement process to begin with.
In Conclusion
ZBrush 2 provides an incredibly fast and efficient method to create high resolution versions of your models and generate difference maps from them. This technique eliminates the need to create and scan clay sculptures in order to create high quality maps, thus saving tremendous time and money.
Modifiers are available to fit the needs of your rendering software. In addition, ZBrush 2 can not only render displacement maps, but can actually transform their detail back into being a part of the high resolution mesh. This makes it possible to edit the high resolution model further, and provides an alternative to having to fill up hard drive space by always saving the high resolution version of your models.
This tutorial is also available as the “Displacement Mapping Tutorial” ZScript, found in the Modeling 3D Objects\Displacement Maps chapter of the Help browser. Part 4 of that tutorial shows the material covered in this section of the manual.

















































































