How to Bake a Flawless Normal Map in 3ds Max
Tutorial Details
- Program: 3ds Max
- Difficulty: Beginner
- Completion Time: 1 hour
Final Product What You'll Be Creating
In video games, resources are always on a tight budget. Normal mapping allows the artist to achieve the look of a highly detailed model, while still using a very low triangle count and relatively small texture sizes.
In this tutorial, Racer445 will cover the basics of how to create a normal map, how the technology works, how to setup your UVs, the baking process itself, fixing errors, adding final details in photoshop, and common misconceptions.
The software used will be 3ds Max and Photoshop, but the concepts and theories can be applied to any software that supports normal map baking.
Full Video
Download
Note: click the ‘Monitor’ icon to view tutorial in full-screen HD.
Don’t miss more CG tutorials and guides, published daily – subscribe to Cgtuts+ by RSS.
Thank you~!
Great!
That’s brilliant! Thanks a lot.
Tks! Very Good
What’s the plugin that appears at the right side of the uv map editor?
EDIT: Nevermind, it’s called unwrap tools for those interested.
thx for this great tutorial and tip, uhm is normal map available too in maya 7 and
above? I’m a maya user and at the same time studying 3d max; perhaps if you
know how to make normal map in maya will you also post it here? thx
You sound like you need an Alka-Seltzer
i think you mean he needs to remove his retainer before talking on tutorials hehe :P
Hey thanks !
I found this tutorial a little long and drawn out. I know that there is a need for some in depth explanation into how to create UV maps but to be honest a “straight into-how to do it” tutorial would have been more beneficial to me.
First of all thanks for this great tut. I would like to know what’s the plugin or interface that appear next to your EDIT UVs.
And your high poly model it’s just the same as your low poly with turbosmooth? or it has a greater poly count and details actually modeled in.
thanks.
Flawless Tutorial…. Thank you so much for sharing on your great experience… I rarely comment and by far this is one of the greatest tutorial I have seen on baking normal maps….. keep up the good work man…..
Great tutorial! Thank you very very much.
Why so serious? – Your humor in other tutorials (e.g AK tuts) really makes them fun to watch.
thanks a lot for this, it definitely helped me understand normal mapping more.
This was awesome. This video cleared up a ton of misconceptions about normal mappring for me. I’ve had all sorts of instructors telling me I needed to import my model into Mudbox. Others were telling me that I couldn’t have overlapping uv’s. This all makes sense to me and I thank you greatly.
That sucks then! How do you get a better detail into game?
Great tutorial btw. :)
Thank you so much for posting this! You explain everything really well and thoroughly and just saved my ass and my coworker’s.
how do you setup the material i watched this whole tutorial finally got everything working and you then you don’t show how to set the material up..
The smudge tip is a great tip!
One suggestion, it would be nice to know how to cover normal map errors along a radial or cylindcrical uv shell. You show how to fix it when its along a straight seem but not on the radial uv shells.
Thanks though its overall a solid tutorial and I think a lot of people will learn quite a bit.
After UV-Mapping the Low-Poly Object…. How did you model the HIGH-Poly model without screwing up the UV-Template. Did you use a modifier like TurboSmooth? Or is there another Method? Help.
High poly modelling is a whole other kettle of fish. Most people tend to make a copy of their low poly and add in more detail. Turbosmooth is used to chamfer edges and round off curves but it requires that you put more edge loops into your model to stop it from becoming just a blob.
There is no need to worry about unwrapping the high-poly or its UV’s, just the low poly.
If you want to learn more about high poly modelling techniques there are a ton of tutorials right here on this site. Anything that says ‘high poly’ basically ;)
good luck! hope this helps.
Fantastic tutorial. I am wondering something, during the “exploding” mesh process could you not simply select the high-poly elements and click the align button and select the low-poly exploded elements, this way the high-poly models will snap in place removing the need to manually move each high-poly object into the correct position.
I’ve not found such a comprehensive normal mapping tut anywhere else, so thank you so much for providing this.
But… He said nothing about correcting errors… my whole render thing is red completely, how the hell do i fix it? i did everything as instructed….
This may happen, if the source model (hi-poly) is hiden. If it doesn’t help (it should, indeed) – check cages aswell.
great tutorial. nomoskar dada.
Great tutorial.
wow great!!! a fully devoted texture mapping tutorial!! thanks a lot
just one question though,
do you have to have a high poly and low poly version of your model? what if you just wanted to do a low poly bake, you can just do one right?
thanks a lot :)
Really one of the best and most thorough tutorials I’ve ever seen. Thank you so much man. I understood Normals more in 40 minutes than I ever did before sifting through crappy tuts and stuff on the internet.
Don’t know if the tutor of this tut is going to read this, but I really want to thank him to share all his knowledge.
I’ve been struggling with normals maps for quite some time with hard edges, you give some quite good tips and I’m quite happy now I shouldn’t have any troubles at baking non organics stuff.
Thanks… That’s all !
thanks, great tutorial,
how do you get it to look shiny when you add the normal map?
when i apply my normal maps, they look dull and lifeless, whereas yours are shiny and you can see the detail
cheers, andy
He probs just increased the specular lvl/gloss values on the basic material, thats my guess. Spec just helps to sell the NM even more…think of each map type as a complement to the other.
He actually uses this realtime shader, my bad. http://www.laurenscorijn.com/viewportshader
Gotta pipe in and say Racers argument about vert counts is totally wrong. the max stats display doesn’t count the Vertex Normals and Texture vertices. If you count this correctly using the channel data utility you can see the argument for chamfering. In addition chamfering gets rid of the 90 degree angle providing a softer visable falloff at the edges of the model and reducing the overly dark edges where the chamfer from the hp isnt being occluded where it should be
I’m sorry, but I must disagree with you here. This information is incorrect.
If you are baking your normals correctly from highpoly to lowpoly (by separating hard angles into different smoothing groups and then breaking each smoothing group into a separate UV island in your UVs), then you shouldn’t get ANY dark edges where the smooth edges from the high poly are not baking correctly. Additionally, if you chamfer your edges in an attempt to try and keep everything in one smoothing group, then you will always have a color gradient in your normal map which makes editing your normals post bake nearly impossible.
In other words, if you have ANY dark edges from your normal maps at all, then you are doing something wrong.
The only time you should be chamfering your edges in a low poly model is if the edge is visibly rounded, even in the silhouette of the model….like the round edge of a sofa cushion…and then you should be using a minimum of two chamfers, not one.
I tried your method on a normal dice model, but only 3 of the sides shows up, the rest of face didn’t. Is it something to do with the light? Cuz when I try to put 6 omni lights to 6 different faces, it render all the 6 faces, but not as good as the one you did? Can you please tell me where my problems are?
There’s a whole lot of misinformation in this video. Perhaps I’ll make a new “step by step” normal mapping video in the future.
English’s not my native language, but, you know, if it was – I would try to write an ode of praise for you! Joking of cource, but your tutorial was extremely helpfull, simply awesome. Many tasty things just in one video. Well, there were only one little problem – UV seams have became visible after applying normal map, but “smooth” modifier fixed this thing (models must have only one smoothing group).
Thank you so much, this is one of the most complex tutorials about baking in the net, I belive that if you’ll make the second video, it could be absolutely amazzing. Good luck, man!
what misinformation,? i did try your method from this tutorial , and it works fine , so i dont understand whu u said misinformation,..please explain.. thanks
Thanx for the great tut.in photoshop pres “f” a couple of times than press than “space+ LClick” to move around,”alt+MouseWheel” to zoom in and out.When using Smudge tool hold down shift for straight lines.Hope it helps.Looking to see more awesome tutorials.
So I’m still not fully understanding the relationship between smoothing groups and normal map baking. From what Ive seen on cgtuts here is that if everythings in one smoothing group then its fine to have it all stitched up as one but if there is more than one smoothing group, for normal map purposes you want that broken up. Is my understanding correct?
Ive read so many different opinions on this, my heads going to explode. Ive read that you should have everything in one smoothing group for normal map baking but then the low poly looks god awful shading wise.
Any info on this would be great, what would be greater is if someone could point me to a good tutorial on this matter because I have searched day in and day out online and cant find a definite tutorial regarding this matter. Yes, Ive seen it in more than one video here but nobody has taken the time to explain it and to me it seems to be a very important issue.
TIA
I was actually wondering that too… I think you only have to have it all on one smoothing group for the projection. I think after you’re done you can delete the projection modifier and return everything to separate smoothing groups.
So, and I haven’t tried this yet, let’s say your low poly has three different smoothing groups (so when you select all faces the smoothing groups look like this: _,_,_)
1. Select all faces on the low poly and make them all share the same smoothing group by selecting smoothing group 4 (_,_,_, 4).
3. Do the projection
4. Then simply get rid of smoothing group 4 all together so that the faces of the low poly are no longer sharing the same smoothing group.
correction: I meant to label the steps 1 *2 and 3, lol, sry :X
This is a great tutorial overall.
I put some feedback here for the author about the tut, this is probably what he’s referring to in his comment about some misinfo…
http://wiki.polycount.com/racer445%20Normal%20Map%20Issues
I kinda ran out of steam at the end though, there may be more things to correct. Overall though this video is full of great tips, really worth a run-through.
Some more info we’ve been adding here on the Polycount Wiki about normal mapping…
http://wiki.polycount.com/NormalMap
Looking forward to the next one racer445!
Thank you for the tutorial. i would like to know what did you select http://img823.imageshack.us/i/66154501.jpg/
Best tutorial EVER. Thanks so much.
How exactly did you unrwap the high holy version? Directly on top of the meshsmooth?
I started with that yesterday but I was getting something like this:
http://i75.photobucket.com/albums/i295/ade2004/3D%20Models/UVW_issue.jpg
I was starting the unrwap process for my weapon at the barrel:
http://i75.photobucket.com/albums/i295/ade2004/3D%20Models/IMIcomparison.jpg
Thanks.
Omg go get some food :( I can hear your stomach grumbling XD
Very nice. It really helped with our game. Thank You.
This is disgusting to listen to ur stomach sounds through all the video…at least there are no farts…thanks for that dude.