Texture Maps

Creating planar textures for 3D Models

andrea_seamless_400x460.jpgandrea_texporter_body.jpg
The wireframe image was generated from Max 2.5 using Peter Watje's texporter plugin. First I took a 2500 poly model and assigned Planar Mapping Coordinates, fitting them to my model. The plugin then provided an image of the texture coordinates at the desired resolution. If I had assigned Cylindrical or Spherical Mapping Coordinates, the bitmap would look radically different. Because of our rather unweildy production pipeline, currently we are using a planar mapping coordinates applied to the entire figure.

For Max 3.0 texporter is called the UVW Unwrap Utility, appearing under the Utility (hammer) tab. This image can be used as an Overlay layer in Photoshop, allowing you to work on your texture while staying within the lines.

camoflam.jpg camoflamK.jpg
Here are the texture maps for Andrea, front and back. The edges are noticeably blurred so as to minimize the amount of stretching that inevitably occurs when one uses Planar Mapping Coordinates while adding to the illusion of translucency.

Creating Source Maps in 3DStudio Max

These textures were created by using various plugins in 3DStudio Max. I created a Multi/sub-object Material with about 12 different slots. Each sub object Material had a different interesting effect assigned to it, including gold skin, blue metal, flames, and camoflag of various colors. I applied each of these textures to the high res version of my model built in Surface Tools. The model was lit using classic 3 point lighting to accentuate the 3 dimensionality of the figure. This includes a strong key light - front left; a softer fill light - front right, and a softer back light - behind the shoulders.

Although the mesh that will be used in our app is only 1200 polygons, the 4800 polygon model, rendered out with various applied textures, will provide the source art for our final texture maps. This way we can take advantage of the greater detail without incurring a performance hit.

Then in 3DStudio Max, in the front Viewport, I did a Zoom to Fit, rendering out the high res character, one Material at a time, front and Back views. To swap out Materials, I would select all of the faces and then change the Material ID in the Mesh Editor.

It is important that each image be rendered with precisely the same dimensions, since these renderings will provide the source images that will get composited in Photoshop. In order not to alter the Viewport, I animated my character to rotate 180 degrees about the central Y axis. This way I can get front and back renderings of my character that will register perfectly in Photoshop.

At this point, I also used Texporter to generate a visual image of my mapping coordinates. Texporter references the mapping coordinates applied to the character to generate a visual representation of the texture vertices. It outputs what looks like a wire mesh. This can be used as an underlying template in Photoshop, useful for registering all of your images. From the texporter plugin, I will output an image that is 512x512 or 640x480.

Each image was rendered out as a 640 by 480 .bmp file, and then cut down to 512x512 in Paint Shop Pro, a nice lightweigth paint program. PSP allows you to save a Selection Marquis, so once you have cropped the 1st image, you can crop the rest with the same Marquis.

PhotoShop Manipulation
From here the images are loaded into Photoshop as successive Layers. Usually I just load in the Front Textures first, experimenting with various effects. If I find an effect I like, then I will try to recreate it for the Back Texture, and then save the pair out as a final texture map, to be applied to my lower 1200 poly character.

The textures used on Andrea include the following, starting with Layer 1:
1. Beige underlying texture - the nude form, Normal 50%.
2. Flames, using a Max combustion plugin - Normal 80%.
3. Camoflage, using a Max plugin - Saturation 50%.
4. Beige - Multiply 80%.
5. Texporter Texture Vertices - Exclusion, Screen, or Lighten 60%.


Stasia McGehee
October 8th, 1999