My name is Steve Warner. I'm the 3D Modeling Instructor at the Digital Animation and Visual Effects School and the author of three best-selling books on LightWave 3D. I began using ZBrush in 2003 with version 2.0 and went on to write the official ZPipeline Guide to LightWave for Pixologic.
Working with ZBrush 4 has been absolutely incredible. The tools and workflow enhancements in this new version have yielded one of the most powerful and easiest to use 3D applications on the market.
ZBrush is widely known for its outstanding organic modeling tools. But starting in ZBrush 3.0, a variety of hard-surface tools began appearing in the program. With the advent of ZBrush 4.0 (and features like Shadowbox and the new Clipping brushes), I wanted to see if ZBrush was truly up to the task of hard-surface modeling.
My primary 3D application is LightWave 3D. LightWave (and its spinoff Modo) have long been been recognized for their exceptional modeling tools. Hence, my expectations of what a program should offer for hard surface modeling work are quite high. The tools need to be fast, easy to use and produce great results. I'll be honest when I say I wasn't expecting much. But I was absolutely stunned by what I found. The hard surface tools in ZBrush 4 are astounding. They fit perfectly into the "sculpting" paradigm used throughout the program and make complex models a breeze to create.
Here is the result of roughly two weeks of work, done entirely in ZBrush 4:
Spetsnaz Tank Modeling Step-by-Step
Here is a rundown of the techniques used to build the Spetsnaz tank in ZBrush 4.0.
Rendering Engine Improvements
Until ZBrush 4.0, users who wanted to render their work in ZBrush needed to oversize the canvas and use the AAHalf feature to get the effects of antialiasing. But with ZBrush 4.0, users can now render their objects and animations without changing the canvas size using the new "Best Preview Render" (BPR).
This new BPR rendering engine is amazing. BPR produces outstanding sub-pixel antialiasing with raytraced shadows, ambient occlusion (AO), sub-surface scattering (SSS), and support for ZBrush's Fiber material. Best of all, BPR can save out separate images for pure color, shadow, AO, SSS, ZDepth and Masking. This makes it easier than ever to post-process your renders and create finished illustrations.
Here are several additional renders of the Spetsnaz tank using the new Best Preview Renderer with raytraced shadows and ambient occlusion.
Since I'd never done a hard surface object like this in ZBrush, I found myself developing new techniques to help create bevels, sharpen edges, fix alpha stretching and paint/sculpt on my flattened UVs. I created video tutorials for these (available in HD res), which you can view below.
Using Backtrack for Hard Surface Modeling
The Backtrack options (found in the Stroke menu when the Lazy Mouse feature is enabled) give you more control over your brush stroke. They can be incredibly useful when dealing with hard-surface models. In this video, I discuss how the Backtrack features work and how each setting can be used to help you achieve the results you want with your hard surface models.
Creating Hard Surface Bevels
Many hard-surface objects can be broken down into simple 2D shapes that have been extruded to give them 3D depth. Shadowbox makes it easy to create these shapes and give them 3D depth. But beveling the results (even with the Backtrack tools) can be a bit of work. In this video, I'll show you a quick technique for creating perfect "hard surface" bevels on your extruded objects.
Sharpening Soft Edges
As you work with the new Clipping brushes to create hard-surface shapes, you'll find that the geometry "bunches" up. One way to help redistribute the edges is to use the new Relax option in the Tool | Deformation menu. However relaxing your mesh tends to soften the edges. In this short video, I'll show you how to regain the sharp edges on your object.
Correcting Alpha Tile Stretching
In ZBrush 3.0, non-square alphas were squashed to fit within a perfectly square area. ZBrush 4.0 now has the ability to use non-square alphas, which opens the door for new brushs. (See my Rope and Chain brushes below). ZBrush 4.0 also has the ability to tile alphas. However when you tile an alpha, it will squash the results into a square area. In this video, I'll show you how to correct alpha stretching to maintan the proper aspect ratio.
UV Master Tricks
Most people know that UV Master can be used to create awesome UV maps in ZBrush. But did you know it can also be used to paint on your unwrapped geometry? Or that you can sculpt on the unwrapped geometry? In this two-part video, I show the principles you need to know to go beyond the basics with UV Master.
UV Master Tricks - Part 01
UV Master Tricks - Part 02
Using ZBrush MDDs in LightWave
ZBrush 4.0 uses native LightWave MDD (Motion Designer Data) files to "bake" its animations to the hard drive. Ironically, these MDD Files don't play well using the native MDD tools in LightWave. In this video, I'll show you how to work around this problem to get your MDD files working in LightWave.
One of the joys of working with the ZBrush 4 Beta was testing the new features as they were developed. One of my favorite new features (which will likely get lost in the shadow of the Clipping Brushes, Shadowbox and Spotlight) is the support for non-square alphas. The ability to use non-square alphas opens a whole new set of options for detailing your objects. To test these out, I created two new brushes: Rope and Chain.
You can download these two new brushes here:
Click to Download the Chain and Rope Brushes
(The chain and rope brushes can also be downloaded via the attachment at the bottom of this post.)
Once I finished modeling the tank, I set out to animate it. Animation in ZBrush is accomplished via deformation layers. They work like Morphs in LightWave or Blendshapes in Maya. You create layers in ZBrush which store the location of each point at its start and end locations. Then you create a linear interpolation between the two by keyframing the transition on the Timeline. (ZBrush can store more than just point deformation. It can also store polypaint information, camera position, etc.)
It's important to note that the transition in ZBrush is linear and this can cause some unexpected results. For example, wheels (and other circular objects) can not be told to simply rotate around a central pivot. This means that you have to do a bit of work to get certain types of animation to look right. But it does work.
The MDD Format
LightWave users take note! ZBrush now uses LightWave's Motion Designer Data (MDD) file format to save object animation on the hard drive. This makes the animation pipeline between ZBrush and LightWave wide open. Anything you can animate in LightWave can be recorded to an MDD and brought into ZBrush. Imagine being able to run Cloth Dynamics on your character, storing the results as an MDD, and then bringing that into ZBrush. Sculpting dynamic folds and wrinkles just got a lot easier!
Here's a quick test showing a Cloth Dyamic animation created in LightWave and then applied with an MDD in ZBrush:
There is an old trick to creating tank tread animation in LightWave using morphs. (Virtually anything you can do with morphs in LightWave, you can now do in ZBrush.) The trick basically involves moving each piece of the tread by one tread space. When animated, the tread will appear to move seamlessly. I did a quick proof of concept to see if this would work:
With a successful proof of concept, I moved on to creating the final animation. I began in ZBrush by consolodating my tread down to a single mesh. Your animation is recorded per Subtool, so it was important to make sure my tread was all on one Subtool. To do this, I used the Merge Visible option.
The resulting object consisted of roughly 60 pieces. (I didn't add tread to the top as it wasn't visible and would only bog down my model.) To ensure that I could quickly select each piece in the one Subtool, I went to the PolyGroup menu and chose the "AutoGroups" option. AutoGroups will assign a new group to each distinct (unweld) mesh in your Subtool.
Next, I duplicated the Subtool (so I could have a guide showing where my tread was and where it needed to go to). I used the Transparency option with Ghosting enabled to help see the second tread tool.
To set up an animation, you need to record the Subtool's deformation. To do this, I went to the Tool | Layers menu and created a new layer. This put the layer in Record mode - ready for deformation.
Next, I selected a single section of the tread by holding CTRL+Shift and clicking on it. This hid everything but the piece I wanted to work on. I then used the Transpose Move and Rotate tools to position the piece against the ghosted background object.
When I was finished, I showed the remaining tread pieces, selected the next one in line, and repeated the process.
When finished, I turned off the recording for the layer and dragged its slider. I could see the entire tread move forward by one tread piece. To get this to loop, I needed to record the animation to an MDD file.
I enabled the Timeline and positioned my camera. Then I clicked on the timeline to create an initial keyframe for the camera at Frame 0. I added another keyframe about half-way down the Timeline.
In order to animate in ZBrush, your camera needs at least two keyframes. The camera's keyframes determine the "recordable" portion of the timeline. And the length of the timeline itself can be adjusted (in seconds) in the Movie menu.
With the camera now set up, I went back to my tread deformation layer and clicked on it. The Timeline will only show the track for the current "element" (be it the camera or an object's layer). Clicking on the layer selected it as the active element. Next, I created a keyframe with the tread layer at 0% and another keyframe (where I set the camera's second keyframe) at 100%. Scrubbing the timeline, I could now see the animation.
I clicked the button in the Movie menu to store the MDD file and gave it a name. Then I CTRL+Shift+Clicked on area below the timeline to record the animation. This also stores the MDD file.
Once the MDD file was created, I disabled it in the Movie menu (so that it wouldn't be overwritten). I then went to the Layer menu and loaded the MDD file there.
To get the MDD file to show up, you need to place a keyframe for it on the Timeline. The location of the keyframe determines when the MDD file will start playing.
You can now control the MDD start time (via a keyframe on the timeline) and the MDD playback speed (in the Layer menu).
I repeated this process for the wheels and gears. The primary obstacle with these, however, was their circular nature. I couldn't just rotate the wheel. I had to rotate it in small increments by creating multiple Layers. And even then, I found that the deformation would cause "swelling" and "shrinking." So to offset this, I created "counterbalance" layers which compensated for the size change.
Another obstacle I encountered was the back gear. Since it "grabs" the tread and helps pull it along, it was crucial that it be timed properly with the tread animation. Unfortunately, however, the back gear is assymetrical. It could not be rotated 10 or 20 degrees and then looped. It would have to be rotated a full 360-degrees. And since wheel rotation is not easy with linear morphs, this became a major undertaking. I ended up animating the back gear separate from the rest of the tread and wheels. To get it to sync up to the tread, I used the MDD Playback Speed settings in the Layer menu.
I did several tests along the way before getting to the final. Here are two work-in-progress animations.
The first shows the finished tread animation.
The second shows the tank moving over a large terrain.
In order to get the tank (with its multiple subtools) to move along the ground, I simply animated the ground, leaving the tank in place, and then moved the camera to help hide the illusion.
Here is the final animation rendered with BPR and the metallic material I created.
It's been a privilege and honor to be a part of the beta team and to work alongside artists whom I have admired for years.
I want to thank Pixologic (and in particular Jaime, Paul and Ofer) for the tremendous opportunity they gave me, and for the chance to prove that ZBrush is no longer just a great organic modeling program. It is now one of the best hard surface modeling programs as well.