ZBrush to Lightwave
From ZBrush Info
by Steve Warner
Introduction
Can I be perfectly honest with you? I hate reading software manuals. The first thing I do when I open a manual is look at how many pages there are. If there are more than a dozen pages, I usually sigh and think, “Am I really going to have to read all these pages?”Then I quickly flip through the document to see how many pictures there are. I love when there are a lot of pictures. I usually try to get by with just looking at the pictures and not reading the text. However, most of the time I’m not able to do that and I eventually break down and am forced to read the whole document.
Go ahead and look at the page count for this guide. Seriously. I won’t be offended.
Woah! That’s a lot of pages. But don’t panic! You don’t have to read every bit of text to learn how to go from LightWave to ZBrush and back again. Seriously. In fact, if all you want to do is look at the pictures in the Quickstart Guide and read their captions (which is what I’d want to do) you’ll get along just fine.
But for those who do take the time to read through the entire document, you’ll find lots of extra tips and tricks that will make your experience working with each program more enjoyable. So trust me when I say you’ve got nothing to worry about. This is going to be a piece of cake.
How this guide is structured
If you’re new to ZBrush, you can simply follow the Quickstart and be off and running in no time.(Even if you’ve been using ZBrush for awhile, I suggest reading through the Quickstart as there are some really useful tips in there).
For more experienced users, the sections following the Quickstart guide will provide you with additional details that will help you be productive with this great tool.
Also, while the Quickstart section assumes you’re new to the software, that’s not entirely true for the remaining sections of this guide. I’ve attempted to make things easy to follow, even for new users. But in order to understand some ofthe advanced techniques, you’ll need at least a basic understanding of how ZBrush and LightWave work. So make sure you are familiar with the fundamentals outlined in the Quickstart section before moving on to the more chapters that follow.
Necessary Tools and Plug-Ins
LightWave 9.0 has built-in support for ZBrush displacements and normal maps. However LightWave 8.5 (and earlier) require the use of 3rdparty plug-ins. I’ll be really honest here. The ZBrush support in LightWave 9.0 is outstanding. If you don’t have LightWave 9.0 and plan on doing a lot of ZBrush work, I’d highly recommend upgrading. Not only will your models look great but they’ll render in a fraction of the time. For me, the ZBrush support alone was worth the upgrade price.
LightWave versions prior to 9.0 come with several tools for working with displacements but none of them can handle the type of displacement maps generated by ZBrush. Therefore, if you’re using LightWave 8.5 or earlier, you’ll need to download a few 3rdparty plug-ins to get the job done. I highly recommend picking each of these up. Then email the plug-in authors and tell them “Thanks!” for making it all possible.
- Lynx Normal Displacement Plug-in: This is the key to using ZBrush’s displacement maps in LightWave 8.5 and below.
- Lynx 16-bit TIFF loader: This allows you to use higher-quality displacement maps in LightWave 8.5 and below.
- ZWave: This allows you to transfer UV maps from your exported ZBrush object back into LightWave.
- TB’s Normal Map Shader: This allows you to use ZBrush’s normal maps in LightWave 8.5 and below.
Macintosh Notes
Mac users, I’ve got good news and bad news. The good news is that ZBrush works wonderfully with LightWave 9.0 on the Mac. The bad news is that it doesn’t work well with versions of LightWave prior to 9.0.
LightWave 8.5 lacks direct support for ZBrush’s various maps. That means you are forced to rely on plug-ins to get the job done. Unfortunately, not all of these are available on the Mac. Namely, the 16-bit Tiff Loader and TB’s Normal Map Shader. Without the 16-bit loader, you’ll have to use an 8-bit file, two 8-bit files (produced using MD2) or a 16-bit workaround. Without TBs Normal Map shader, your only option for using Normal Maps is to purchase a commercial plug-in like Evasion3D’s Microwave.
Barring these discrepancies, the LightWave to ZBrush pipeline is the same on the Mac as it is on the PC.
. QuickstartThere and Back Again
The following section breaks down the process of working between ZBrush and LightWave into simple, easy-to-follow steps. It is designed to get you up and running quickly and to give you the information you’ll need to establish a solid workflow. If you are new to the LightWave/ZBrush pipeline, I’d recommend that you to read through this entire section first. Then try it out on your own.
When you’re comfortable with the techniques described here, you can move on to the remaining sections of this guide. There you’ll learn about workflow variations as well as tips and tricks to make your experience with ZBrush more productive.
Let’s begin!
Load your object into Modeler
We need to make sure our object meets a few minimum requirements before we send it to ZBrush.
First, make sure that the object is made up of entirely quads or triangles. Preferably quads. If you have triangles in your object, try to hide them in less visible parts of the model.
Second, if you’re going to use LightWave’s UVs, make sure that you use one UV for the entire object and that it doesn’t have any overlapping UV geometry.
Lastly, if you’re using a LightWave generated UV, make sure that it’s applied to one of the texture channels for the surface of your object (such as the color channel). This will ensure that the UV map gets exported with the object.
If you’re not comfortable creating or editing UV maps, no worries! ZBrush can create a high-quality UV that minimizes UV distortion with the click of a button. We’ll see how easy this is in just a bit.
Once you’ve ensured that your model meets the minimum requirements, go to the File drop-down menu and from the Export menu, select Export OBJ. ZBrush uses the common . OBJ file format for importing and exporting geometry from other programs. Save your .obj to your hard drive and than save your LightWave object. We’ll return to it later.
Open ZBrush and load your object
Click on the Tools menu. Then click the orange icon that looks like circle with an arrow pointing out of it. This will dock the Tool menu on the left side of the screen.
Now click the Import button in the Tool menu. This will open up a file browser. Locate the object you just saved from LightWave and double click it to bring it into ZBrush.
Objects in ZBrush are known as Tools. You should see a tiny icon with a picture of your object in the Tool palette. Hovering over this icon will give you details about your object. This information is continually updated as you work within ZBrush to keep a running polygon count of your model.
Draw your object onto the canvas
Click and drag in the document window to place a copy of your object onto the ZBrush canvas. If you created your model in LightWave so that it faced theZ axis (as most people do), your object will come into ZBrush facing backwards. We’ll correct this in just a minute.
Click on the Edit button at the top of the interface (or use the Keyboard Shortcut “t”) to make the object editable.
Set the position and rotation of your object
Click and drag any blank portion of the canvas to rotate your object so that it’s facing forward. When it’s close, hold down the Shift key to snap the rotation.
If you need to move or resize your object, you can do so with the buttons on the right of the interface or by using keyboard shortcuts.
Double clicking on the Move icon will restore your object’s size and position. Go ahead and double click the Move icon now.
Create a UV map
If you didn’t import an object with an existing UV map (i.e. one you created in LightWave), now would be a good time to create one.
Click the Texture menu in the Tool palette to drop down it’s options. Then click the GUVTiles button. This applies ZBrush’s advanced Group UV to your model. Group UV Tiles produces a nearly distortion free UV map with the click of a button. If you’re like me and you hate the tedious nature of hand-tweaking a UV map, you’ll find ZBrush’s Group UV Tiles (and it’s cousin, AUVTiles) a godsend.
That’s it for creating a UV map. Cool, huh?
Subdivide your object
Now that our model is on the canvas and we have a UV for it, it’s time to subdivide our object.
From the Tool menu, click on the Display Properties submenu to open its options. Increase the DSmooth slider from 0 to 1. This is like turning on Smoothing for a surface in LightWave. Now open the Geometry submenu. Click on the Suv option to make sure your UVs are smoothed when you subdivide your object. Then click on the Divide button a couple of times.
Each time you subdivide, you’re adding more polygons to your object. The more polygons, the more details you can paint. The trick here is to only use as much geometry as is necessary to alter the shape of your object. Here, I’ve increased my subdivision level (SDiv Level) to 5.
Store a morph target
ZBrush is a multi-resolution editing tool. You can increase and decrease the number of polygons in your object at any time, making broad changes at low subdivision levels and detailed changes at higher subdivision levels. These changes ripple up and down the various subdivision levels, so simple changes made at subdivision level 1 (when the model has fewer points) will cause broader changes to the model at subdivision levels 5, 6 or 7. And detailed changes at levels 5, 6 or 7 (when the model has more points) will cause only minor changes at subdivision level 1.
The morph target is your ZBrush safety net. It offers several benefits. It allows you to “erase” specific deformations by using the Morph Edit Brush found in the Transform menu. It allows you to update your object’s UV map at any point without losing any work you’ve done. And it can be used to return your model to its original shape when generating displacement and normal maps.
Begin sculpting your object
The Draw Pointer tool is the default brush used for painting deformations onto imported 3D objects. It has two modes:ZAdd and ZSub. ZAdd makes the area under your cursor buldge outward. ZSub makes the area under your cursor recede inward. The strength of the brush is controlled through the Z Intensity slider.
The cursor in ZBrush looks like two red circles. The outer circle indicates the overall size of your brush. It can be controlled using the Draw Size slider. The inner circle represents the focus area of the brush, where the maximum amount of Z Intensity you’ve set will be applied. The intensity of your brush will fall off gradually from the inner circle to the outer circle. This falloff can be adjusted using the Focal Shift controls.
When you place your cursor over any portion of your object, you’ll also get a small red dot close to the center of those circles. This small dot indicates the current vertex that your cursor is over and can be helpful in identifying exactly what part of your object you will be affecting.
At times you might find it useful to see the underlying wireframe structure of your mesh. To turn on wireframe viewing, click the Frame button at the upper left corner of the interface. If you don’t see the Frame button, make sure you’re in Quick 3D Edit mode by clicking the Quick button in the upper left corner of the interface.
Sculpting details onto a symmetrical object can be made much easier by using ZBrush’s advanced symmetry mode.
Click on the Transform menu at the top of the interface and click on the >X< icon to activate symmetry. The keyboard shortcut for this is simply “x”, which makes it easy to turn symmetry on and off as you paint. Unlike LightWave’s symmetry mode that requires your points to be perfectly symmetrical, ZBrush can paint symmetrically on an object, even if the points don’t match across the X axis.
Create a texture and prepare it for use as a bump map
Fine detail (such as wrinkles, pores, etc.) are best handled by a bump map. ZBrush allows you to paint a bump map directly on your object and see the results as they’ll appear in LightWave (which is so cool!).
Click on the SysPalette button to open the System Palette. Choose the medium grey whose Red, Green and Blue values are all 128. Then click OK.
Now click the Texture menu at the top of the interface to drop down its options.(You can click the orange widget to dock this to the left side of the interface if you’d like.)Click in the Width and Height fields and enter 2048 for each. Then click New. This will create a new texture with a resolution of 2048x2048 and will fill it with the medium grey color we selected earlier.
This is where the magic begins. To see the effects of the bump map being applied to your object, you will need to use a special Material. Materials in ZBrush are similar to Surfaces in LightWave. However Materials take advantage of a number of advanced OpenGL routines which allow you to see a variety of effects without having to render. One of these is the effect of a bump map.
Click on the material icon (or go to the Material menu at the top of the interface) and click the Load button. Navigate to your ZBrush install directory.(Typically this will be in the C:\Program Files\Pixologic\ZBrush2 folder on the PC). Locate the ZMaterials folder and load the BumpViewMaterial.zmt file. Once the Bump View Material is active, you’ll notice that your object is both brighter and has more specular highlights.
You can paint on the bump map using the standard brush you use for deformations, but I’m going to show you a better way.
Use Projection Master to paint your bump map
Projection Master lets you paint intricate details onto your model using a variety of brushes and alpha masks. Click the Projection Master button at the upper left corner of the interface. This will open the Projection Master options window.
You can paint Colors, Materials or Deformations with Projection Master. Since we’re only painting a bump map, we just want the Colors (or in this case, shades of grey) option checked. Make sure this is the case. Then click the Drop Now button.
Click the SysPalette button and choose pure black. Then make sure that only the RGB button at the top of the interface is highlighted. If Zadd or Zsub is selected, make sure to turn them off. This will ensure that we’re only painting pure colors onto our object.
Draw a few strokes over your object and notice how it appears to cut into the surface. You’re now painting a bump map directly on the surface of your object in real-time! No geometry is actually being modified. This is all being done with the bump map.
Projection Master defaults to using a tool called the Single Layer Brush with a soft round Alpha and a dotted Stroke. Try out the different brushes, alphas and strokes to get a feel for how they affect your object.
Using a black color will cut brush strokes into your object. Switching to a white color will cause the brush strokes rise up from the surface. You can vary the intensity of your brush strokes by changing the RGB Intensity slider. If you want to restore the surface (for example, to cover up any mistakes), simply switch back to a medium grey, set the RGB Intensity to 100 and paint over the surface.
When your model is dropped to the canvas, it can no longer be rotated. To rotate your object and continue painting on other parts of its surface, you’ll need to exit out of Projection Master. Entering and exiting Projection Master is something you’ll do often as you paint various types of maps. For this reason, it’s helpful to remember its keyboard shortcut, which is ëG’.
Click on the Projection Master button again to bring up its options. Then click on the Pickup Now button to return to ZBrush’s standard object edit mode.
Save your bump map
When you’re happy with the work you’ve done in ZBrush, you need to save out the various maps for use in LightWave. We’ll begin by saving out our bump map.
Open the Texture menu at the top of the interface (or from the side if you docked it earlier). Make sure the bump map is currently selected. Then press the Flip V button to flip the texture vertically. I know this seems like a strange thing to do. But ZBrush’s UV coordinates are the inverse of LightWave’s. If you don’t flip the texture, it won’t like up properly with the UV once you’re back in LightWave.
Click the Export button in the Texture menu and save the bump map as a standard Photoshop PSD file.
Create a displacement map
Displacement maps allow you to deform the shape of your object in LightWave in order to replicate the changes you made in ZBrush.
Begin by lowering your subdivision level back to one.
Click on the Displacement submenu from the Tools palette to open its options. Click in the DPRes field and enter 2048 to set the size of the displacement map to 2048x2048.
Also, make sure that you turn on Smooth UV and Adaptive mode. Then click the Create DispMap button to generate a displacement map. Depending on the speed of your computer and the complexity of the map, this can take a few seconds or upwards of several minutes.
When ZBrush finishes calculating your displacement map, it will place it into the Alpha bin as a grayscale texture. We need to flip this texture just like we did for our bump map, so click on the Alpha menu at the top of the interface. Make sure your displacement is selected as the current alpha, then click the Flip V button.
Now click the Export button to bring up the Export Image window. Select a location to save your file. Then, from the Save As Type menu, choose TIF. The TIF files saved from ZBrush’s Alpha menu use 16-bits per channel and will provide higher quality results than standard 8-bit per channel files such as BMP or PSD.
Create a Normal Map
Normal maps are like bump maps on steroids. They don’t actually alter the shape of your object (as the displacement map does), but they give the appearance of doing so. This makes them well-suited for situations that require highly detailed objects but lack the time or horsepower required to render multi-million polygon objects.
Normal maps can be used on their own or in conjunction with displacements and traditional bump maps. I find that by using them in conjunction with the other maps, I can get outstanding results while cutting down on the render time per frame.
Click on the NormalMap submenu just below the Displacement submenu in the Tools palette. Set the NMRes (Normal Map Resolution) to 2048 and turn on Adaptive and SmoothUV. The last button in the NormalMap menu is the Tangent button. If you’re using LightWave 9, make sure this button is selected. If you’re using LightWave 8.5 or earlier, make sure this is not selected.
LightWave 8.5 (and earlier) users will also need to make a slight change to the Normal Map Export preferences in order to get their maps to work properly. Open the Preferences menu at the top of the screen and click on the ImportExport options. Activate the “NormalMapFlipX” and “NormalMapFlipZ” buttons. If these options are not set, your normal map will not work properly. Keep in mind that these settings only apply to LightWave 8.5 and earlier. Users of LightWave 9 should leave these settings unchecked.
Once your options are set, click on the Create NormalMap button in the Tool menu to generate your normal map. When finished, it will become the active Texture and you’ll see it applied to your object.
The Normal Map will need to be flipped just as was done with the Bump Map and Displacement Map. To do this, open the Texture menu at the top of the interface (or from the side if you docked it earlier). The Normal Map should be the active texture. Press the Flip V button to flip it vertically. Then press the Export button and save your map in the Photoshop format.
Export your model
Since we used ZBrush to create our UV map and we also created our normal and displacement maps from the Subdivision Level 1 object, we need to export our model so that everything will work properly in LightWave.
Click on the Export submenu from the Tool menu to drop down its options. Make sure that Obj is selected and leave everything else at its default. Then click the Export button to save the object to your hard drive.
Save your ZBrush model
Before leaving ZBrush, it’s a good idea to save the current object in ZBrush’s native ZTL format.
Click on the Save As button in the Tool menu and save the object to your hard drive. If you have a texture currently loaded (such as the bump map we created earlier), ZBrush will ask you if you’d like to save the map with the file. Choose OK.
Bring your work back into LightWave
There are two ways to get your ZBrush object into LightWave. The first (and easiest) is to simply load the OBJ file, press TAB to convert the polygons into subpatches and resave the model as a standard LightWave object (. LWO). This method will work so long as your original LightWave object didn’t have any “extras” such as weight maps or endomorphs that you wanted to keep. You see, the OBJ format doesn’t recognize these so they are removed when you export your OBJ file from LightWave.
If your model does have endomorphs or weight maps, you’ll have to transfer the geometry changes and UV map from the exported ZBrush OBJ file back onto your existing LightWave model. This requires a little extra work, but it’s not hard and it’s certainly faster than recreating all your endomorphs and/or weight maps from scratch. Since the former method is so simple, let’s take a look at the latter approach.
We’ll begin by pulling the UV map from our ZBrushed OBJ file. We could do this by copying and pasting the UVs from one object to another, but LightWave has trouble with discontinuous UVs and will choke on the UVs we made in ZBrush. Fortunately, there is a brilliant little plug-in called ZWave that allows us to transfer the UVs from our ZBrushed OBJ back to our original LightWave model.
Open Modeler and load in your original LightWave objectthe one you used to export the OBJ for ZBrush.
From the Utilities/Additional menu, scroll down and select the ZWave plug-in. Click the Import File button and select the OBJ file you saved out of ZBrush. Leave the Texture Name as OBJ_UVTextureMap and leave the Replace Existing Texture option checked. Then click OK.
Bam! The UV map is now a part of your original LightWave object. Sweet, huh?
Now it’s time to copy the geometry changes. Open up the OBJ file that you exported from ZBrush. Copy the object and paste it into a blank layer in your original object.
Place your original object in the foreground and your ZBrushed object in the background. Then, from the Map tab, choose Bkg to Morph.
Leave the Endomorph name as “BkgMorph” and press OK. The ZBrushed object is now a part of our original LightWave model.
The last thing we need to do is move the points from the morph to the base state of our model. This will not only make the default appearance of our model look just like the ZBrushed object, it will also cause any existing endomorphs to be based on the ZBrushed changes.
Make sure your original object is selected (not the ZBrushed object) and that the (base) object is active. From the Map tab, run the Apply Morph tool. Select the BkgMorph from the MORF VMap drop-down and set the strength at 100%. Then press OK.
Now let’s clean things up. Make sure the M button at the bottom of the interface is highlighted so that we can choose an endomorph. Then from the pop-up menu, choose the BkgMorph. With this morph selected, choose the Clear Map command from the Map menu. Then switch back to the Base object state. This eliminates the BkgMorph. Now go to the layer that you copied the ZBrushed object onto and press Delete to remove it.
Finally, switch back to the object with your original object. Press TAB to turn on subpatches and save your object with a new name.
Place the object in Layout
Open the model you saved in the last step into Layout and create a standard three-point light setup. The three point light setup may not be the most creative light rig, but it will do a good job of helping us see the details of the model we’re working on.
Now frame the camera so that the head model fills the screen. When you’re ready, save your scene.
Apply the displacement map to your object
Over the next few steps we’ll recreate the details we sculpted in ZBrush on our LightWave object. We’ll do this by applying the displacement map (to alter the overall shape of our object), the normal map (to fill in the displacement details) and the bump map (to simulate high-frequency details). First, let’s apply the displacement map.
Click on your object to make sure it’s selected in Layout. Hit the ëp’ key to open the object properties window then click on the Deform tab. The steps for applying the displacement map differ from LightWave version 8.5 to 9.0. Let’s begin by taking a look at how to apply your map in LightWave 9.0
Adding the displacement in LightWave 9.0
Click the checkbox next to the Edit Nodes button to enable node displacement.
From the Node Displacement Order pop-up menu, choose “Before Local Displacement”.
Click on the Edit Nodes button to open the node editor. Fortunately we don’t have to construct a complicated node setup to use our ZBrush displacement map. LightWave 9 ships with a custom node tree specifically designed for use with ZBrush. We’ll simply load this node tree and make a few small changes.
From the Edit menu in the node editor, choose Import Nodes. Select the ZBrush node setup that came with LightWave 9.0.
Double-click on the Image node. From the Image pop-up menu, select “(load image)” and select the displacement map you saved out of ZBrush.
From the Mapping pop-up select UV Map. For the UV Map pop-up, select the OBJ_UVTextureMap that was saved with your OBJ file.
Close the Image node. Now we need to apply the displacement to our object. Drag the blue Result output from the Scale node and connect it to the Displacement Input.
Double-click the Multiply Node to open its properties. This node controls the amount of displacement and it defaults to 0.1. In my experience, this is a bit too low. Go ahead and increase the B value from 0.1 to 0.25. This is nothing more than a guess at a good value to start with. Close the Multiply node properties window and then close the Node Editor.
Now we need to change our Display Subpatch level and our Subdivision order. Click on the Geometry tab of the Object Properties panel and change the Subdivision Order pop-up menu from First to After Bones. Then increase your Display SubPatch level from its default of 3 to 10.
Lastly, we need to change our Subpatch Render level.
LightWave uses a different technology for working with displacement maps than ZBrush. In order to replicate the details of your ZBrush model, you need to increase the number of polygons in your LightWave object, even beyond that which you had in ZBrush. I find that I typically need between 2 to 4 times the number of polygons used by ZBrush to get the details I want in LightWave. So, for example, if my highest subdivision level in ZBrush was 5, and that yielded approximately 450,000 polygons, I’ll need anywhere from 900,000 to 1,800,000 polygons in LightWave. You increase the number of polygons available to you by changing the Render Subpatch level.
In LightWave 9, we have three options available for defining our render subpatch level. We can increase the subpatch level on a per object basis, on a per polygon basis, or we can set the number of pixels to use for each polygon in our object. Good results can typically be obtained using the Per Object mode and setting the level between 10 and 20. For true sub-pixel displacement, you can set the Render Subpatch to Pixels per Polygon and then lower the value to 0.5. That means that every polygon in the object will take up 0.5 pixels in the final render.
For now, let’s use Per Object mode with a Level of 10.
Now that we’ve set up our displacement map in LightWave 9, let’s take a look at how to do the same thing in LightWave 8.5.
Adding the displacement in LightWave versions up to 8.5
Before using your displacement map in 8.5 (or earlier), make sure that you’ve first added the Lynx Normal Displacement Plug-in and the 16-bit Tiff loader. Instructions on how to add plug-ins can be found in the LightWave manual or electronic Help file.
Click on the Add Displacement pop-up menu from the Deform tab of the Object Properties panel. Scroll down and select the NormalDisplacement plug-in to add it to your list of active displacement tools.
Double click on the Normal Displacement plug-in to open its properties window. Enter 500mm for the Displacement (which is nothing more than a good guess for a starting point) and set the Luminence Center to 50%. Everything else can be left at its default.
Click on the Texture button to open the Texture Editor. This is where we’ll add our displacement map from ZBrush.
Change the Projection to UV. Change the UVMap to the OBJ_UVTextureMap which was saved with your model out of ZBrush. From the image popup menu, load the displacement map you saved out of ZBrush. Then close the texture editor.
Go ahead and close the Normal Displacement options window. You should still have the object properties panel open. Click on the Geometry tab.
As I mentioned in the section on adding your displacement map in LightWave 9.0, LightWave uses a different technology for working with displacement maps than ZBrush. In order to replicate the details of your ZBrush model, you need to increase the number of polygons in your LightWave object, even beyond that which you had in ZBrush. I find that I typically need between 2 to 4 times the number of polygons used by ZBrush to get the details I want in LightWave. So, for example, if my highest subdivision level in ZBrush was 5, and that yielded approximately 450,000 polygons, I’ll need anywhere from 900,000 to 1,800,000 polygons in LightWave. You can increase the number of polygons available to you by changing the the Render Subpatch Levels.
Set your Render subpatch level to 10 (which is a good starting point). You can always adjust it later if you feel you need more details. Then set your Subdivision Order to After Motion.
Once the displacement map has been applied to your object (in either LightWave 8.5 or 9.0), it’s a good idea to do a quick test render. Press F9 to see how your object looks once it’s rendered.
At this point, you’ll likely need to do some tweaking to get things to look just right. Go ahead and continue tweaking the Displacement amount until you get the look you’re after. If you find that you aren’t getting the level of detail you expected from the displacement map, try increasing the subpatch level in the object properties panel, but keep in mind that we’re not through yet and more detail will appear once we’ve added our Normal Map and Bump Map.
Apply the normal map to your object
The displacement map does a great job of recreating broad changes to your object, but it requires an unruly amount of polygons to simulate the finer details. To make things a little easier, let’s add in our Normal Map.
The steps for using a normal map differ from LightWave 8.5 to 9.0. First, let’s take a look at how we’d do this in LightWave 9.
Applying a Normal Map in LightWave 9.0
Applying a Normal Map in LightWave 9 is a simple and process thanks to LightWave 9’s Node Editor. Let’s take a look at how to do this:
Open the Surface Editor. Click on the surface for your object and make sure Smoothing is turned on. Then press the check box next to the Edit Nodes button to enable node editing.
Click on the Edit Nodes button to open the Node Editor. From the Add Node drop-down menu, choose the 2D Textures/NormalMap node. Then double click on the node to open its properties.
Click on the Image drop-down in the normal map node and select (load image). Load in the Tangent Space normal map you saved out of ZBrush. From the Mapping drop down choose UV Map and then choose the OBJ_UVTextureMap as the map to use.
Close the Normal Map node. Connect the Normal output from the Normal Map node to the Normal input on the Surface. That’s it! Easy, huh? Go ahead and close the Node Editor.
Applying a Normal Map in LightWave 8.5
There are several options for using normal maps in LightWave 8.5 and earlier, but the best by far is TB’s Normal Map Shader. It works with displacement maps, bump maps and bone deformations and it’s free, making it a superb option for PC users.
Open the surface editor. Click on the surface for your object and enable Smoothing. Then click on the Shaders tab.
From the Add Shader drop-down menu, select TB_NormalMap. Then double click on the shader to open its properties. You should see a single Normal Map strength option at 100%, followed by an Envelope button and a Texture Editor button. Leave the Normal Map strength at 100% and click the “T” to open the Texture Editor.
Change the Projection to UV, choose the OBJ_UVTextureMap as the UV Map and then load in the Normal Map you saved out of ZBrush.
Now that you’ve applied your normal map (either in LightWave 8.5 or 9.0), it’s time for another test render. Turn on antialiasing and shadows. Then Press F9 to see how the Normal Map enhances the image.
You may need to adjust the strength of the Normal Map to get the look you’re after. For LightWave 9 users, you’ll need to adjust the Amplitude in the Normal Map node. Those using TB’s NormalMap shader will need to raise or lower the strength setting that appears when you double-click on the shader.
Apply the bump map to your object
The displacement map reshapes your object and the Normal Map helps fill in general details. But the bump map can really polish your object by adding “high frequency” details such as pores, small wrinkles, etc. Let’s finish things off by adding the bump map.
Applying the Bump Map in LightWave 9.0
Open the Surface Editor and select the surface for your object if it’s not already selected. Make sure that the Edit Nodes checkbox is enabled. Then open the Node Editor.
Click the Add Node button and from the 2D Textures menu, choose the Image node. Double click on the node to open its properties. Choose your Bump Map as the image, set the Mapping Type to UV and choose your UV Map.
In most cases, the default Bump Amplitude of 100% will be too low for bump maps created in ZBrush. I’ve found that a good starting point is around 1000%, with acceptable values ranging from 400% to over 1500%. If you find that you aren’t seeing the fine details (or that the bump details are simply too strong), try adjusting the Texture Amplitude. For now, set the Bump Amplitude to 1000%. Then connect the Bump output from the Image node to the Bump input on the Surface.
Close the Image node properties and close the Node Editor.
Applying the Bump Map in LightWave 8.5
Open the Surface Editor and select the surface for your object if it’s not already selected. Then click on the T button to the right of the Bump setting to open the Bump Texture Editor.
From the Projection popup menu, choose UV. From the UVMap popup, select the OBJ_UVTextureMap. From the Image popup menu, choose “Load”. Locate the Bump map PSD file you saved earlier to apply it to your object’s bump channel.
In most cases, the default Texture Amplitude of 1.0 will be too low for bump maps created in ZBrush. I’ve found that a good starting point is around 10, with acceptable values ranging from 4 to 15. If you find that you aren’t seeing the fine details (or that the bump details are simply too strong), try adjusting the Texture Amplitude.
Now that your Bump Map has been added, let’s do a sample render. Press F9 to see your results.
Finalize your render
Now that we’ve added the three primary maps, it’s time to do a little finessing to make sure that our LightWave object resembles our ZBrush sculpture as closely as possible.
Press Ctrl+F5 to open the Effects panel. From the Backdrop tab, click on the Backdrop Color. Enter 128 for the R, G and B channels. Then press OK. This will ensure that our LightWave backdrop matches the default ZBrush backdrop.
Close the Effects panel and open the Surface Editor. Click on the surface for your object. In order to match our ZBrush object, you should start with a basic surface. Remove any textures you may have applied as well as any special shaders (except for TB’s Normal Map shader).
Click on the Color swatch and give the surface an RGB of 192. Press OK to close the color picker window. Set the diffuse for your surface to 90%. Increase the Specularity and Glossiness to 20% each. Leave all other values at 0% except for the Bump map which defaults to 100%.
If you look closely, you’ll notice that the ZBrush viewport is almost orthographic. It shows little if any perspective distortion. To simulate this in LightWave, we simply move the camera back and increase the Zoom.
Move your camera far away from your object on the Z axis. Then open the Camera properties panel and increase the Zoom Factor until the object fills the screen.
Now would be a good time to do a test render. Press F9 and compare your rendered results to what you see in ZBrush.
You may find that your render has much more contrast than you see in ZBrush. To compensate for this, increase the Ambient Light Intensity. LightWave defaults this to 5%. Try increasing it to 25%. You will likely also need to adjust the Global Light Intensity to compensate. Try dropping this from its default of 100% down to 80%. In LightWave 8.5 the Ambient and Global Light Intensity is set in the Light Properties/Global Illumination panel. In LightWave 9.0 the Ambient is set in the Light Properties panel and the Global Light Intensity is set in the Render Globals panel.
Do another test render and compare your results to what you see in ZBrush.
The lighting change helped but it looks like the specular settings are a bit off. Change the Specularity to 25% and the Glossiness to 45%.
Do another test render and compare your results again.
From this point, you should continue to finesse the image and make any final adjustments necessary to the Displacement, Normal and Bump maps to get your image to match the sculpture in ZBrush. You can even continue to enhance your render by applying a cavity map. You can learn how to create a custom cavity map in #Creating a cavity/diffuse map.
Conclusion
Congratulations! You’ve successfully gone from LightWave to ZBrush and back again. That wasn’t so bad, was it? As you continue familiarizing yourself with the steps above, you’ll find that the process of working between LightWave and ZBrush is very simple. And best of all, the process is very open ended. As we proceed into the following sections, we’ll explore alternate workflows and advanced tips for getting the most out of your experience with these two programs.
Prepping your model for use in Zbrush
In this section we’ll talk in more detail about setting your model up for use with Zbrush. We’ll cover Zbrush’s requirements, as well as advice that goes beyond Zbrush’s minimal requirements, but is nonetheless essential for getting the best results from the program. We’ll also talk about the various techniques for working with UV maps in Zbrush.
Zbrush has two basic requirements for the models you import. The first is that they consist of quads or triangles. And to be honest, it should really just be quads. When you subdivide your object in Zbrush, quads are immediately subdivided into smaller quads. But if you have triangles, the first division only converts them into quads. Then they are subdivided into smaller quads on each successive division. So areas with triangles inherently have a lower resolution than other parts of the model. This can make modifications in those areas less accurate as there are fewer polys to work with. For this reason, if you’re going to use triangles, it’s best to hide them in inconspicuous parts of your object.
You’ll notice that N-gons are not supported. This means that polygons with more than 4 points will cause unwanted problems if you bring them into ZBrush. An easy way to check for n-gons is to use the Polygon Statistics panel. If the “>4 Verticies” option has a white + ornext to it, then you’ve got n-gons in your model. Make sure you convert these to quads or triangles before you continue.
The second requirement for bringing your model into Zbrush is that UVs not have overlapping geometry. If your UVs overlap, Zbrush can crash when you attempt to generate a displacement map. If you use Zbrush’s GUV or AUV Tiles, this won’t be a problem. But if you use any other UV type in Zbrush or if you create your UV in LightWave, there’s a good chance you’ll have overlapping geometry. Zbrush can help you identify overlapping UVs. That information is covered in #Checking for Overlapping UVs in ZBrush.
While Zbrush only puts the two aforementioned restrictions on the model you import, there are other more practical issues that can go a long way towards making your work in Zbrush more productive. In this section we’ll talk about them.
Optimizing the Polymesh
Good Polygon Flow
It’s easy to think of Zbrush as a magic modeling application. Its ability to handle millions of polygons and to paint deformations so effortlessly certainly lends to this notion. However it’s important to remember that Zbrush is really just a highly advanced subdivision modeling program. And as such, it operates on the same core principles which are found in other modeling applications. The chief principle here is that of proper polygon flow through the construction of good edge loops. The flow of polygons in your object will determine how the model gets subdivided. Having poor edge loops or inappropriately placed triangles will affect the subdivision and subsequently the quality of the deformations you’ll get in Zbrush and LightWave. While you can get away with bad flow in Zbrush, it bears noting that good flow will only enhance your work. Teaching you how to resolve problems of polygon flow is beyond the scope of this guide. However it is advisable that you study the work of skilled modelers to mimic their work and to ground yourself in the basics of human anatomy. The better LightWave modeler you are, the better Zbrush sculptor you will be.
Even distribution of polygons.
Most modelers strive to use the fewest number of polygons possible to achieve the proper results. However, in some cases, working with such few polygons can create models that look great when subpatched, but are nearly unrecognizable when not. This can produce two notable problems when working in Zbrush. The first comes from trying to adjust the mesh at subdivision level one. Since it’s best to work through the range of subdivision levels while sculpting in Zbrush, having a model that’s unrecognizable at level one can make it overly difficult to work with. The second problem comes when you apply UV textures. Since UVs are calculated at subdivision level 1, if you have too few polygons, you’re more prone to getting map distortion.
Before you export your object for use in Zbrush, hit the Tab key to turn on subpatches. If your model doesn’t look like it does when subpatched (with a bit less smoothing), you should consider freezing it at a low subpatch level before exporting it. This can be done by opening the General Options panel and setting the Patch Divisions to 2, closing the General Options panel and then pressing Ctrl-D.
Model Organization
If you’re working on a complex object, it can be helpful to organize parts of the model into groups before you bring it into ZBrush. You can do by selecting your polygons and choosing Create Part from the View tab in Modeler. Parts work like surfaces. A polygon can not have multiple surfaces; likewise it can not belong to multiple Parts. If you’ve already surfaced your object, you can make the Part creation easy by utilizing the Surfs to Parts command from the View tab in Modeler. When you import an OBJ into ZBrush that contains LightWave Parts, they will be interpreted as Polygroups. You can learn more about Polygroups in #Polygroups.
Model cleanup
Zbrush really likes to work with a single, solid mesh without open edges (i.e. holes) or unwelded points. Before you export your object, make sure you run the merge points command and delete any stray points that may be floating around your model from using tools like Merge Polygons. If you do have open edges, you should consider running the Tool/Geometry/Crease command before subdividing your object in ZBrush.
UV Map Preparation
In this section we’ll talk about the function of UVs in the LightWave / Zbrush pipeline. We’ll also talk about special techniques for using multiple UV maps in Zbrush to achieve greater levels of detail in your final object.
The functions of UVs in Zbrush
Zbrush uses UVs for three primary functions:Painting textures, generating displacement and normal maps, and sorting portions of your object into customized groups. ZBrush does not use UVs for its basic sculpting functions. This means you’re free to import your model and begin working on it without having to worry whether its UV map is ready. In the Quickstart Guide I showed you how easy it was to create a distortion-free UV map with Zbrush. But you’re not forced to use Zbrush’s UVs. You can use a LightWave UV map and even update it at any point during your Zbrush sculpting session. I’ll show you how to do this shortly.
How the OBJ file format handles UVs
Objects in LightWave can have any number of UV maps. Unfortunately, however, the OBJ file format is limited to using a single UV called the “OBJ_UVTextureMap.”
Obviously, if you’re only using one UV in Modeler for your entire object, this limitation will not pose a problem. However, that’s rarely the case. More often, multiple UV maps are created for different parts of an object with each one filling the available 0 to 1 UV coordinate space.
When you export an OBJ file with multiple UV maps, the OBJ exporter layers them on top of one another in a single UV called “OBJ_UVTextureMap”. As we’ve noted before, if your UV map contains overlapping geometry, it can cause ZBrush to crash. For this reason, it’s best to place each UV in its own distinct coordinate space. I’ll show you how to do this in just a bit.
Using LightWave UVs
Most of the time, using a GUV Tile UV created in ZBrush is the quickest and easiest way to get great results. However there are times when it’s more advantageous to set up your UV maps in LightWave. In this section we’ll talk about the circumstances under which you might want to use LightWave’s UVs over ZBrush’s.
If you do most of your texturing in ZBrush, then it probably doesn’t matter whether or not you use a ZBrush generated Tile UV. But if you want to use an external program like Painter or Photoshop, you’re going to run into a bit of trouble. If you’ve ever looked at one of the Tile UVs in Modeler, you know that they don’t look a thing like your object. Instead, they look like a crossword puzzle. This makes it nearly impossible to use your UV as a background guide for painting. For this reason, you may want to create your UV in LightWave.
Another situation in which LightWave UVs are a better option is when it comes to painting on inorganic objects. We all know ZBrush works wonderfully for characters. But you can also use it to texture objects such as furniture, appliances, aircraft etc. For rigid objects, I’ve found that GUV tiles produce undesirable artifacts. LightWave’s Atlas UV map, however, provides the perfect UV for these types of models.
Perhaps the biggest reason to set up UVs in LightWave is so you can use multiple UV maps. As was noted previously, the OBJ format can only handle a single UV. But as you will see shortly, you can work around this by setting your maps up in LightWave.
When using LightWave UVs, the following rules apply:
- Make sure that you apply each UV map to a separate surface. You can not apply multiple UVs to a single surface as they will not be exported with the OBJ. Each UV must be applied to a separate surface and applied to one of the texture channels for that surface.
- Make sure that you don’t have any overlapping UVs. I’ve mentioned this before, but it bears repeating. If you have overlapping UVs, it will cause Zbrush to crash when you try to generate a displacement map.
Setting up Multiple UVs for use in ZBrush
If you’re going to be texturing an entire character and you’re okay with using a single UV map for the whole object, then you can simply follow the steps outlined in the Quickstart guide. But if you want to maximize the amount of detail, you’ll be better off using multiple UVs. For example, you might assign one UV for the head of a character so that it can take advantage of the full 0 to 1 map space. You could then use another for the torso, and yet another for the arms and legs.
ZBrush can only create one UV map for each object. And the OBJ format can only hold one UV per object. This leads many people to believe that they can only use a single UV map for their work. But that’s not the case. To use multiple UVs, you must do two things:
- Offset each successive UV map by 100% on the U axis.
- Combine each separate UVs onto a single map
Let’s take a look at how to do this.
Open your object with Multiple UVs and copy each part that has a UV to separate layer. Open the Vertex Maps window from the Windows drop-down menu. Then switch one of your viewports to show the UV space and turn on the grid.
At this point, every UV should occupy the standard 0 to 1 UV space. We’ll leave the first layer’s UV where it is and we’ll offset each successive layer by 100%.
Click on the second layer and select its UV in the Vertex Maps window. Then run the Transform UV command from the Map tab. Check the Offset option to enable it. Set the U to 100% and leave the V at 0%. Finally, press OK. This will move the map a full space to the right.
Repeat this process for the next layer and increase the U offset value by an additional 100%. Since the last UV was offset by 100%, this one will be offset by 200%.
Repeat this again for each additional UV. Each successive Transform should see the offset increase by anadditional100%.
When you’re finished, select all of your layers. Then shift-select your UV maps. You should see each map in its own distinct space.
Now it’s time to apply each UV to a surface so that it gets exported with our model. If you don’t have a unique surface for each UV, now would be a good time to create them. Simply click on each layer and assign it a new surface name corresponding with the UV it will be associated with.
Open the Surface Editor and click on the name of the surface for the UV in layer one. Open the Color Texture Editor. Set the Projection to UV and choose the UV map associated with this layer.
Repeat this for each surface. When your finished, select all your layers. Then copy the geometry and paste it into a blank layer.
From the File/Export menu, choose Export OBJ to save your model for use in ZBrush.
Now load in the OBJ. Open the Vertex Maps window if it’s not already open and click on the OBJ_UVTextureMap. You should see each UV present on this single map.
When you export your model as an OBJ, any assigned UVs get merged together in the single OBJ_UVTextureMap. By offsetting each layer as we did, we avoided the work of having to copying and pasting UVs into a new UV map and instead let the OBJ export do this for us.
Your OBJ is now ready for use in ZBrush.
Exporting your Object
Exporting your object is a fairly straightforward process, but in this section we’ll talk about a few tips that can help avoid problems down the road.
Working with layers
When you export your object, make sure that your geometry is not spread out over multiple layers. The OBJ exporter will not see multiple selected layers and will simply export the last selected layer.
I find it helpful to copy all my geometry to a new layer in order to be certain of what is being exported.
Use Parts, not Selection Sets
Interestingly, if you create a point selection set in Modeler, when you export your OBJ file you will get a message saying “do you want to export point selection sets as groups?”However even if you say “Yes” to this, the point selection sets will not come into ZBrush as a Polygroup. To create custom group sets for use in ZBrush, use Parts instead of Selection Sets.
Check your OBJ
Before you import your OBJ into ZBrush, it can be helpful to check the model by opening the OBJ into LightWave. Make sure that any Parts and LightWave UV maps were exported. This can help avoid confusion that can come down the line.
Working in ZBrush
ZBrush can be intimidating at first, especially for LightWave users. The nomenclature between the two programs is not synonymous and since ZBrush is a hybrid 2D/3D program, its workflow can take some getting used to. But you will quickly find that it is extremely powerful and easy to use.
In this section we’ll explore the practical use of ZBrush. We’ll talk about the interface, useful preference settings, helpful navigation tips, and workflow techniques that apply specifically to LightWave users.
Customizing the Interface
ZBrush organizes its tools in a slightly different fashion than LightWave. In LightWave, tools are arranged according to tabs at the top of the interface. Every tab contains a new set of tools. ZBrush organizes tools in menus. Clicking on a menu provides a palette of tools and submenus. To create a more familiar working environment, you can dock one or more menus to the side of the screen..
Docking a menu to is simple. Just open the menu and click the small orange icon depicting a circle with an arrow coming out of it. To remove the menu from the side of the screen, simply click the docking icon again.
Each menu in the sidebar gets added above the previous one. When you have several menus open at the same time, they can quickly fill the available space and even run off the bottom of the screen. There are two ways to navigate through the sidebar menu. The first is to expand and collapse individual menus. To do this, simply click on the name of the menu in the sidebar.
The way to navigate through the sidebar is to leave everything open and simply scroll through the menu. When you hover your mouse over any blank portion of the sidebar, your cursor will turn into a vertical line with top and bottom arrowheads. Clicking and dragging up and down will allow you to scroll the tools in the open menus.
Most of the top level tools (meaning ones that are not found in submenus) can be torn off and placed anywhere on the interface. For example, if you find yourself using the Load Tool and Save Tool buttons, you can tear just these buttons off and place them where you’d like on the interface. To tear off any tool, hold down the CTRL key, then click and drag the tool. Move the tool to its new location and then release the mouse button. To remove a docked tool simply CTRL click on it.
If you’ve docked several menus and are happy with your interface changes, you can save the layout so that it appears each time you run ZBrush. To do so, click the Preferences menu and toggle down the Config submenu. Then click on the Store Config button.
If you find that you’ve inadvertently changed something and would like to get back to the default settings, you can restore ZBrush by choosing the Init ZBrush button from the Preferences menu. However if you are happy with your custom interface and simply want to switch back to the default interface temporarily, you can click the Standard button above the basic menus. To return to your customized interface, simply click the Custom button.
Help at the click of a button
They say that it’s the little things that count. That’s especially true of ZBrush’s interactive help system. If you hover your mouse over any item in the ZBrush interface will produce a standard tooltip. Nothing out of the ordinary. However holding down the CTRL key while hovering over an item will produce an extended tooltip with a wealth of useful information. In many cases, this extended tooltip provides enough information that you can avoid an unnecessary trip to the manual.
Useful Preference and Document Settings
Most of ZBrush’s default preferences and document settings are sufficient and don’t need to be changed. However there are a few notable exceptions. In this section we’ll talk about some of the preferences you may want to adjust.
Memory / Undo Settings
Since RAM varies so much from one system to the next, ZBrush defaults to a fairly low amount of RAM usage. Specifically, 256 MB of RAM. When you subdivide your model and are working with millions of polygons, this can cause unnecessary slowdowns as the program is forced to work through the process of “compacting” the limited memory. To speed things up, you should increase the RAM available to the program. You do this by opening the Preferences menu and toggling down the Mem submenu. Increase the Compact Mem option from its default of 256 to about 50-75% of your available RAM.
While in the Mem submenu, you should also increase the Doc Undo and Tool Undo. I typically set both of these to 10.
Normal Map Settings
If you’re working in LightWave 8.5 or earlier, you will need to set two preferences if you plan to use Normal Maps. Failure to set these preferences is one of the most common causes of problems users experience.
Open the Preferences menu and toggle down the “Importexport” submenu. By default, none of the options here are set. Activate “NormalMapFlipX” and “NormalMapFlipZ.”Leave everything else unchecked unless you have specific reason to change it.
If you’re using LightWave 9.0 for your Normal Maps, make sure that these options areNOTset .
Document Size settings
As is the case with memory, ZBrush defaults to a fairly small document size. When working with imported models, the document size does not affect the object. It simply affects the available viewing space. Therefore, if you’re working at higher resolutions on a large monitor, you should increase your document size. Just be sure to leave a little border space to ensure you have room to navigate with the keyboard shortcuts (described below).
Background Color
ZBrush’s canvas defaults to a medium grey. Often times this works just fine. However there are cases where having more contrast will make it easier to see what’s going on with your model. To change the background color:
- Choose a color from the color palette. Black works well in most cases. Note that if you do not have a texture assigned, your model will take on the color you just selected. Don’t panic! This is normal.
- Open the Document menu and click on the Back button.
- Finally, choose a new color such as white to restore the appearance of your object.
Changing the default material
The default Material is called FastShader. It is a good material however you may find it easier to use the BasicMaterial as its diffuse and specular values give better visual cues as to the form of your object. To change the material, simply click the Material palette on the main interface and select from the available list.
If you find that the Basic Material’s settings are not to your liking, you can easily change them by adjusting the sliders in the Materials menu. I typically turn the specular down to 8 or 9 and the diffuse up to 85 or 90.
Helpful Tools and Keyboard Shortcuts
You can boost your productivity with a few simple tools and a handful of keyboard shortcuts. In this section we’ll talk about the ones that every user should know about.
Snap Rotation
One of the most helpful keyboard shortcuts is the Shift key. When rotating your model, holding down the Shift key will snap the rotation to the nearest 90-degrees. This can make it easy to quickly view your object from the direct front, top or side.
Smoothing Deformations
Another common use of the Shift key is to smooth out deformations. When you’re sculpting in the Zadd or Zsub mode, holding down the Shift key will turn your cursor blue. This temporarily activates the Smooth Edit brush (which can also be activated from the Transform menu). Painting with the Smooth Edit brush allows you to repair harsh deformations you’ve painted onto your model. Keep in mind that smoothing out details at high Subdivision levels works differently than smoothing them out at low Subdivision levels. If you inadvertently create a crease in your object and are having trouble getting rid of it, try Smoothing it at a lower Subdivision level. This will usually fix the problem.
Positioning
To position your object on the canvas, simply hold down the Alt key and drag any blank area.
Resizing
Another use of the Alt key is to resize your object. Hold down the Alt key and then click your left mouse button. Then let go of the Alt key and drag your mouse up and down to scale your object. Keep in mind that scaling your object is different than zooming into and out of the canvas. When working on the detail areas, you should always increase the size of your object rather than zooming into the canvas.
Resetting size and position
It’s not uncommon to size or position your object to such a degree that it becomes difficult to work with. To quickly restore the object, simply double click on the Move icon at the right side of the interface. Alternately, you can hold down the Alt key and double click a blank area of the canvas or the border.
Setting/Restoring a Pivot Point
ZBrush defaults its pivot point to the center of your object. However when you’re zoomed in to a smaller portion of your model, rotating from the pivot point can be cumbersome. To remedy this, you can easily set a new pivot point.
Position your mouse over your object ensuring that the red dot at the center of your cursor is over the area you want to be your new pivot point. Click and release your left mouse button making sure that you don’t move the mouse (which would deform the underlying polygons). Now click the S. Pivot button on the right side of the interface. Your object’s position will be changed slightly to accommodate the new pivot point. If you want to restore the pivot to the center of the object, simply click on the C. Pivot button.
Using the Frame mode
By default, ZBrush displays your object in a smooth shaded mode. But you can turn on a wireframe shaded view if you like. Activate the Quick button (if it’s not already active) at the top of the interface. Once in Quick 3D Edit mode, you can activate the Frame button to its left to enter Draw Polyframe mode.
In Frame mode, you can not only see the underlying mesh, but you can also see the different groups of polygons known as Polygroups.
Polygroups
Polygroups are just that: Groups of polygons. They are most useful for sectioning off parts your object, making it easier to show and hide the various parts.
Polygroups can be created from LightWave Parts, from UV maps (where each UV space will result in the creation of a separate Polygroup) or “automatically” based on the geometry in your object.
To create Polygroups from your UV maps, open the Polygroups submenu from the Tool menu. To assign groups based on the geometry of your object, click on the Auto Groups button. Bear in mind that running the Auto Groups command will wipe out any existing Polygroups. To assign a group to the currently visible portion of your model, click the Group Visible button.
Hiding and Revealing portions of your object
It’s often helpful to hide portions of your object. Not only does this speed up the display for highly subdivided models, it also protects parts of your object from unwanted alteration. There are two primary ways to hide and reveal parts of your object. You can drag a bounding box and hide what’s inside or outside the box or you can use Polygroups.
To hide the geometry inside or outside a bounding box, simply hold down the CTRL and SHIFT keys, then drag out a bounding box around your object. The bounding box will be green, indicating that what’s outside the rectangle will be hidden. If you release the SHIFT key but continue holding the CTRL key, you will switch from exclusive to inclusive mode. The bounding box will change to red, indicating that the polygons inside the box will be hidden. When you’ve got your bounding box around the polygons you want to hide, release the mouse button.
To swap between the hidden and unhidden parts of your object, hold down the CTRL and SHIFT keys and drag out a small bounding box around a blank portion of your canvas.
To unhide everything, hold down the CTRL and SHIFT keys and simply click then release your left mouse button.
This method of hiding and revealing is useful for quickly isolating portions of your object. But more advanced hiding and revealing can be achieved by using Polygroups. Make sure you are in Quick 3D Edit mode by activating the Quick button at the top of the interface. Then turn on polyframes by activating the Frame button.
You should see each Polygroup in your object represented as a different color. To show only a particular group, simply hover your mouse over that group, hold down the SHIFT and CTRL keys and then click your left mouse button.
To swap the currently visible group with the hidden groups, hold down the CTRL and SHIFT keys and click a vertex of your model.
To reveal everything, hold down the CTRL and SHIFT keys and click / release a blank portion of the canvas.
Checking for Overlapping UVs in ZBrush.
Since the presence of overlapping UV geometry can cause severe problems, it’s important to check for them before exporting your displacement map. This is especially true if you’re using UVs created in LightWave. ZBrush offers a simple way to check for potentially problematic UVs. Just toggle down the Texture palette from the Tool menu. Click on the UV Check button. If you see any red areas, you may have overlapping UV geometry. Be sure to rotate around your object as you check for red areas. Also, it can be helpful to export the texture to examine it more closely in an image processing program. Any red areas will need to be inspected in Modeler before you create your displacement map.
Swapping UVs in ZBrush
While it can be helpful to finalize your UV map before importing your model, ZBrush doesn’t force you to do so. This can be particularly helpful if you’re working as part of a team. Once the base mesh has been created, one member can begin working on the UV map while another begins sculpting details in ZBrush. When the UV is ready, it can be brought into ZBrush without affecting the work that’s already been done thus far.
To update your model with a new or revised UV map, follow these steps:
- Switch back to your stored morph target. If you don’t, you’ll affect the modifications you’ve made to your mesh.
- Lower your object’s subdivision level back to one.
- Click the Import button from the Tool menu.
- Locate your updated OBJ file and click Open.
Your object will be updated along with the new/modified UV. You can now increase your subdivision level and switch your morph target back to the modified mesh.
Prepping your model to go back to LightWave
In this section, we’ll look at the various options that affect our object’s return to LightWave.
Subdivision Level 1 or Stored Morph Target
Perhaps one of the most confusing aspects in the ZBrush to LightWave pipeline involves choosing which “state” your model should be in when generating normal and displacement maps. You have the option of using either the Subdivision Level 1 model or the stored Morph Target.
Using the stored morph target is typically thought of as the easiest approach and it will often produce terrific results. Perhaps the biggest advantage is that you can apply your maps directly to your original object in LightWave without having to copy the geometry changes to an endomorph as described in of the Quickstart guide.
Using the stored morph target requires a slightly different workflow. The most notable change involves when you store your morph target. When using the Subdivision Level 1 mesh (as described in the Quickstart guide), you store the morph target AFTER subdividing. But if you want to use the stored morph target to generate your maps, you should do so BEFORE you subdivide.
If you were to store the morph target AFTER subdividing, you would not be able to switch to the morph target at Subdivision Level 1. ZBrush only allows you to switch morph targets when you’re at the same subdivision level the morph was stored at. If you store your morph target at subdivision level 6, you can only switch it at subdivision level 6. So let’s assume that you switch to the morph target at a high subdivision level, then drop to level 1 and generate a map. It will appear to have no changes whatsoever. That’s because the displacement map is trying to replicate the changes made at the higher subdivision levels. But the changes at the higher subdivision levels are missing because you swapped them with the clean morph target. So as you can see, this creates a bit of a problem.
You can work around this, but it’s a lengthy process that involves creating a displacement map, reimporting your mesh, storing the morph target, increasing the subdivision level and then applying the displacement map within ZBrush to recreate your changes. It’s just easier to store the morph target BEFORE subdividing. You’ll lose the ability to use the Morph Edit brush at higher resolutions, but if you can live with that, it’s worth it.
So to use this approach, store your morph target first, then subdivide. When you’re ready to generate your maps, all you have to do is drop to subdivision level 1 and switch back to the morph target. You can then bypass the endomorph process described in of the Quickstart guide.
The problem with using the stored morph target to generating your maps comes when you’ve made fairly significant changes to your model. In these situations, you’ll typically find that your map won’t reproduce the details successfully. Let’s talk briefly about how the displacement map works to find out why.
The process of sculpting in ZBrush begins by subdividing your object until it contains enough polygons to attain a reasonable level of detail. You then use a variety of tools to move the points of your object around. The magic of ZBrush comes from its ability to handle vast numbers of polygons in real-time, which makes it feel more like sculpting and less like pushing around a bunch of points and polys.
Since the changes in ZBrush telescope up and down through each subdivision level, the changes you make at a high subdivision level also have an effect on the lowest subdivision level, namely subdivision level 1. If you store your morph target before subdividing, then switch back to it after extensive sculpting, you’ll notice that the morph target differs from the subdivision level 1 mesh.
If you were to generate your maps from the Subdivision Level 1 mesh (not the stored morph target) and you tried to apply them to your original LightWave model, they will be off just enough to make your render look bad. This is why it’s important to make sure that you always generate your maps from the same model you’ll end up using in LightWave.
You recreate the your ZBrush details in LightWave using a displacement map. A displacement map is nothing more than a grayscale image that moves vertices along their normals. The displacement map is not magic. It is nothing more than a record of how the vertices in your high-resolution object have moved compared to the low-resolution model currently visible on the canvas. The more you ask the displacement map to do, the higher the margin of error will be. To lower the margin of error, you can generate your map from the Subdivision Level 1 object. Since this object is closer in appearance to the final high-res model it will make it easier for the displacement map to recreate the finer details.
The problem with using the Subdivision Level 1 mesh is that you must jump through a few hoops to get it to work with models that have weight maps or endomorphs in LightWave. But I believe that the advantages outweigh the disadvantages in this approach. Ultimately the choice over which approach to use is entirely up to you. I encourage you to try them both and then choose the one that works best for you.
Creating a single displacement map from a multiple UV object
It’s easy enough to create a single displacement map. Just drop your subdivision level down to 1, set your preferences and press the Create DispMap button. However if your object has multiple UVs, each will be created on top of one another in a single map, producing in a useless image.
To resolve this, you must hide the geometry for everything except the UV you want to create a displacement map for. For example, if you have a head model and the face, eyes and teeth all have separate UVs, you would need to hide the eyes and teeth before creating the displacement map for the face.
An easy way to hide all but the polys assigned to a specific UV map is to convert each UV map into a Polygroup. You can do this by clicking the UV Groups button from the Tool/Polygroups menu.
Once you have only the UV group visible, you can create a displacement map for just this particular map.
Creating displacement and normal maps with ADE/MD2
There’s a great set of tools available for ZBrush called the Alpha Displacement Exporter (ADE) which comes as part of the Multi Displacement 2 (MD2) plug-in. MD2 allows you to streamline the creation of displacement and normal maps. Not only can you export both maps in one step, but you can automate the process of exporting sequential maps for multi-UV objects. This eliminates the tedious process of hiding/displaying geometry as described in the section above.
Let’s begin by looking at the options in MD2. Add the MD2 plug-in to the ZData/ZPlugs folder of your ZBrush install. When you restart ZBrush, the plug-in will appear in the Zplugin menu and two new buttons (DE Options and DExporter) will be added to the Alpha menu. For now, we will focus on the options available in the ZPlugin menu.
Dock the Zplugin menu to the side bar and open the options for Multi Displacement 2.
Let’s talk briefly about the main sliders found in the MD2 plugin:
- UDim allows you to define how many UV maps there are outside your standard UV space. Leaving this at 0 will let ZBrush automatically determine the correct number. I’ve never had a problem with its automatic settings so I prefer to leave this at 0.
- InitialFileIndex determines the naming convention for multiple UV maps. Leave this at 1001.
- MaxMapSize determines the resolution of your maps. It corresponds to the DPRes field found in the Tool/Dispalcement menu.
- MapSizeAdjust adjusts the overall size of your map based on the polygon area in 3D space. Leave this at 0 to ensure that none of your maps are inadvertently adjusted.
- DpSubPix determines how many times the mesh will be subdivided before generating the maps. This will only happen if you have the Adaptive mode turned OFF in the Tool/Displacement menu. Since I typically use Adaptive mode, I leave this setting at 0.
- Border determines the amount of overpaint that gets applied to the map. The default of 8 is generally fine.
If we want to use MD2 to simplify the map creation process described in the Quickstart guide, here are the settings we would use:
- UDim = 0
- InitialFileIndex = 1001
- MaxMapSize = 2048
- MapSizeAdjust = 0
- DpSubPix = 0
- Border = 8
- And in the Tool/Displacement menu you would turn on both Adaptive and SmoothUV.
Before we get to creating our map, we need to set up our Export Options. Go ahead and click on the Export Options button. This brings up a complicated-looking panel with about three dozen buttons. When I first saw this panel I freaked out. But don’t panic! It’s not as complicated as it first appears.
What makes the Displacement Exporter (DE) options window so powerful is that it allows you define what gets exported and how it gets exported. I always use the same settings when setting up my displacement and normal maps. By defining those settings here, I can make quick work of my map creation.
The buttons at the top of the DE window are all presets. You can use them as is or modify them to meet your own needs. That’s what we’re going to do now.
When you open the DE options window for the first time, the D32 button will be selected. This is the preference for exporting 32-bit maps. LightWave can’t handle these. Make sure the Status button for the D32 button is off. This not only disables the customization options at the bottom half of the screen, it also tells MD2 not to use this preset when exporting your maps.
- Click on the D16 button. This is the 16-bit displacement map preset. Click the Status button to on. This enables map exporting for this preset and also allows us to customize the options.
- Channels should be at 1. This ensures that we use a single-channel image (i.e. grayscale) rather than a 3-channel image (i.e. RGB).
- Scale should currently be set to A. D. Factor. This will use the Alpha Depth factor for adjusting the overall brightness/contrast of the displacement map. Leaving this at its default (or even turning it to Off) will produce maps that are basically identical to those created manually via the Create DispMap button in the Tool/Displacement menu. If you find that your displacement map lacks punch, you might want to try changing the Scale setting to Auto. This will increase the brightness and contrast and help bring out some of the more subtle details in your displacement map.
- Ch 1 Range should be set to Full Range. This will ensure that the map is generated with the full grayscale range.
- Ch 1 Res should be set to Full.
- Bits should be set to 16 to ensure we get 16-bits per channel rather than the standard 8-bits you find in standard grayscale images.
- Smooth should be set to No. If you find that your image is a bit too noisy and produces notable artifacts, you might consider turning this option on.
- Vertical Flip defaults to No. Since we always need to vertically flip our images, change this to Yes.
- Seamless defaults to No. Since we’re not setting up a tillable image, leave this at No.
Now that our Displacement options are set up, let’s quickly set the options for our normal map.
Click on the Normal8 button and turn its Status on. The settings here are basically the same as those for the Displacement map; however they are geared towards the creation of a normal map that can be used in LightWave 9. There are only two options we need to consider here.
- The first is the Scale option. On our Displacement map, we set the Scale to A. D. Factor; however for our normal map, this will result in a substantial loss of information. The Scale option for the Normal8 preset defaults to Auto. Leave this set to Auto. You will likely have to adjust the intensity lower in LightWave, but you’ll get much better results than you would by generating your map with the Scale set to A. D. Factor.
- The only other option to set here is the Vertical Flip. Change it to Yes.
You can now close the DE options window. Back out at the Multi Displacement 2 menu, click on the large Create All button. You will be prompted for a name and location to save your maps. Click Save and both maps will be saved.
If you have a single UV map, then a single 16-bit displacement and a single 8-bit normal map will be created. If you have multiple UVs, each UV space will have a displacement and normal map created for it. You can now use MD2 any time you want to create normal and displacement maps for your object.
Creating a cavity/diffuse map
It’s a pretty common practice in LightWave to use a gradient in the Diffuse channel to help accentuate the shading and bring out the details in the bump map. ZBrush can help produce this effect through the use of a custom Cavity Map.
To begin, select the Basic Material from the Material palette out on the main interface.
Next, either load in your displacement (if it was created using MD2) or create a new one from the Tool/Displacement menu.
Once you have your displacement map in the Alpha menu, select it. Then click the CropAndFill button. This will erase the canvas and fill it with your displacement map.
Now here’s the fun part. The map is not applied to the canvas as mere grayscale pixels. It is applied as pixols, which means they have depth. By changing the attributes of the Basic Material, we can isolate the shading to only the lowest parts of the map. This is how we create the cavity map.
Currently our lighting is coming from the uppler left. Let’s set this so that it’s more head-on. Open the Light menu and drag the light placement dot until its close to the center of the preview sphere.
Now we need to tweak the Basic Material to get the effect we’re after. Go ahead and dock the Materials menu to the side bar.
We want to wash out all the highest pixols and leave only the lowest ones visible. To do this, we will change a few parameters.
Set the Ambient and the Diffuse to 50. Then drop the Specular to 0. Next set the CavityIntensity to 1000, the CavityRadius to 1 and the CavityColorize to 1.
In order to see the effect of the Cavity settings, we need to turn on Best in the render. Open the Render menu and switch from Preview to Best. The Best render will take a bit longer to process and you’ll likely end up with something that looks like tiger stripes. These dark areas represent the low points in our map. Let’s make some changes to our material to make this less extreme.
Try increasing your Ambient and then let ZBrush refresh its render. If the image is too washed out, try lowering the Diffuse value. You should also drop the Cavity Intensity and the Cavity Colorize settings. I rarely change the Cavity Radius as I’ve found that a setting of 1 yields the best results.
When you’re satisfied with the image, you will need to convert it to a texture map. Open the Texture menu and click the GrabDoc button.
You can now preview the texture on your object and continue to refine it using Projection Master. Open the Document menu and click on the New Document button.
If your model is still in memory, you can simply draw it onto the canvas. If it is not, you will need to load it in again. Make sure that the texture you created is assigned as the current texture. You’ll also want to switch from the Basic Material back to the Fast Shader.
You can now use Projection Master’s various brushes to clean up the cavity map. I typically use the Blur brush to smooth out the posterized effect. I will also go back with the Simple Brush and paint out any unwanted details.
When you’re finished, apply the cavity map to the diffuse channel of your model’s surface in LightWave. Remember that the cavity map is just like any other diffuse map. Darker areas will receive less light in the final render. Lighter areas will receive more light. The effect of the cavity map can be subtle, but it can often help enhance the overall shading for your object.
Saving your object
When you’ve finished sculpting and painting in ZBrush, you should always save your object. Saving it as a ZTool will allow you to draw it onto the canvas again and continue making changes. The ZTool format saves not only the high-resolution object, but also the current texture and alpha as well. If you use the MakeAlpha button in the Texture menu, you can convert your bump to an alpha. This will allow you to save both maps with your object.
ZTool files tend to be pretty large, especially in comparison to LightWave files. To save a bit of space, lower the Subdivision Level of your object to 1 before saving. The ZTool will retain the higher levels, but the resulting file size will be about 60% smaller than if you’d saved it at a higher Subdivision Level.
Thanks
Thanks to you, the reader for taking the time to read through this document. If you have suggestions for future updates to this guide, please email me at steve@stevewarner.com.
I’d like to extend special thanks to Ryan Kingslien for giving me the opportunity to write this guide. I appreciate your continued patience and support throughout the long development process.
Thank you to the entire Pixologic team for producing such an amazing program!
Finally, thanks to Chuck Baker for his assistance as well as the entire NewTek development team. The work you guys have done to make LightWave 9 more ZBrush compatible has been amazing. Keep up the great work!
































































































