Sponsored By

In this aptly-named Gamasutra technical article, Exis Inc.'s Peter Kojesta shares his techniques for eliminating unsightly texture seams, using 3dsMax and a little creative tinkering.

Peter Kojesta, Blogger

October 19, 2006

6 Min Read

In today’s competitive game market, top quality art gives your game a distinctive advantage. A huge problem in the world of game art is texture seams. They break up the continuity of your texture, and also detract from the realism of your model. Even though the technology to eliminate this problem exists, it seems many folks do not take advantage of it. Even though there are several applications that allow one to paint directly on a model, they are often lacking in control and quality. As such, these programs will not be the topic of this discussion. Instead we will focus on more prevalent tools such as 3D Studio max and Adobe Photoshop. Truly this is all you need to completely eliminate seems. The process may seem detailed, but in practice it takes less than 4 minutes to do the whole thing. Read on to find out how!

Ever since the inclusion of the ‘Render to texture’ feature, 3d studio Max has had a powerful tool for artist who wish to combat texture seams. This tutorial will demonstrate how to use ‘render to texture’ in conjunction with multiple UVW channels to eliminate texture seams once and for all. It’s simple, it’s effective, and the results are truly amazing. Let’s get to it!

Below is a model of an Ottoman soldier created for our client Kacaj Interactive. We’re going to concentrate on the shoulder area since this is typically a point where seams appear. Although the seam is hard to spot, it still disrupts the continuity of the model.

We’re going to create our own style of projection map. The outcome is such that you will always have a planar UV map on the exact section you’re editing. This gives you the full control of the Photoshop tools and the power of the 3d Studio Max UV mapping system.

Step1: Place an Edit Mesh or Edit Poly modifier on your model so you can get at the polygons. Then, select the polygons on both sides of the seam.

Step 2: Place an Unwrap UVW modifier on the stack (map channel 1), then place another UVW modifier on the stack (map channel 2). At this point you have a choice, you can either go into the UVW Editor and continue from there, or you can place a Planar UVW mapping on the object. For this article we’ll place a Planar UVW mapping on the object.

Step3: Select UVW Map and set it to planar. Click ‘View Align’ and ‘Fit’. Now, make sure you set the map channel to 2 (very important step).

Step4: Place an Unwrap UVW modifier on the stack (set to map channel 2) and open the UVW Editor.

The blue represents where the actual seams on the model are. The green lines represent the seams around our projection area; these are not a problem at all, as they are only temporary.

Step 5: Open the ‘Render To Texture’ dialog (default :press 0) .


  • Set the Map Channel to 2 (Red).

  • Add a diffuse map (Green).

  • Set the filename and location (Blue).

  • Select a render size (Almond).

Another important thing to keep track of is the ‘Padding’ box found under ‘selected object settings’ (just above ‘Mapping coordinates’). This will come in handy in just a little bit , but for now just be aware of it.

  • Click render at the bottom of the ‘Render To Texture’ dialog.

Once you render, the output window will appear. You may be tempted to save this image off and use it for the next step, but you should open the file you rendered out to instead. If you save and use the image in the output window, you’ll defeat the effectiveness of this method. This relates to ‘padding’ as mentioned above. The padding correlates to overdraw along the seams. This is what essentially hides the seams by over painting X number of pixels at the edge.

Step 6: Launch Adobe Photoshop and open your temp.tga file (Use TGA to preserve the quality). Now, just paint over the original seam as you please.





Now that you’ve painted over the original seams, you will save temp.tga and then go back to 3d Studio Max.

Step 7: Open the material Editor (default m). Select a new material slot and load temp.tga into the diffuse color slot under the ‘Map’ rollout. Once inside the bitmap menu, make sure to set this texture’s Map Channel to 2.

Apply this texture to the model and you’ll see the results immediately. We’re almost done at this point.

Step 8: Now that you’ve applied this projected texture to the model, you need to open the render to texture dialog once more (default: 0). This time you will set the Map Channel to 1, and change temp.tga to temp_1.tga; that’s all. You have the option to increase the ‘padding’ here if you want or need to (a setting of 3 is fine). Now, render again.

Step 9: Open temp_1.tga in Adobe Photoshop, You’ll see that it rendered the original UVW’s while retaining the changes you made in the improvised projection model. Copy the entire canvas and paste it over your main texture sheet as a new layer. Erase or cut away any sections that are not directly affected by the projection changes you made.

Step10: Save the original texture and check it out in 3d Studio Max. Your seam is gone. In our case, you can see the red line is perfectly lined up.

Being an art contract studio means we have to know all the tricks of the game (no pun intended). We’re constantly trying new things to ensure we are the best. I hope this method finds a useful place in your studio’s Art pipeline. It’s 2006, and there is no longer an excuse for seams.


[Hey, artists! Does Kojesta's method work for you? Do you have other tips and tricks to add? Do you, perhaps, have another method entirely for eliminating texture seams? Well, then, speak up! Shoot off a Letter to the Editor, and tell us what's on your mind.]

Read more about:


About the Author(s)

Peter Kojesta


Peter Kojesta is the founder of Exis Inc, a contract art/development studio based in Towson, Maryland. His works include RacerXtreme, Poacher, and various serious games for companies such as Northrup Grumman and General Dynamics. In the last several years Peter has led Exis on high profile projects for the serious games industry, and has positioned Exis as a prime contractor for game ports and serious simulations.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like