ZBrush to Lightwave

From ZBrush Info

Jump to: navigation, search

by Steve Warner

Contents

Introduction

The same model before and after ZBrush.

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.

Load your object into Modeler and make sure it meets ZBrush’s minimum requirements.

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.

Note: For more tips on optimizing your mesh for use in ZBrush, see #Optimizing the Polymesh.

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.

Overlapping UVs can cause ZBrush to crash when generating displacement maps. If you’re using UV maps generated within LightWave, there’s a good chance you’ll end up with overlapping UVs. Make sure no polygons overlap one another in the UV viewport before you export your object.
Note: ZBrush can help you identify overlapping UVs. You can learn how to do this in #Checking for Overlapping UVs in ZBrush.
Note: Technically, ZBrush can only use one UV. But there are tricks to getting it to use multiple UV maps. To learn how to use Multiple UVs in ZBrush, see #Setting up Multiple UVs for Use in ZBrush.
If you want to use a LightWave UV, be sure to that you only have one map for the entire object and that there is no overlapping geometry in the UV viewport. Also, be sure to assign the UV to a Texture Channel.

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.

Click the icon to dock the Tool menu.

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.

Import your object.

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.

Locating the object in the Tool palette.

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.

Draw your object onto the stage and activate Edit Mode.

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.

Rotate your model so that it is facing forward and snap it into position by holding down the Shift key.

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.

Use icons or keyboard shortcuts to move and size your object.

Double clicking on the Move icon will restore your object’s size and position. Go ahead and double click the Move icon now.

Double click the Move icon to reset the size and position of your object.
Note: For more useful tips on navigating through the ZBrush interface, see #Helpful Tools and Keyboard Shortcuts.

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.

Note: ZBrush only requires the presence of a UV map for the creation of Texture Maps, Displacement Maps or Normal Maps. If all you’ll be doing at this stage is sculpting your object, you don’t really need to create a UV just yet. But I find that it’s helpful to have one ready to go when I want to create textures. So I make it a habit of creating a UV map for my objects as soon as they’re drawn on the stage. If you’d like more information on working with UVs inside ZBrush, please see #UV Map Preparation.

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.

If you’re not using a LightWave UV, click the Texture submenu from the Tools menu. Then click GUVTiles to add a Group Tile UV map to your object.

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.

Increase the DSmooth setting to 1. Click the Suv option to smooth UVs, then click the large Divide button a few 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.

The imported model at subdivision level 5.
Note: It will probably be tempting to add a bazillion polygons and try to paint every little detail onto the mesh of your object. But keep in mind that the more polys you use in ZBrush, the more polys you’ll need to use in LightWave to replicate those details. It’s often better to use a modest number of polys (around half a million to a million) for the basic shape changes and use a Bump Map for the fine details. We’ll learn more about painting a bump map in just a minute.

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.

Click the StoreMT button to save the original condition of your model as a morph target.
Note: You can store your morph target before subdividing your object, but the Morph Edit Brush will only work at Subdivision Levels equal to or lower than the one at which the morph target was stored. For this reason, it’s best to store the morph target after reaching your highest Subdivision Level (typically between 5 and 7).
While you don’t have to store a morph target, it’s highly advisable that you do so. Storing the morph target is your safety net to ensure that you have the widest range of options when for working with your model. Make sure you store a morph target before continuing.

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.

Understanding the Standard deformation brush and its cursor.

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.

Turning on wireframe view mode

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.

Activating Symmetry mode

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.

Open the System Palette and choose medium grey

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.

Create a new 2048x2048 texture

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.

Apply the Bump Material Viewer from the ZMaterials folder in your ZBrush program’s install folder.

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.

Open Projection Master and make sure only the Colors option is checked.

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.

Switch to a black color and begin painting on your 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.

Choosing different Brushes and Alphas will affect the shape of the brush stroke.

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.

Paint with white, black, grey and varying RGB Intensities to get the look you’re after.

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 the Projection Master button again to exit out of Projection Master mode.

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.

Open the Texture menu, press Flip V, then Export your texture as a Photoshop file.
Forgetting to flip your texture before exporting is a very common source of problems. If you find that your textures don’t “look right” when you apply them to your model in LightWave, the first thing to check is that they’ve been flipped.

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.

Lower your object’s subdivision level to one.
Note: The traditional thinking is that you should switch back to your stored morph target before generating your displacement map. However if you’ve made significant changes to your model, generating your map from the Subdivision Level 1 object will often yield better results. We will be following the procedures involved in using the Subdivision Level 1 object for our map generation. If you’d like more information about the differences between using the Subdivision Level 1 object and the Stored Morph Target, see #Subdivision Level 1 or Stored Morph Target.

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.

Note: Some people choose to leave Adaptive mode off and generate their displacement map with the DSubPix mode. This determines how many times the mesh is subdivided before the displacement map is generated. I find that I get better results with Adaptive mode turned on, but you may want to try using a DSubPix setting of 2 or 3 to determine which you prefer. Just bear in mind that the higher you set your DSubPix level, the longer it will take to generate your displacement map.
Set your displacement map size to 2048, turn on Adaptive mode and Smooth UVs and create a new displacement map.

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.

Open the Alpha menu, select your displacement map and 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.

Save the file in the 16-bit TIF format.
Note: You can store your displacement preferences and speed up the map creation process by using the ADE/MD2 plug-in. For more information about using MD2, see #Creating displacement and normal maps with ADE/MD2.
The Macintosh versions of LightWave prior to 9.0 can not use 16-bit TIF files.

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.

Set your Normal Map size to 2048, turn on Adaptive mode and Smooth UVs. Then turn on Tangent mode for LightWave 9 (or leave it unselected for LightWave 8.5).

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.

One of the most common errors people have with using normal maps in LightWave 8.5 is not having the NormalMapFlipX and NormalMapFlipZ preferences set.
LightWave 8.5 users will need to set the NormalMapFlipX and NormalMapFlipZ buttons in the ImportExport Preferences. LightWave 9 users should not set these options.).

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.

Note: If you see that the normal map is the current texture but you don’t see it applied to your object, you may still be viewing your object with the Bump Viewer Material. To see the normal map on your object, switch to another Material such as the Basic Material or the Fast Shader Material.
Note: Normal Maps generated with the Tangent option checked will appear predominantly blue while those without it checked (these are Object Space normal maps) will look like a mixture yellow, orange and blue.

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.

Note: If you’re using LightWave 9, you can store your normal map preferences and speed up the creation process by using the ADE/MD2 plug-in. For more information about using MD2, see #Creating displacement and normal maps with ADE/MD2.
Click the Create NormalMap button, open the Texture menu and press Flip V to flip the texture vertically. Then export the map in 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.

The object which you export should be the same as that which was used to generate your displacement and normal maps. For example, if you generated a displacement map using the subdivision level 1 object, you must also export the subdivision level 1 object. For more information on this, see Section 4.7.1 .

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.

Export the object and its embedded UV map for use in LightWave.

Save your ZBrush model

Before leaving ZBrush, it’s a good idea to save the current object in ZBrush’s native ZTL format.

Save the model as a ZBrush tool.

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.

Open your original LightWave object.

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.

Run ZWave and import the OBJ you saved from ZBrush. Leave all the settings at their default and hit OK.

Bam! The UV map is now a part of your original LightWave object. Sweet, huh?

The ZBrush UV is now applied to your original LightWave object.

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.

Open the ZBrushed OBJ. Copy it and paste it into your original LightWave object.

Place your original object in the foreground and your ZBrushed object in the background. Then, from the Map tab, choose Bkg to Morph.

Put your original object in the foreground and the ZBrushed object in the background. Then run Bkg to Morph.

Leave the Endomorph name as “BkgMorph” and press OK. The ZBrushed object is now a part of our original LightWave model.

Accept the default name and press OK.
Note: ZBrush doesn’t increase the number of points in an object at subdivision level 1. It only moves the existing points around. Since the subdivision level 1 model has the same number of points as our original object, we can use the Bkg to Morph tool in LightWave to transfer the shape of our ZBrushed model to our original object.

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.

Use the Apply Morph command to apply the BkgMorph to the base object.
Make sure that your object is in its base state before you run the Apply Morph command.

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.

Clear the BkgMorph and delete the ZBrushed objectfrom the layer you copied it to earlier.

Finally, switch back to the object with your original object. Press TAB to turn on subpatches and save your object with a new name.

Turn on subpatches and save the 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.

Load the object into Layout and add a basic 3-point light setup and set up the camera. Then save your scene.

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”.

Activate the Edit Nodes checkbox and set the Node Displacement Order to “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.

Load the default ZBrush Displacement node file (or use the one that came with this document).

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.

Load your displacement map into the Image node and assign it to your UV map.

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.

Connect the Scale node to the Displacement node.

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.

Adjust the Multiply Node’s B value from 0.1 to 0.25. Then close the Multiply Node and 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.

Note: The display SubPatch level will help us to see the effect of our displacement map without rendering. If you find that having your display at this level slows things down too much, feel free to lower it to a more acceptable level.
Set the object’s Subdivision Order to After Bones and increase the Display SubPatch Level 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.

Set the Render Subpatch Level to Per Object and set the level to 10.
Be careful when setting your Render SubPatch mode to Pixels Per Polygon. While technically this will achieve the highest level of quality, it is often overkill and will often result in unnecessarily long render times. The purpose of your displacement map is to alter the overall form of your object, not to reproduce every single detail. A good strategy is to use only as many polygons as are necessary to reproduce the major shape changes to your object. Then use a combination of Normal Maps and Bump Maps to reproduce the fine details.

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.

One of the most common problems that new users experience comes from using the wrong displacement plug-in. LightWave comes with a plug-in called “Normal Displacement.”While it has the same name as the Lynx version, the two are very different. Make sure you’re using the Lynx version when working with displacement maps from ZBrush. You can identify the Lynx Plug-in from the title “NormalDisplacement” (no space between Normal and Displacement) in the Add Displacement pop-up list. Also, once you’ve added it to the displacement tools list, the Lynx Plug-in will appear with the numbers “0.000mm” after the title. The LightWave Normal Displacement tool does not have these numbers.
Add the Normal Displacement plug-in. Make sure you’re using the Lynx Normal Displacement plug-in (left) and not LightWave’s default Normal Displacement tool (right).

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.

Set your displacement to 500mm and your Luminance Center to 50%.

Click on the Texture button to open the Texture Editor. This is where we’ll add our displacement map from ZBrush.

Open the Texture Editor and assign the displacement map to your UV.

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.

If you’re having trouble loading the 16-bit TIF file, make sure you’ve added the 16-bit TIF loader plug-in. Unfortunately, Macintosh versions of LightWave prior to 9.0 can not use 16-bit TIF files.

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.

Increase the subpatch level to increase the quality of your displacement and change the Subdivision Order to After Motion.
Note: If you’re using the standard LightWave renderer, you should increase the Render subpatch level. If you’re using a 3rdparty renderer such as FPrime, you’ll need to use the Display subpatch level.
If you’re using the Lynx plug-in for displacements in conjunction with bones, make sure the Normal Displacement plug-in is set to Evaluate “World Coordinates” and not Before Bones. Also, make sure your object’s Subdivision Order is set to After Motion and not Last.

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.

Do a quick test render

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 object’s surface, turn on smoothing and activate 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.

Open the Node Editor and add the 2D Textures/Normal Map node.

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.

Open the Normal Map node properties. Load your normal map and set the Mapping type to UV. Then choose the OBJ_UVTexturemap as your UV map.

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.

Connect the Normal Map node to the Surface using the Normal channel. Then close the Normal Map node and 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.

Note: Unfortunately TB’s NormalMap shader is not available for the Macintosh. Mac users will need the commercially available Microwave plug-in from Evasion 3D to get normal maps to work properly in LightWave 8.5 and earlier.

Open the surface editor. Click on the surface for your object and enable Smoothing. Then click on the Shaders tab.

Click on your object’s surface and turn on smoothing.

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.

Add the TB_NormalMap shader from the Shaders tab.

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.

Open the Texture Editor. Set your Projection to UV, choose the OBJ_UVTextureMap and then load in the Normal Map you saved from ZBrush.
In some cases, TB’s Normal Map shader will “forget” to activate the Image Map layer after you’ve closed the Texture Editor. If you experience problems with viewing your normal map using TB’s shader, be sure to open the Texture Editor and ensure that the UV image layer is checked or turned on.

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.

Side by side comparison of the object with just the displacement map and with the displacement + normal map.

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.

Using a Normal Map in the Node Editor of LightWave 9.0 will override the effect of any bump map applied to the Bump Texture Channel of the Surface Editor. In order to get your bump map to show up in LightWave 9.0, you must apply it in the Node Editor.

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.

Select your object’s surface and 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.

Add an Image node. Set its properties to use your UV and Bump Map. Increase 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.

Set your bump channel to use the UV and bump image map from ZBrush. Then set your Texture Amplitude to 10.

Now that your Bump Map has been added, let’s do a sample render. Press F9 to see your results.

Side by side render of displacement map + normal map and displacement, normal map + bump map.

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.

Change the backdrop color to 128, 128, 128.

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%.

Set your objects’ surface color to RGB 192, the diffuse to 90% and the Specular and Glossiness to 20%.

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.

Note: LightWave 9.0 users can optionally choose to use the Orthographic Camera type.

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.

Move your camera back on the Z axis and then zoom in to reduce perspective distortion.

Now would be a good time to do a test render. Press F9 and compare your rendered results to what you see in ZBrush.

Do a test render and compare the results to your work 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.

Increase the Ambient Intensity to 25% and lower the Global Light Intensity to 80%. Panels shown are from LightWave 9.0

Do another test render and compare your results to what you see in ZBrush.

Do a test render and compare the results to your work 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%.

Change the Specularity to 25% and the Glossiness to 45%.

Do another test render and compare your results again.

Do a final render and compare the results to your work in ZBrush.

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

The final object rendered with a key area light for soft shadows.

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.

Note: A quick way to create a UV map without overlapping geometry is to use Nitisara’s UV Netter plug-in. It’s a commercial plug-in that can make quick work of unwrapping complex objects.

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.

It ’s best to import an object that looks more like the subpatched object, even if it means using more polygons.

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.

Note: ZBrush has a plug-in called ZApp Link that allows you to combine the power of ZBrush with the power of an image editing application like Photoshop. While this makes advanced texturing much easier, it does not resolve the issue with AUV and GUV tiles being difficult to decipher and nearly impossible to use on their own.

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:

  1. 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.
  2. 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:

  1. Offset each successive UV map by 100% on the U axis.
  2. 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%.

Open your object with Multiple UVs. Place each part that has a UV in a separate layer.

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.

Click on the second layer. Run the Transform UV tool and offset the U by 100%.

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%.

Run the Transform UV tool on the next UV and increase the offset by 100%.

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.

Select all your layers and UVs to ensure that each resides in its own 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.

Apply each UV to a surface. Then copy all 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.

Export the model as an OBJ.

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.

Open the OBJ and check the OBJ_UVTextureMap to ensure that each UV is present.

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:

  1. 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.
  2. Open the Document menu and click on the Back button.
  3. 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:

  1. Switch back to your stored morph target. If you don’t, you’ll affect the modifications you’ve made to your mesh.
  2. Lower your object’s subdivision level back to one.
  3. Click the Import button from the Tool menu.
  4. 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.

Dock the ZPlugin menu and open the Multi Displacement 2 options.
Note: Make sure you are viewing the Multi Displacement 2 properties and not the standard Multi Displacement properties. The two are similar and can be easy to confuse.
The options here work in conjunction with those found in the Tool/Displacement menu. While some of the options are replicated here, Adaptive and SmoothUV are not. I tend to use both of these in my work. To make sure they’re used by MD2, they must be activated in the Tool/Displacement menu.

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.

Open the MD2 export options.

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.

  1. 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.
  2. 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).
  3. 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.
  4. Ch 1 Range should be set to Full Range. This will ensure that the map is generated with the full grayscale range.
  5. Ch 1 Res should be set to Full.
  6. 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.
  7. 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.
  8. Vertical Flip defaults to No. Since we always need to vertically flip our images, change this to Yes.
  9. Seamless defaults to No. Since we’re not setting up a tillable image, leave this at No.
Instead of setting all of these manually, you can use the quick code feature of the ADE, and set them by entering a single string. The Quick Code for these settings is DE-FBEK-EACADA-D16. You can copy this code to your clipboard and then click on the Paste button in the DE Options window to have it automatically set the options listed above.

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.
Save yourself some work :-). The Quick Code for normal maps used in LightWave 9 is DE-DCEK-FAIAJA-Normal8.

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.

Note: If you use MD2 to create your displacement maps, they will not be added to the Alpha menu.

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.

Note: The cavity map is typically created from your displacement map. If you created a lot of detail in your bump map, you may want use it instead. Simply use the MakeAlpha button in the Texture menu to convert your bump map to an alpha. Then follow the steps outlined below.
Note: If you use MD2 to create your displacement maps, they may not load back into ZBrush properly. To resolve this, simply load the TIFF file into Photoshop and resave it as a PSD file. It will retain its 16-bit format but will load into ZBrush without a problem.

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.

Change to the Basic Material and load your displacement map. Then click the Alpha/Crop and Fill button.
Cropping and Filling is not undoable. Make sure you save your work before clicking this button.

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.

Change the lighting so that it’s almost straight on.

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.

Adjust the Material settings to show only the lowest pixols.

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.

Turn on the Best settings in the Render menu.
Note: There’s no “right” setting for your cavity map and it will often come down to what works best for you. Sometimes an image with less grey showing works wonderfully. Sometimes having more shading can really help. I typically tweak with the settings until I have something that might work, create a texture map and apply it to my model in LightWave. I then do a test render and head back to ZBrush to make changes as needed.

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.

Continue adjusting the image. When you’re satisfied, use the Texture/GrabDoc button to capture the screen as a texture.

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.

Make the grabbed texture active. Clear the document. Draw your model onto the stage.

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.

Make any necessary adjustments using Projection Master.

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.

The final render without (left) and with (right) the cavity map.

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!

Personal tools
Editing ZBrushInfo