Chapter OnePixels, Pixols, Polygons, and the Basics of Creating Digital Art
Any experienced artist knows that the composition of the tools they use-the chemistry of the paint, the ingredients of the clay-affects the quality of a finished work of art. When you are learning to become an artist, you spend a great deal of time studying how the tools behave. It is the same with digital art. This chapter reviews the fundamentals of digital art. Just as an oil painter learns how the mixture of pigments and oils works with the canvas, a digital artist needs to learn how color depth, channels, file formats, and other elements factor into the quality of a digital masterpiece.
This chapter includes the following topics:
An introduction to ZBrush Understanding digital images
Understanding 3D space
Being a digital artist
An Introduction to ZBrush
Imagine walking into a fully stocked artist's studio. Inside you find cabinets and drawers full of paints and brushes, a large canvas, a closet full of every type of sculpting medium imaginable, a lighting rig, a camera, a projector, a kiln, armatures for maquettes, and a seemingly infinite array of carving and cutting tools. On top of this, everything has been neatly arranged for optimal use while working. This is ZBrush, a self-contained studio where you can digitally create paintings and sculptures-and even combinations of the two. Furthermore, you are not limited to what you find in ZBrush. Digital 3D models and 2D textures can easily be imported from other applications and used as tools within ZBrush. ZBrush can function as a self-contained digital art workspace and it can be integrated into a production pipeline for the purpose of creating and editing digital models for animation.
The most common use of ZBrush is for creating and editing digital models that are then animated and rendered in other 3D packages, such as Autodesk's Maya and 3ds Max, and Softimage XSI. Artists choose to create and edit models in ZBrush to use in another package because the unique technology behind ZBrush allows them to work with very dense models (literally millions of polygons) to create a stunningly rich level of detail on organic surfaces in a way that traditional 3D packages just can't. Fine wrinkles, fleshy folds, pores, bumps, scales, scars, and scratches can be easily sculpted into the model and then exported either as part of the geometry or as bump and displacement textures that can enhance the geometry of a model when the model is rendered in another package. The result is often an amazing level of detail and realism built into a virtual object (see Figure 1.1). Color texture maps can also be painted directly on the model in ZBrush in an intuitive fashion and then exported for use in shaders applied to the same model in other 3D packages. Production pipelines at studios such as ILM, Weta, and Sony Imageworks have used ZBrush in this way to create many of the characters, monsters, and set pieces seen in such films as The Lord of the Rings, Pirates of the Caribbean, and Sky Captain and the World of Tomorrow.
ZBrush is also the software of choice for creating digital maquettes. Before the advent of ZBrush, a maquette was often created by hand-sculpting clay, Plasticine, latex foam, and other real-world materials. A studio would hire sculptors to build the maquettes based on concept drawings provided by the art department (see Figure 1.2). This allowed the director to see the concept for the creature or character in actual 3D space. The maquettes could be scanned using laser devices and then brought into a 3D animation package such as Maya. After some of the data is cleaned up, the model could be rigged and then animated. Because ZBrush's intuitive artistic interface allows for the creation of models that are every bit as detailed as clay models, it has recently started to eliminate the need for an actual clay maquette. The artists can now start their work directly in the computer, and the director can make changes in the model's design as it is developed. With the introduction of 3D printers and rapid prototyping technology, an actual physical model can now be fabricated from the ZBrush digital sculpt. ZBrush sculptors are now finding their way into the production pipeline for toy and collectable figure markets.
ZBrush can also be used as an illustration tool: the program has digital sculpting and painting tools as well as its own unique rendering technology. With ZBrush, artists can create custom materials, which can be procedurally designed or captured from digital images. These materials can be applied to an artistic composition and, when rendered, react to virtual lights and shadows. Many artists have taken advantage of the flexible workspace and powerful tools to create amazing compositions entirely within ZBrush. In addition, ZBrush works very well with other 2D paint programs such as Photoshop and Painter. Digital 3D models and 2D images can be exported and imported freely between these programs, so there is no limit to what can be achieved when ZBrush is incorporated into the digital artist's toolbox.
Understanding Digital Images
Now let's take a brief look at how computers actually create images that are displayed on the screen, on a printed page, or in an animated movie. There are actually several ways a computer can create digital imagery. The two most common technologies use pixels and vectors.
Anatomy of a Pixel
A pixel is a colored square that appears on the screen at a specified position-pretty simple, at least to begin with. A raster graphic refers to an image made up of thousands of pixels. A pixel is imbued with a certain amount of color and position information that is stored in memory. If you load a rasterized graphic into a digital viewing program and then scale the image up (or zoom in), you can actually see how the image is composed of these pixels (see Figure 1.3).
A digital image file stores the positional information of these pixels in terms of x- and y-coordinates. The y-coordinate is the vertical position and the x-coordinate is the horizontal position. It may seem obvious, but it's important to note that when you zoom in or scroll around on a digital image in the software, the position and size of each pixel changes relative to the screen. However, the software still needs to remember the position and size of each pixel relative to the digital image that is being viewed. You should be aware of this fact, but don't spend too much time thinking about it now; that's your computer's job.
The amount of random access memory (RAM) your computer hardware has will affect how much information it can keep track of at one time and thus the performance of the software as you move all this information around on the screen.
Taking the Edge off with Anti-Aliasing
Aliasing refers to the situation in which a curving line or shape displayed on a computer screen appears jagged. This is because the image is composed of tiny squares. In order to correct this problem, graphic software employs anti-aliasing, which smoothes the edges of curving shapes by blending pixels along the edge with other pixels of similar hue but varying degrees of lightness or opacity. This fools the eye into perceiving the edge as being smooth.
In Figure 1.4, the edge of the letters in the word jagged appear jagged because the square pixels are visible along the curving edges of the letters; this image is aliased. The edges of the letters in the word smooth appear smooth because of the blending technique that mixes pixels of varying lightness along the curving edge of the letter. The image is anti-aliased.
Channels and Color Depth
Along with positional data, the pixel stores information about how to display colors. A computer screen creates color by mixing red, green, and blue light. If a pixel is 100 percent red mixed with 0 percent blue and 0 percent green, it looks red. If a pixel is composed of 50 percent red with 50 percent blue and 0 percent green values, the pixel will look purple. When all three values are 0 percent, the pixel is black, and when all three are 100 percent, the pixel is white.
Color depth refers to how much color information is stored for each pixel in the image. A grayscale image discards all color information except for black, white, and the range of gray in between; this usually comes out to 256 shades of gray. The result is a black-and-white image, like the images in this chapter. Since color information is limited to the 256 shades of gray, the file has less information that needs to be stored.
If you have studied painting you may have learned that the primary colors are red, yellow, and blue. The secondary color green, for example, is created when blue is mixed with yellow. This is true for paint but not so for colors created by a lighted computer screen. As far as computers are concerned, red, green, and blue are the primary colors. Red and green mixed together produce the secondary color yellow.
An RGB image stores red, green, and blue information. The information is divided into three channels (red, green, and blue) and each channel stores the values (or percentage) of red, green, and blue for each pixel. To see a demonstration of how this works, follow these instructions to open up the system palette on your computer.
1. Start up ZBrush; on the opening screen, choose Other (see Figure 1.5).
2. Click Color on the menu bar to open up the Color menu/palette.
3. Click the button labeled SysPalette to open the System palette (see Figure 1.6).
4. In the System palette, move the picker around in the color area and observe the values in the Red, Green, and Blue fields. These values change depending on the mixture required to create the selected color. Notice that the highest value possible for each channel is 255 and the lowest is 0 (see Figure 1.7).
5. Type in values in the Red, Green, and Blue fields. Set Red to 255, Green to 0, and Blue to 255. The resulting color is a bright fuchsia.
An image in an RGBA format has an additional, fourth channel known as the alpha channel. The alpha channel stores information on the opacity of individual pixels. This allows for an image to have regions of transparency. The left side of Figure 1.8 shows a basic scene rendered in a 3D program; the floating spheres are transparent. The right side of Figure 1.8 shows the alpha channel. White areas are 100 percent opaque and black areas are 100 percent transparent. The gray areas show the amount of transparency.
ZBrush can use an alpha channel as a filter, which it applies to a sculpting brush as a modifier or to the canvas as a stencil. In general practice, the term "alpha" refers to an additional channel of information that is stored in an image file.
Color depth refers to how much information is used for each of these color channels. Computers use bits to store information. A bit is a series of 1s and 0s (known as binary because there are only two options, 1 and 0). A 24-bit RGB image uses 8 bits of information for each channel (3 ? 8 = 24). Each 8-bit channel stores a range of 256 shades of color, allowing for an image to have a total of 16 million colors. A 32-bit RGBA image uses an additional 8 bits for the alpha channel.
The more bits you have, the more information you can store, and with more bits, the image can be displayed using a wider range of color. More memory is required to store and work with higher-bit images. An image that uses 16 bits per channel (48 bits total for an RGB image, 64 bits for RGBA) can be confusingly referred to as a 16-bit image (as in a 16-bit TIFF or 16-bit SGI).
Beware; this is not the same as a 16-bit or high color image that uses about 5 bits for each channel. Welcome to the confusing world of computer terminology. You will get used to these kinds of naming conflicts with some experience. Although computers are strictly logical, the humans that create and use them are not always so! If you are working as an artist in television or film production, you will be using 16-bit (per channel) images much more often than 16-bit (5 bits per channel) high color images.
A digital image can be stored in a number of ways, known as formats. A format is simply the arrangement of information in a file. Typical image formats include Tagged Image File Format (TIFF), Joint Photographic Experts Group (JPEG), and Graphics Interchange Format (GIF).
Many programs have their own native document format. Photoshop can read many file formats but also has its own Photoshop Document (PSD) format. Likewise, Corel's Painter stores special information in a format called Resource Interchange File Format (RIFF). ZBrush has its own ZBR document format.
An image format can be compressed to conserve storage space. Some image formats have compression built in (such as JPEG and GIF), and some can exist with or without compression (such as SGI, or Silicon Graphics Image). Compression usually affects the quality of the image. If you look closely at a JPEG image from a typical website using a browser, you may notice that it is blurry or grainy or that the colors are not quite right. Image quality has been sacrificed to allow faster download when viewing images over the Internet.
When the quality of an image is diminished by the compression, it is said to be a lossy compression format. There are also lossless compressions that can reduce the size of an image without significantly affecting quality. These formats, such as Portable Network Graphics (PNG), result in file sizes that are larger than those for which lossy compression is used. Compression applied to sequences of images is also used for video.
In Figure 1.9, the image on the left is uncompressed and the image on the right is compressed. Look closely and you can see the distortion, known as artifacts, in the image on the right. This distortion is especially apparent in the squirrel's fur and on the edges of the fence posts.
Understanding file formats and compression will become important as you work with computer graphics, not only with respect to images you create and share in ZBrush, but also with textures and alphas created in ZBrush and used on 3D models in other programs. Some 3D applications and rendering engines will prefer some formats more than others. This will be covered in more depth later in this book.
As stated earlier, computers can also use vectors to create digital images. A vector graphic is created from formulas and mathematical calculations performed by the computer and its software. The results of these calculations are smooth lines and shapes that are often filled with colors. Vector graphics are continually drawn and updated when the image is scaled, moved, or rotated, so the graphic is always of the same quality no matter what its size and position.
Adobe Illustrator and Adobe Flash are popular vector graphic programs. Vectors are used in a modeling interface to represent 3D objects in 3D packages such as Maya and 3d Studio Max, and these packages have special rendering engines that can create vector graphics as final output as well. Vector graphics are not used very much in ZBrush, so I'll end the discussion of vectors for now.
It is hard to overstate the importance of understanding resolution when working with ZBrush. Unfortunately, computer resolution is kind of a tricky concept. There's a lot of confusing terminology as well as different ways to measure and calculate resolution and different types of resolution. This is a topic that I will revisit often throughout this book, so don't panic if you haven't mastered complete understanding of resolution by the end of this section.