3ds Max Tutorial on Unwrap UVW
Before I begin this tutorial on the 3ds Max Unwrap UVW modifier I’d like to introduce myself and give you a little bit of background on my involvement with Autodesk products.
I live in Portsmouth, New Hampshire and make my living training people in the fundamentals of 3ds Max. Mostly I do professional level training with many of my sessions focused on architecture as that’s more or less my background, but because I focus on fundamentals I also work for mechanical and industrial designers, graphics artists, computer gamers, and others who want to get started on the right foot in their 3ds Max career. I have authored many books on 3ds Max, VIZ, and most recently Mental Ray.
But I didn’t begin my involvement with 3ds Max, but started with AutoCAD… version 1.4 (that’s right, one point four) on a NEC APC computer system with dual 8 inch floppy disks (a 5 meg hard drive was about $5000). It even took a while for me to save up for a mouse which ran about $250 at the time. The whole system cost $8000 and it weighed about the same as my current car.
Much of my architectural business was hand cut heavy post-and beam structures and as soon as AutoCAD was capable of creating 3D geometry I began “building” my timber frames on the computer to avoid ruining expensive timbers. Then along came Auto Shade and I was able to apply basic color and shading to the 3D surfaces to help my clients understand the complexities of the structure. That was all I needed… or so I thought, but you all know how that goes.
When the DOS version of 3D Studio first arrived around 1991 nobody knew how to use it and the demo I got didn’t convince me that I needed to be spending my hard-earned money on any more software. Then I got a half decent demo from someone who could actually get it to work a little. There was a recession during the early 1990s and I wasn’t particularly busy, so I finished up the timber framing jobs I had and within five weeks I had refocused my attention on learning visualization.
There was a good community on CompuServe (long before the Internet) for AutoCAD products and that was the only source of information available at the time for sharing ideas on how to make visualization into a viable profession. For many years I was the vice president of the Greater Boston AutoCAD User Group in that involvement led me to form a new group for 3D Studio in Boston which turned out to be very successful for a number of years. One thing led to another and Autodesk (John Forbes) asked if I would be interested in helping start the multimedia group within NAAUG , as AUGI was then called.
I managed that group for a few years before passing the torch to Emmanuel Garcia who has now passed it into the capable hands of Dario Passariello who, along with David Harrington, has asked me to write a tutorial for the new publication, but they never asked me to give you a little history lesson.
The Unwrap UVW modifier
A fair amount of your 3ds Max production time is probably spent playing with the UVW Map modifier, but many of you have probably given the Unwrap UVW modifier a cursory glance or avoided completely. After all, it’s a modifier that is used widely in the computer gaming industry so what use could it be to the architectural field? Well, it can be plenty useful when you get your mind around the fundamentals of how it works and how it can be applied in complex mapping situations.
The UVW mapping coordinates are stored in the vertices of your geometry and the Unwrap UVW modifier extracts this information and presents it in a form that allows you to modify the coordinates independent of the underlying geometry. This provides a high degree of flexibility in controlling how a pattern (material and map) relates to the geometry. It’s not something you would use to map breaks on a flat wall, although you could, but becomes important is the surfaces and patterns are more complex than what the UVW Map modifier can reasonably handle.
The example I’ll use for this tutorial is an overstuffed chair, a simple enough object but one with enough mapping challenges to provide a good basis for the fundamentals of the Unwrap UVW modifier. Again, it is very important that you understand the basic concepts and functionality of all tools in 3ds Max. I’m very often asked to do “advanced” training but almost invariably find that I must revert to training the fundamentals to solve the problems at hand. Most advanced techniques are simply combinations of fundamental processes put together in unique order so that the end result solves a complex problem.
You will learn about a term called “texel” in this tutorial. A texel is a texture element that is applied to surfaces in 3D space. It is the equivalent of a pixel, or picture element, which only exists in 2D space. The relationship is important so that the pixels of your maps are evenly distributed and undistorted across the entire surface they are applied to.
Let’s get on with it…
Unwrapping the chair
1. Open the 3ds Max 2010 file provided with this tutorial called Chair_unwrap.max and save it to your hard drive with a new incremental name. Half the chair was created with polygon modeling techniques and then the Symmetry modifier was applied to make a complete chair. It has a simple material containing one Gradient Ramp map in the Diffuse Color slot to create pastel stripes. Don’t worry about not seeing the map in the viewport, you won’t worry about that until later. Your task is to control the size and direction of the stripes on different parts of the chair. Figure 1.
Fig. 1: The overstuffed chair
2. Select the chair in any viewport and, in the Modify panel, Modifier List, choose the Unwrap UVW modifier. You will see green lines appear on the chair that represent the default seams that Unwrap UVW has chosen for the pattern. In the Modify panel, Parameters rollout, click the Edit button to open the edit UVW’s dialog. The rats nest of colored lines represents the vertices and edges of the UVW coordinates stored in the geometry. The green lines here represent the green lines in the viewport. Figure 2.
Fig. 2: Apply the Unwrap UV W modifier and open Edit UVW’s
3. In the Edit UVW’s dialog, click on the CheckerPattern (Checker) drop-down list and choose it again in the list. This causes the checker pattern to be displayed on the chair to represent texels. You can clearly see that the texels are applied unevenly, they are stretched and distorted, and they don’t match at the seams. Your texture map will be distorted in the same way. Figure 3. You must adjust the UVW coordinates so that the pattern is evenly sized over the entire surface and there is no distortion. The actual size of the checks is not important, however, as long as they are all roughly equal.
Fig. 3: Enable the CheckerPattern that represents texels on the surface
4. The next step is to establish some basic mapping projection to use as a starting point for fine tuning the texels on the surface. In the stack view, expand the Unwrap UVW modifier and highlight Face sub-object mode. In the Modify panel, Selection Parameters rollout, clear the Ignore Backfacing options so that you can select all faces regardless of which way the normals point. In the perspective viewport drag a selection window around the entire chair. The faces will turn red in the viewport and the UVW coordinates will turn red in the Edit UVW’s dialog to indicate they are selected. In the Map Parameters rollout, click the Planar button and you will see that the map is now projected down from the top and that projection is represented in the Edit UVW’s dialog. Choose the Box button which more closely fits the shape of the chair and you will see that the texels are now better distributed, but the seams are haphazardly placed. Figure 4.
Fig. 5: Flatten Mapping coordinates
Fig. 5: Flatten Mapping coordinates
5. In order to fine tune the placement of the seams you will “flatten” the UVW mapping coordinates. Make sure you still have all of the faces of the chair selected and, in the Edit UVW’s dialog, Mapping pull-down menu, choose Flatten Mapping. In the Flatten Mapping dialog, click the OK button to use the default setting of 45 degree Face Angle Threshold. This projects the UVW coordinates into elements that have been determined by the fact that faces meet at an angle greater than 45 degrees. The edges of these elements now become the new seams in the chair. However notice that there are many small elements that would be difficult to work with. Figure 5.
6. Make sure you have all of the faces of the chair selected and repeat the Flatten Mapping steps again, but this time use a Face Threshold Angle of 75. This flattens the map similarly but reduces the number of small elements that occur mostly around the corners of the cushion. Figure 6.
Fig. 6: Flatten Mapping at 75 degrees reduces small elements
7. The next step in the process is to reduce the number of seams to minimize the mismatch in patterns at the seams. In the perspective viewport, zoom into the front of the cushion in the chair and select a face on the front of the cushion. The corresponding UVW element will highlight in red in the Edit UVW’s dialog. You’ll see one of the green edges in the top center element turn blue. This indicates that the selected element shares a common scene edge. Figure 7. You will eliminate the scene and match the texels by “stitching” the elements together.
Fig. 7: Identify shared seams
8. Let’s select the whole element and move it into place near the top center element (it is the coordinates of the top of the cushion). At the bottom center of the Edit UVW’s dialog, check the Select Element checkbox, and then click on the green edge of the element that is highlighted red. This selects the entire element. Make sure the Move button is active in the Edit UVW’s dialog, and then move the selected element near the top center of the dialog. Figure 8. You might notice that as you move the element the texels change in the viewport to reflect the new position.
Fig. 8: Move selected element
9. In the Edit UVW’s dialog, zoom and pan in closely to the selected element in the top UV’s of the cushion, and then continue moving the selected element until it matches closely to the blue edge. You can see that the texels are much closer to matching in the perspective viewport, but are still not exact. Figure 9.
Fig. 9: Match edges closely so texels appear aligned
10. In the Edit UVW’s dialog, choose the Edge sub-object mode, and then clear the Select Elements checkbox. Highlight one of the shared edges at the end of the element that you just moved into place to highlighted red. The corresponding edge should turn blue. In the Selection Modes area, click the Loop button to select all of the edges along the bottom of the element. Figure 10.
Fig. 10: Select the Loop of edges at the bottom of the element
11. Now you will “stitch” the two edges together so that they become a single edge halfway between their current locations (average location). In the Edit UVW’s dialog, click the Stitch to Average button at the lower right of the dialog. The single edge now provides a perfect match for the texels and the seam disappears. Figure 11. You have now provide a continuous UVW texture mapping to ensure that your final bitmap were texture will be seamless.
Fig. 11: Stitching the edges removed the seam and provides continuous UV W coordinates.
12. Let’s view the striped pattern on the chair and learn about orienting texture maps by rotating the UVW elements. Open the Material Editor and navigate to the Diffuse Color Gradient Ramp map level. Turn on Show Standard Map in Viewport and enter 15 in the Coordinates rollout, U: Tiling numeric field. In the Edit UVW’s dialog, choose Map #0 (Gradient Ramp) to complete the viewing. Figure 12.
13. In the Edit UVW’s dialog, choose Face sub-object mode and check the Select Elements option, and then pick the element in the Edit UVW’s window to turn it red. Click the Rotate -90 button to rotate the element 90° counterclockwise and then click in the perspective viewport to update the map and you will see that the stripes now run horizontally. Figure 13.
Fig. 12: Increase the tiling and show map in viewport.
Fig. 13: Rotating the elements reorients the pattern.
14. You now know the fundamentals of how Unwrap UVW functions and you should be able to work on your own to continue adjusting the UVW coordinates for the chair. It takes practice to develop a sense of where seams would work best, but it’s important that you have your texels properly sized and matched at seams so that the pattern flows continuously or unmatched seams are in inconspicuous locations.
Unwrap UVW can be a bit intimidating when you first try to use it in 3ds Max, but I’ll encourage you to start with simple objects like this chair and practice getting a feel for texel layout and the control that Unwrap UVW has to offer beyond the basic UVW map modifier techniques.
Good luck and have fun!
Ted Boardman lives in Portsmouth, New Hampshire and has been using Autodesk products since AutoCAD version 1.4 in the mid-1980s. AutoCAD was used in the production hand-built post-and beam structures. As soon as 3D became available in AutoCAD Ted used visualization as a tool for helping clients understand complex situations. One thing led to another and in the early 1990s Ted switched his business to visualization using 3D Studio (the DOS predecessor to 3ds Max).
Ted’s business is an internationally known in 3ds Max trainer and he has authored 14 books on the subject, the most recent with Joep van der Steen “Rendering with Mental Ray & 3ds Max” from Focal Press. Ted is an award-winning 3ds Max trainer focusing on fundamental topics that provide users with a deeper understanding of a productive workflow in the visualization process.