Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
February 29, 2020
arrowPress Releases

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Skewmesh Tutorial: Remove Skewing in Normal map bakes

by Peter Kojesta on 01/20/15 11:38:00 am   Expert Blogs   Featured Blogs

6 comments Share on Twitter    RSS

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


Skewmesh Technique

Normal map baking is an art unto itself. In our role as an art outsrouce team, we experiment a lot with new ideas to improve our work, and give better results to our clients. As such, I developed a technique to remove skewing/strange waviness from normal map bakes: Enter the "skewmesh" technique.  This tutorial assumes you're using 3dsmax, but it should work in any equivalent application.

So what is it we're trying to solve? 

When baking a normal map , it's important to understand that the vertex normals of your low poly model are averaged in relation to the face normal, so we get skewed results for our normal map details, as seen here on the right:

Our preference would be no skewing of the details, like so:

in order to achieve this clean bake effect, we use an intermediate mesh known as a "skew mesh". A skewmesh is just your low poly model with a tesselate modifier added to it. Please note that the tension is set to 0. We do this to prevent strange mesh smoothing on the sew mesh. 

Once you've created the skewmesh, you can use it to bake your normal map from your high polygon model. Make sure to bake an object space map (local space/XYZ).

Once you've baked your object space map unto your skewmesh, you'll notice that due to the extra points/raycasts, the skewing is gone. The next step is to rebake this local space map to a tangent space map on your actual low polygon model. When doing this transfer, you may want to turn off filter maps in the render setup tp prevent graininess in your normal map(found in "Render Setup -> renderer" tab). Also, make sure to choose "tangent" space maps un the baking options window.

When you've rebaked , you will transfer the clean bake from your skewmesh to your low poly, and all of the skewing will be gone. 

You can do this in max, or Xnormal. Both of which I've done a video tutorial for. Ignore the wierd bake at the end of the Xnromal video, I messed up the settings, but the process is the same.  This works great on complex shapes as well:

Use this technique, and you'll never have awful waviness again.

Peter Kojesta


3ds Max:



Related Jobs

Futureplay — Helsinki, Finland

Senior Game Designer
Digital Extremes Ltd.
Digital Extremes Ltd. — London, Ontario, Canada

Environment Artist
Bohemia Interactive
Bohemia Interactive — Pattaya, Thailand

Senior Artist
Remedy Entertainment
Remedy Entertainment — Espoo, Finland

Lead Environment Artist

Loading Comments

loader image