ZBrush 2, by Pixologic
Posted: 6-Jul-2006

4 1/2 out of 5 Mice

Vendor: Pixologic Type: COMMERCIAL

Reviewer: Richard Solra Jenkins Class: PRODUCTIVITY

Overview
I have many trades, but the one I generally associate myself with is graphics programming. Even the best of graphics programmers, however, can often have troubles making something out of nothing. As computer processing power increases, so does the expectation of quality. A model that looked good in the PlayStation era may have had a few dozen polygons, but nowadays requires thousands at a minimum. In order to create these models, something that allows you to carve out significant features while just as easily adding the delicate final touches is needed. That is where a tool like ZBrush comes in. ZBrush can function as a modeler, a sculptor, a texture mapper, a renderer, a 3D canvas, or all (or any) of the above. Much of ZBrush's appeal to the professional community comes from its features relating to 3D modeling. However, there are many artists, such as Meats Meier, a professional illustrator at the Gnome Workshop and author of the Intro to ZBrush 2 demo movie, who are attracted to ZBrush for its painting features. This review will primarily focus on the 3D modeling size of ZBrush.

Setup
Once you purchase ZBrush, you get a password to download the application itself. Opening the program for the first time generates a temporary serial number file, which you send to Pixologic. One business day later, you receive a permanent license file by email, which you put into the same folder as ZBrush. At this point, you're up and running.

Features

  • Intuitive, streamlined interface
  • Highly realistic materials
  • "ZSpheres" - for easy modeling and later animation
  • Multi-resolution editing
  • Displacement and normal maps
  • Visibility controls
  • Symmetry
  • Customizable alpha brushes
  • Texturing
  • Scriptable using ZScripts


Cost

$489


System requirements

  • Mac OS X, any version
  • 200MHz G3 or faster
  • 256MB RAM (512MB recommended)
  • 1024x768 monitor at Millions of Colors


In Use
Starting up ZBrush gives you a new, blank canvas. Unlike the canvas in most other graphics software, which is only 2D, this canvas is actually 2.5D, through "pixols," which are essentially pixels with depth. Rather than being fully oriented in a 3D world, these "pixols" are part of a 2D canvas that simulates 3D depth. The other thing you'll notice is that the primary menus are not available in the Mac OS X menu bar, but are imbedded in a custom menu bar at the top of the ZBrush canvas window.


ZBrush 2 Interface


You can apply "tools" to the canvas, some of which are 2.5D (such as the brush) and some of which are 3D (such as a sphere). In the case of a 3D tool, you can enter "Edit" mode immediately after placing it on the canvas. This allows you to edit the 3D object before it permanently becomes part of the 2.5D canvas.

There are four operations you can perform on a tool. The first, and most important, is Draw. Draw has several sub-options: Zadd (and Zsub) and RGB (and the special "M" channel, as well as MRGB). While Zadd and Zsub cannot be used at the same time, either can be on at the same time as RGB/M/MRGB.

If Zadd or Zsub mode is enabled, you can spray (or un-spray) "depth" onto the tool with the mouse. There are also several sub-modes of Zadd/Zsub that allow you to do other things to the tool, such as smoothing out a crease, etc.. If RGB or M or MRGB mode is enabled, you can spray color onto the model as well.

In addition to Draw, there are Scale, Move, and Rotate. Scale allows you to grab a small section of the tool and inflate (or deflate) it. In Move mode, you grab a section and morph it in one direction, like pulling on putty.


Modeling
Generally, when creating a 3D model using ZBrush, you start by describing the model in terms of interconnected spheres, or ZSpheres. ZSpheres are very powerful, allowing you to quickly and easily outline an organic shape with surprising detail, especially in combination with the symmetry options.

You start by dropping a single ZSphere in the canvas and entering Edit mode. Then you attach other ZSpheres to it, which are automatically interconnected with it. Then you can move those other ZSpheres around, change their size, rotate them, etc., and even create other ZSpheres attached to those ZSpheres. You continue this process until you have something that approximates what you want your final model to look like. ZBrush makes this process easier by way of some pretty snazzy symmetry options, the simplest of which are the simple mirrors. For example, if you mirror on X, any changes you make to one side of the model get made to the other side, automatically keeping it symmetrical.


A raptor built up out of ZSpheres

Once you have a fair amount of detail with the ZSpheres, you can "skin" the model, which creates an actual mesh based on the spheres (a mesh is a specific kind of model, one made up of triangles and polygons). You can then manipulate this model as though you were sculpting clay.


The raptor, after skinning and sculpting the model


Now you have a model with all the coarse detail you need... but what of the fine details? The texture? For the former, you can subdivide the model, and then add finer details as you did above. After you subdivide the model, the old, lower-detailed model is still around, and you can switch back and forth between it and the higher-detail model at will. Any edit you perform at one level of detail is also performed on the other levels of detail; you can go to the lowest detail level to sculpt gross changes, and switch back to a higher level to add more fine detail. You can subdivide the model as many times as you like, limited only by the speed of your computer and your memory. Technically, the actual maximum number of polygons that ZBrush allows is 10 million, a program-imposed limit. However, as your model gets up there in polygons, it's memory usage becomes taxed and rendering speed slows down. Pixologic indicates that the upcoming ZBrush 2.5 is going to raise the bar in this area.

As for the texture, you first need to UV map the model, which decides which parts of the two-dimensional texture go onto which parts of the three-dimensional model. If your model is a very simple one, "spherical" or "cylindrical" mapping, which simply shrink-wraps a sphere or cylinder around the model, may suffice. However, in the case of just about any really complicated model, you will have to use "GUVTiles" or "AUVTiles", which assign equal texture space to all the areas of the model. GUVTiles and AUVTiles are both precision mapping methods, and are distortion-free.

I found that GUVTiles makes a good map for production use. Using the normal texture painting tools with an ordinary texture initially result in a texture mapping full of seams, but ZBrush includes a tool to automatically fix these seams (Tool>Texture>Fix Seams). The Fix Seams tool overpaints the edges of the texture so as to avoid seam problems when rendering in other applications. My results using AUVTiles were not as good as with using GUVTiles. AUVTiles resulted with a lot more seam problems. After contacting Pixologic, I learned the differences between the two mapping methods, and the reason for the seams.

The way AUVTiles works is that it unwraps every polygon separately to the texture. It includes a setting that lets you determine the relative ratio of texture space, based
on the polygon size. At the default ratio of 1, every polygon gets the same amount of texture space regardless of how large it is relative to the model as a whole. Higher values tell ZBrush to map the largest polygon from the model so that it takes up a larger percentage of the texture. The drawback with AUVTiles is that displacement and bump maps tend to show seams when any ratio other than 1 is used. GUVTiles was created to improve the situation. This mapping method unwraps the model into
the largest sections possible that still provides a distortion-free map. It uses smaller polygon groupings only when necessary to avoid distortion. It also uses a uniform scale across the entire model to avoid some of the problems experienced with AUVTiles.

GUVTiles and AUVTiles are not intended for real-time applications such as games, because at low settings or at a distance, texture from one part of the model will "bleed" into texture from completely unrelated portions of the model. Games usually use MIP-mapping for distant models as well as texture antialiasing. These factors can both cause edges of the UV's to bleed in. Game texturing requires extreme efficiency with the texture space, so game mappings have as little non-UV'd space as possible so as to cram as much texture onto the map as can be achieved. GUVTiles and AUVTiles focuses more on avoiding distortion than using every available pixel of texture space.

According to Pixologic, the best results with both map types are achieved by first assigning a blank texture to the model that is the size you plan to export from ZBrush, then use AUVTiles or GUVTiles to calculate the mapping for that texture size. Fix Seams should then be used before exporting the texture. This overpainting feature also makes the map less sensitive to MIP-mapping or texture antialiasing. Multi Displacement 2 (part of Displacement Exporter) has a similar overpainting feature built into it for use with displacement maps.



The raptor mapped with GUVTiles, textured with a checkerboard pattern

The figure above is intended to show how easy it was to apply UV maps. The figure also illustrates another element of texturing. Although I started with a checkerboard pattern, the checkerboard pattern appears to be lost in the mapping of the model. The distortion is not a flaw of GUVtiles, but a side effect of the way the texture map was applied. GUVTiles it not intended to be used when you want to apply any old texture, such as a checkerboard, to the model. It's used when you want to paint a high quality custom texture onto a distortion-free map. In short, a texture that looks perfect when unwrapped will be a hodge podge when wrapped onto the model (such as in the figure above). A texture that looks perfect on the model will be mixed up when viewed flat. An example of a custom texture is shown in the figure below.


Custom Texture Map

You may not recognize it at first glance, but the above texture map, when applied to a specific Sea Turtle model, provides perfect texturing.

If you're making a model for a non-realtime application, such as cinematic renderings, GUVTiles or AUVTiles will work just fine. For realtime applications such as a 3D game engine, you might want to use another program to do the UV mapping (such as UVMapper) to avoid bleeding. ZBrush will use whatever UV mapping has been assigned to the model, including multiple UV spaces. You can even change the mapping at any point prior to beginning texturing without sacrificing any sculpted detail. For example, you can subdivide a model several times and sculpt high resolution details, then import the UV's before you begin texturing or creating displacement/normal maps.


Once you have a UV map for the model, you can create a texture. This texture can be just about any width or height from tiny 32 x 32 up to gigantic 4096 x 4096. Once you have a texture, you can start painting the model. You can enter "RGB" mode, and your edits spray on color. You can also use "Zadd" and "Zsub" modes for spraying depth, applying dents and bumps, respectively. Zadd/Zsub mode and RGB mode can be turned on and off independently, and with them both on, your edits result with both color and depth changes.

While these standard edit modes provide some decent effects, to achieve truly impressive results, you'll want to use the "Projection Master". The Project Master allows you to select 3D objects and edit them in 2.5D without losing the third dimension. It "drops" the model to the 2.5D canvas so that you can edit it with the 2.5D tools. After the edits are complete, ZBrush "picks" it back up as a 3D object.


The raptor, after some work with Projection Master


Plug-ins
Although I did not use any plug-ins for this review, is it worth noting that there are a number of very powerful free plug-ins available for ZBrush. You can find detailed information and download links from
Pixologic's plug-in page. All but one of the plug-ins are available for both Mac and PC. Unfortunately for Mac users, one of the three "Big" plug-ins, ZMapper, is currently PC only. The other two prominent plug-ins are ZAppLink and Displacement Exporter.

ZAppLink lets you send your canvas to and from any PSD-capable image editor. This can be used when painting on a ZBrush document, or when working with a
model that has been dropped using Projection Master. With this plug-in, you can use any of Photoshop's filters, text generators, etc., to paint on the canvas. When done, you send the canvas back to ZBrush and pick the model up again with Projection Master.

Displacement Exporter, referenced earlier in the review, makes it really easy to export displacement maps that are a good fit for any rendering engine. It can export standard 16-bit maps, 32-bit floating point maps, dual single-direction maps if the engine doesn't support bi-directional displacements, and can even export ZBrush's unique 8-dot-8 format. This last one was designed for engines that don't support 16-bit or 32-bit maps, and exports two complementary 8-bit maps instead.

Some other plug-ins include Liquid, ZKetchpad, Marker Master, ZQuick Mask, and many others.

Importing/Exporting
The website advertises that ZBrush is capable of import/export to/from many formats. When exporting a "snapshot" of the 2.5D canvas, you can export to TIFF, BMP, PICT, or Photoshop. You lose all depth information in the process, however. When exporting models, you can only export to one format... OBJ. Fortunately, OBJ is a very widely supported and understood format.

One of my favorite aspects about ZBrush is that, unlike other modeling programs that I've seen, artistic talent directly applies. Instead of requiring a quirky mathematical genius to work wonders, ZBrush empowers your raw artistic abilities, providing endless opportunities and unique results. ZBrush does this by providing a powerful mesh editing interface
and other awesome tools such as ZSpheres, the texture editor, and the advanced brushes.

Online Help
In case you ever get lost, ZBrush comes with a mostly complete online manual, accessible with the "Help" button in the top-right of the screen. In addition, holding the control key while hovering the mouse over any interface element gives a verbose description of what that interface element does. I found that often I had questions about the interface that the built-in documentation failed to answer. Still, however, the documentation is quite extensive, and helped a lot during this review.

There are a number of tutorials available on
Pixologic's website as well as ZBrush Central, for everything from basic usage to advanced modeling techniques. These tutorials proved extremely useful for getting up to speed on using ZBrush. Pixologic also added a ZBrush Wiki to help answer questions that aren't covered by the other documentation.

Summary
ZBrush 2 is an unconventional combination of 2D and 3D graphics, and incredibly useful as a modeling tool. You can create a model using the simple building blocks that are ZSpheres, then create a "skin" around the model, and sculpt it like clay. You can paint texture on top of this model, and you can export the finished model as an OBJ. The software also comes with extensive online help, although in places it could be a bit more extensive. ZBrush is very powerful. It allows you to switch between sculpting general shapes and forms and painting finer details without skipping a beat. Some stunning examples of artwork made with ZBrush are in the
ZBrush Central gallery on the web, which is how I first encountered it. To take full advantage of the software requires more than a little artistic talent, as there are a lot of features and a decent learning curve; albeit, it's refreshingly even for software of this caliber. This is a must-have tool for any serious 3D graphics artists.

Pros

  • Can rapidly and easily create a mesh with ZSpheres and the various Skinning methods
  • Powerful and intuitive mesh editing interface
  • Extensive built-in help
  • Creative tool for enhancing artistic abilities

Cons

  • Built-in UV mapping is not desireable for 3D games
  • When exporting models, you can only export to one format


Overall Rating:

4 1/2 out of 5 Mice