For this tutorial we’ll be UV mapping and then texturing a large vessel.
In this case the Ralani.
(BTW to achive this effect in Max, click on Render Scene Dialog, make sure your using the default renderer and not Metal Ray. Click on Advanced Lighting and select Light Tracer. In your model place a Skylight anywhere’s and render.)
As you can see I modeled only half of the ship. I used Symmetry modifier to do the other half for me.
You don’t need to use the Symmetry modifier for just vertically centered items. If you have a wing that you want identical top and bottom, Symmetry will also work too. Even if you don’t want the top and bottom to have the same texture, simply use the Symmetry and you can select them separately or collapse the stack and then select them separately.
If you also look at the model the large wing-like extensions on the sides and bottom are identical. There’s a trick to do thing in one easy swoop, References. Now References and Instances are similar but have different ways of working. When you create an instance any modification you make to one will automatically go to the other objects, even if they’re the parent object. (i.e. child<->parent doesn’t care). With a Reference you get a child object. You can still use the child object to modify the parent, but the main benefit is you can then add modifiers to the child only and won’t affect the parent. With instances, any modifiers you add to the child also get added to the instance. Basically instances are just mirrors of the original while references are child, parent relationship. One word of warning, if you collapse the parent’s stack, all connections to the children will be lost both for references and instances.
As you can see in this picture I have a blue wing area. This will be my parent reference item.
Now why did I go about this way? Well both the vertical and horizontal wings use symmetry, however they use it in different ways. If you tried it with using one of them as a parent you’ll get this:
Course, you can add the edit mesh modifier and delete the unnecessary parts, but that’s a little extra work. When we’re done and ready to export the model, this base piece can get deleted. When you delete a parent object with child references, the children become independent.
First I’m going to tackle the wings. I went into the material editor (“m”), selected an unused slot (if none are not in use, just delete an existing one) and in Blinn Basic Parameters clicked the button beside Diffuse. Material/Map browser will appear, I want to use checkers for this one, so I selected Checker and clicked ok. Now a checkered area with tiling of 1 is hard to see any differences so I set both U and V tiling to 10. This makes it easier to see warps and distortions on the map.
I want to see just the parent wing area, so I clicked on the wing and right clicked “Hide Unselected” this hide everything else out of my view for the moment. I then applied the checker texture to the blue wing area. (If nothing changes, click on the “Show Map In Viewport” to make it visible. Alternatively you can go to Views->Activate All Maps)
As you can see it’s quite a mess. At this time I also noticed the bottom of the wing isn’t as well detailed as the top. Yup, symmetry came to the rescue, Symmetry modifier with Z axis made the bottom look like the top.
Back to work on the UVing. First thing I noticed is there’s several bits of the frame that are rather flat. I selected the mesh modifier “Mesh Select” and start selecting the polygons. Using select polygon can help speed up the process quite a bit.
As you can see I selected just the main, frame polygons. I clicked the Unwrap UV, hit Edit and in the Edit UVWs I choose to Map->Flatten Mapping. Default values are ok.
If you get the checker board also appearing in the window clicking on “Show Map” (it appears as a 3d box on the Edit UVWs’s toolbar. This will hide it, the only time you really want to see the background is when you actually have a background image you need to see (I’ll explain this latter.)
As you can see flattening did a nice job here. Also if you look at the model in the other window, you’ll see the checkered effect appear.
Flattening can help with generally flat or boxy areas, if you have curved surfaces or surfaces with lots of extruded edges you could end up with a mess. It’s not an unusable mess, just too many things going on at once.
The next thing to do is display vertex numbering. This is easily done by clicking on Display->Show Vertex Connections.
Now it would nice to weld these three pieces together. It obvious looks like the two triangles fit nicely with the square section, but if you check the vertex number by simply clicking on the vertices, or simply use selection drag, I noticed that is doesn’t quite fit right as we first though. (Actually the rectangle piece is the sides not the hypotenuse)
So there’s not much we can do right now to improve things. I simply selected everything and moved it off to the side.
If you look at the picture there a darkened box. This is the UV map region or box it extends from (0,0) to (1,1). No matter what resolution your texture will be, it always goes from 0 to 1 (might think of this as 0% to 100%). So a vertex with UV width of .5 will ALWAYS be in the center of the texture, no matter if it’s 64x64 or 4096x4096.
If you go outside this area, you will be simply repeating the texture. I.E. the pixel at .5, 1.5, 2.5, 3.5….. are all the same, same with 1, 2, 3, 4, 5, 6…. If you have a UV mapped box going from (0,0) to (2,1), then the texture will be repeated twice horizontally and only once vertical. If you have a texture starting at (1,0) and goes to (2,1) it’ll only texture once. Why? Because if you take (1,0) and normalize it by adding (-1, 0) to it you’ll get (0,0) and (2,1) + (-1,0) results in (1,0).
Next let’s look at details on the top and bottom. I’m going to first select the inside areas.
Add a Mesh select to the stack. (If Max is annoying you that it decides to select the wrong polygon. Checkmark “Ignore Backfaces” will help.
You will see that I ‘cheated’ a bit. Not only did I select the flat areas but I also selected the sides of the wall on the intruded area. Now to be 100% correct this should be mapped separately, but since these areas are so small and it would take a keen eye to see the problem, we can do a simple cheat here. These walls will look smeared, but will also appear textured. If the walls of the extruded areas are large or in obvious areas, then don’t do this, unwrap them separately.
I could use Unwrap UV and then Flatten, but I’ve decided to use UVW Map instead. UVW Map isn’t as powerful as Unwrap, because it attempts to tile rather than let you do correct vertex placement. But for some situations, it’s actually must faster to use.
As you can see it’s helped a bit. As of right now those selected areas encompass the entire UV map region and will also go from (0,0) to (1,1). This isn’t quite right as the square checker boxes appear more like rectangles.
This is what the UV map looks like:
The simplest way to fix this is to make both the length and width in the UVW Mapping properties to be equal. The length was 31.065m so I made the width the same. Now I’m done mapping those areas. Now I want to move them out of the region, so I added Unwrap UVW and go into edit it. Now this looks very familiar.
Now to move this section out of the box area.
Why did I move it up there? Because the area under it I’ve already put some stuff there from above. If you end up with more than sections then sides, then simply push the area further away. You don’t want to have any sections overlapping each other. It might make things a bit more difficult when it comes time to put everything back together again.
Looking good already, btw the bottom is also looking good.
Next I selected the ‘frames’ on the top and bottom and repeated the steps above and again cheating a bit.
Next piece I’m going to deal with it the front details on the outside.
Now these are simple rolling features. I could do the flat areas then the bumps separately or all as one piece. I opted for the one piece. Again UVW Map comes in handy.
That doesn’t look right
Changing the alignment to X axis helped a lot, but it’s still not perfect
I decided to modify the UVW Mapping gizmo. First click on the plus box in front of “UVW Mapping” on the stack then click on child “Gizmo”
Now the visual controls on the work screen will change a bit.
You can now move, rotate and scale the control. You’re not doing anything to the mesh but the controller instead. For easier viewing, I switch to the top view, switched to rotate ‘w’ and moved the yellow line until it matched up with the mesh. Switching to wireframe helped too. ‘F3’
After this it was exactly the same as before, match the length and width up and move it to another location
As you can see the checkers are much smaller, this means the UV map for it is too big. Add the Unwrap UV, go into Edit, click on the Scale on the toolbar and scale it down to fit better with the rest of what’s been done. And finally move it off to a side.
After working on the next panel which was relatively simple, I came onto this one:
It looks a bit like this:
_| |_| |_
Looks sorta like grills.
I’m going to save a little space by having the areas pushed in use the same UV area and the areas extruded also use their own area. I’m going to first select all the recessed areas first. UV map them, then flatten them.
Well that doesn’t look right. This is a sure sign that there’s an open edge or bad mesh section.
Ok that looks quite weird, there’s only one vertex this is being shared. Max sometimes gets messed up one the vertex numberings or it could also mean there’s a problem with your mesh (an extra hidden polygon…etc). There are a couple solutions, collapsing the stack will sometimes, help, but in this case since I’m using this object as a reference, it’ll cause more headaches. If that doesn’t help, sometimes converting the mesh to poly or one of the other types like nurb then back again will sometimes fix this problem. Course when you do all the lines that are joined in the UV map will become separated. The model won’t change it’s UV map, just when you look at it, there be those big green lines every. Those green lines indicate where the lines in the UVmap are not joined.
As you can see in the picture above, there are several green lines. The ones on the outsides are ok, as their not suppose to be connected to anything, however the two triangle pieces are incorrect. If you look at the Edit UV window, you’ll quickly recognize those two pieces. At this point you can pretty much guess where they belong
Ok now select just the vertices that should be combined (ctrl drag helps)
Right click then click weld selected. Boom, the green line on the model disappeared and in the UV map too. I repeated for the other piece to.
Now I’m going to target weld all three pieces together. First we want to makes sure they are all positioned in the same direction. In this case they are, but to show you how, in the Edit UV, select everything, then slowly move everything around. If you look at the model, all the checker board textures should move in the same direction. If one doesn’t, select it and flip it around. Deselect everything when you’re done.
Right click in the Edit UV window, select Target Weld. Pull one of the vertices from one box to the same position on the other box, the mouse cursor should change appearance when you’re on top of another vertex. (I.E. top left corner on box 2 gets dragged onto box 1’s top left corner.)
This is what it looks like after a couple of welds.
And when it’s completed
Another method is to place all the boxes on top of each other and then weld together. Technically the welding isn’t necessary, but it keeps the UV map nice and clean. If one of your boxes has an extra vertex than the rest or is a different size than the rest, then you will need to eyeball it into the correct position. This happens when I map the extruded area of that detail.
As you can see in this pic, one segment is much smaller than the rest
More helpful hints: Want to some of the vertices but not all? Use the plus/minus key on the keypad, extends/contracts the range.
Want to select all of the vertices on a subobject? Checking Select Element will select the entire subobject [anything attached to it by at least on vertex]
Clicking the “Options…” button on the lower right corner of the Edit UV will bring up more options.
Use Custom Bitmap Size, if checked it’ll use the two values below it for the texture resolution in the preview. (Ideal if you have a really big texture on a slow computer). Unchecking it will use the textures actual resolution. (Ideal if you want to see if correctly and not blurred downsized)
Tile Bitmap will tile the texture across multiple times, the number is in Tiles. This is ideal if you want to extend a texture across a great distance on the polygon. For example, fighter runways.
Brightness determines how bright the texture appears on the preview, I usually set to 1 (the actual brightness of the texture)
The other options I don’t use very much, except Weld Threshold. This determines how close the vertices have to be in order for them to weld together. When two vertices are welded together the new vertex is the average of the two.
All the rest uvmapping on this object is using the same techniques as above.
When I was done I added another Mesh Selected and selected the entire subobject, and edited the UV map.
As you can see it looks like a jumbled mess, but some of the pieces should look familiar.
You will also note that there are a few pieces still within the box. These are bits that I missed. Turning on show vertex connections will help decide where the pieces go. Using target welding as needed. You may also catch some that just don’t seem to fit anywhere’s properly. This very well could be a very small or sliver polygon that you didn’t see. So how do you find them? Easy, add a Mesh Edit. Go into triangle mode, not polygon mode, select the whole subobject, then go one by one unselecting each poly. This could take some time but usually you can work rather fast. Any visible polygon you see, simply deselect it, rinse and repeat. Remember to turn on Ignore backface.
I found about 60 polygons that weren’t needed. I also ended up doing some optimizing, there was quite a bit of extra polygons that needed to be merged. Of course after you moved the vertices around, their UV map’s got messed up, so I ended up rebuilding them. Nothing too difficult.
This is what it looks like now.
Now let’s get all the checkered pieces to be the same size. I simply selected all the vertices of the subject in the UV map editor (using Select Element helps greatly here)
[Not sure if you got the right ones? Just nudge them around a bit, you’ll see the texture on the model move]
Now I used the scale (uniform mode) to scale the mappings down to match that of the rest of the wing.
There that looks much better now.
Last step is to bring everything together. Max has a feature called “Pack UVs…” This does work, however if you have pieces sharing the same texture and their NOT connected, it’ll move them apart. I usually end up doing this by hand anyways. It’s mostly fitting all the pieces into the box as tightly as possible.
There everything’s been packed into the region. Sometimes it won’t all fit; you can sometimes shrink down or share textures between areas that don’t have much area to them, like the frames. If that doesn’t help, you can always try to pack them in as closely as possible, and then shrink the entire thing till they fit.
Couple last things before we’re finished with this area. You will need Texporter (found here: http://www.cuneytozdas.com/software/3dsmax/
) to do this.
In the Utilities tab, under More…, there should be a Texporter entry (you may want to put that one on the one of the tabs for easy access).
This part is optional to give an idea first off:
A properties entry will appear. The image size is by default 800*400, you will want to change this to what your texture will appear to be, in my case 2048*2048. Remove the checkmark from Backface cull, and Mark Overlaps.
Click on Pick Object, after moment it’ll produce a picture like this:
This is a colored version based on the face normals, save the image to bmp.
Open the Materials editor “m”, then select the slot with the checkboard effect.
If the entry shows “Blinn Basic Parameters”, click on Diffuse button, it should have a “m” on it.
There should be a button with the word “Checker” on it. Press it, this will bring up the Material/Map browser again. Instead of clicking checker this time, select Bitmap. It’ll popup a window asking you for the file. Use the file that you just saved previously. Click open and in a moment this should appear:
The mesh has now been uv mapped.
One final important step:
Go back to textporter. Uncheck Polygon fill, change the Colorize By to Constant. Click on the pink box next to it, and change it to white.
Reselect the mesh and vola, an outline of the model ready to be painted.
Save this to bmp and import it to photoshop/gimp/etc..