I've never seen, and I truly mean that NEVER a better explanation of what are the normal maps and how to bake them. Thank you Artem for simplifying it for us and also going through cases where things might go wrong and how to fix them!
Ive seen a lot on the subject but i think this video has done more. Baking a cube is not as simple as it would seem. Best video on the subject and ive been blending for years.
I had absolutely no idea the proper way to smooth was with normals>merge. This has got to be the most important blender tut i've found you youtube. thank you!
nobody was telling this .....and i was always getting error and error...but i m so thankful to u for making this nice and useful tutorial..this is really helping me a lot
WOW, I had this problem for years, I watched a great tutorial on this subject from the substance painter channel, but I couldn't apply it in blender, so using the cage will solve it for me, thank you so much, I subscribed, keep it up 😁
You should do a more in-depth baking tutorial on different methods of baking, their differences, pros and cons, use-cases and etc. I'd love a good tutorial explaining 1-SG baking, cageless and hard edge workflow, their cons and pros, avoiding seam breaks in smoothing, combining the methods, defining the correct curvature to avoid normal map skewing or avoiding the skewing by lowering the curvature of the hipoly and using bevel modifier to smooth out the meshes, using Weighted Normals to fix up flat triangulated faces that shade incorrectly on the hipoly. Also, object space normals and when they should be used. Honestly there is so much to cover. The best normal baking tutorial we have so far is the handplane videos and Cryengine / UE docs.
Thanks for the tutorial that was very useful. You triggered me into experimenting and digging more into the shading, because I have been smoothing the entire low poly object. I actually hadn't notice that you can get errors inside UE4 but I found the reason for that. Before you bake and export the completely smoothed object, you have to triangulate the mesh. The reason why this shading issue happens is because each 3d software treats the triangulate operation differently. UE4 always triangulates the objects on import. Blender also triangulates the meshes, but that runs in the background and contributes to your object's shading although you only have quads. Another thing you must always do, is exporting tangents on your fbx export, and also import them in UE4 so you always get the accurate shading that you have in blender. And also important is to have some margin when you unwrap and when baking. So I will continue using completely smoothed objects and the reason is that smoothed objects give you less noticeable normal map seams as you also correctly mentioned in the video and in addition you don't need to mark all your edges as seams and have so many islands, like you need to do when having sharp edges on your model. I find it impractical to have one island for every face and I also think that islands' number have an impact on the performance of the game. I encourage you to give it another try and let me know if it works. Congrats for experimenting with those stuff because I have seen no tutorial getting so close to the correct way of baking normal maps and using the shading. I learned those stuff today with the help of your video. If you find that my method is correct (worked for me using your tutorial file) please make another video so that more people get to know the proper way. :)
Thank you for being involved in this getting-correct-baking campaign! ;) I've actually spent weeks on searching for all the answers, and I'm still looking for them) Moreover, you might have noticed most probably greater solution on getting the right shading in recent videos by other people. It's actually smoothing the whole mesh and checking Auto Smooth in Object Data Properties -> Normals. I haven't tried triangulating the mesh by hand or with a modifier, because UE4 does it for you. However, I guess, I should give it a try. There's a con against smoothing the whole mesh, if it's got hard edges: if you do it, you'll get a gradient normal map, which is a way heavier, than a 'flat' normal map. It's great that you've mentioned about fbx-exporting and importing issues. This question deserves another tutorial. I would be glad to make one, but I'd like it to become a part of a series-tutorial. You can also look for some other tutorials on baking normal maps in different 3D-applications. The basic principles must be the same. If you play games and there’s an option to examine an item closer, you might notice seams on the hard edges due to different reasons, but mostly because the connected pixels have different colours and there’s no enough gradient, as the texture resolution isn’t high enough, however, usually a player doesn’t watch such items that close.
@@artemtovbaz8452 I actually hadn't thought that normal maps with more gradients could be more heavy so I will definetely check that to see how big the difference is. So what would be interesting for me now is to learn what's the most important between heavier normal maps or many uv islands because I think that determines if I'm gonna use many islands and sharp edges or fewer islands with smooth edges and fancy normal map gradients. Actually the fact that UE4 triangulates the meshes is the problem for the incorrect shading that you got in your video. UE4 has a different triangulation algorithm than blender does, and like any other 3d program that has its unique algorithm. And ofcourse the way that triangles connect affect the shading. That's why I suggested that you triangulate it before you bake and export, so that UE4 can't change your mesh. It's a key for getting accurate shading, you should try that. :)
@@artemtovbaz8452 Gradient normal maps will not be heavier. It may seem like it because the advanced compression in formats like .png files will take less size when there's a lot of similair areas (like flat normals). However the GPU can't take advantage of that and even if your normals are flat will still take the same amount of memory space on your video card.
@@insertoyouroemail Thank you for your comment! I can't say anything more than the size of the gradient normal map's png-file is usually bigger. At least, it's a matter of storing your normal maps as files on your hard drive. I'm not a big expert in deep technical aspects of GPU performance and file formats field. However, thank you for sharing your knowledge on this matter!
in the past i've made alot of mistakes and tried to fix it. now i fully understand why my edge bleed when i bake my normals. In short, when tackling hard surface you should smooth split and UV split when baking the normals to avoid edge bleeding on the other hand when tackling organic modeling, its preferred to use one smoothing group to bake the normals.
Well, in most cases you can just smooth everything, then select Auto Smooth in Object Data Properties -> Normals ;) Correct Angle, if needed. If you haven't got enough geometry, try merging normals, where it should be smoothed.
Nice. Hope you could also do hardsurface or organic high poly using booleans or with addons like boxcutter, kitops, wires etc and make low poly versions of it. Thank you
I spent two days messing with the baking config and could not get it right. Thanks for the tutorial. With this and Erindale's procedural textures I'll be able to do everything I did in Substance designer/painter in Blender.
Could you adress how to bake cylinder normals? I have some experience on baking normals for some characters and complex models on Substance, now I'm trying to do it all in Blender. The thing is, I'm making a very simple model with holes in it and I'm getting some nasty arching, I can change where the problem is visible, in top or side view, but I can't make them go away. I've tried it in Blender and in Substance with the same problem. I've found a 2017 substance forum post talking about it and saying it is unavoidable with some thoughts on how in the future we'll be able to go crazy on the polycount so normal maps will only count for surface details, but dawn this is frustrating. Here goes the post I mentioned: forum.substance3d.com/index.php?topic=15111.0 This guy shows a great aproach to this in 3D Studio, it has to do with using a smooth cage, but I couldn't get that in blender as it says the cage must have the same number of faces of the active object. I tried using a subdivided model with a smooth cage with the same UV map as the low poly but it did not work. ruclips.net/video/MnuK6xyi-qY/видео.html This may be too much to ask, but if you find some time for it I would really appreciate. Thanks for the great tuts.
@@fabioferreiradarosaantunes9788 Well, looks like an interesting approach :) I guess what is actually happening is that he creates a normal map for a cylinder with a higher number of faces (and a smoother surface eventually) and applies it to the low-poly one. The trick is to match the UV-map of the low-poly model to the normal map, because the cylinder with a higher number of faces needs to be UV-unwrapped accordingly. I've tried to recreate the idea in Blender. Please, check the file BAKING A NORMAL MAP FOR A CYLINDER.blend by the link below: ln2.sync.com/dl/2c5e7b8f0/nte2vii7-t473yg3r-upkv3ffs-wjst426m It is actually the same link in the description. Sure there are different methods of baking normal maps, just remember to keep the correct shading. It's very easy with the following procedure: 1. Set Shade Smooth to the whole object. 2. Check Object Data Properties -> Normals -> Auto Smooth. 3. Adjust Angle, if needed.
I'm trying for several years...Hopefully this video is great and talks about how smooth shading and Uv seams affects the result. I'm going to watch it again
Hi! Basically, every hard edge of the low-polygonal mesh should be marked as a seam while uv -unwrapping regardless of what the high-polygonal mesh is. Hard edges are determined by flat shading.
I have a question about baking with a multires modifier for normals. I have a mesh that looks good with smooth shading and auto smooth, but whenever i start sculpting with multires applied, it reverts back to smooth shading and the edges look horrible, but whenever I use shade flat, on the final bake from multires, the normal map has visible faces from the high res mesh in it. Is there anything I can do about this?
Hi! Thank you for mentioning this issue! I tried out to re-create your case and faced some bugs with Multiresolution performance. I started a new file and it worked as supposed to, I believe, however, there were still some baking issues. I guess baking a normal map for a complex mesh as opposed to a plane from Multiresolution is a different way to go. It depends on various aspects, including shading, as well. This might be a sort of specific topic, so I hope I can resolve this issue for another tutorial. If you're still dealing with this problem, try the 'standard' baking: 1. Duplicate the mesh. 2. Remove Multiresolution from the low-poly version. 3. Duplicate the low-poly, add Displace and use it as Cage. 4. Bake with Selected to Active. Note: you needn't apply Multiresolution to the high-poly mesh. You can turn off Viewport display for Multiresolution for better performance, but keep Render on. Hope you make it!
Yes, it works for organic models with smooth shading - just use Ray Distance (or Extrusion and Max Ray Distance in later versions). However, I didn't find it possible to bake a normal map for hard edges without a cage.
Dude! i was after a thing and only you showed the best way to do it. Hard and soft edges. Thanks you! Btw, if i select shade Smooth by accident, all my normals will be set to smooth again ?
You're welcome! Yes, if you apply Shade Smooth or Shade Flat, it will recalculate all the normals accordingly. However, you can always use the magical Ctrl+Z ;) There's actually a quick way to have your shading correct automatically. Apply Shade Smooth to the whole mesh. Add Edge Split modifier (there's another video about it on a different youtube channel). However, if you apply it and try Displace modifier after, you'll see all the faces separated from each other. I guess, there must be a way around it.
Hey, i tried to to exactly as you but for some reason my edges are still visible in the baked curved part, i tried to do everything but to no avail, i just cant manage to get it to work as perfectly as in the video, im running 2.92, anyone else having such a problem ?
The workflow might be slightly different in 2.92. The Ray Distance is replaced by Extrusion and May Ray Distance properties, for example. Other than that try a bigger distance between UV-shells and make UV-seams on every hard edge. Notice that the resolution and pixel density matter.
Hi! Sorry, I'm not sure I could do any consulting work, but I'm glad to help as much as I can, if you have any issues related to any of the fields I cover in my tutorials. You can also message me on Artstation for any 3D-related questions ;)
@@artemtovbaz8452 hi I have an issue with my normal map. After I baked the normal texture to my low poly mesh you can see flat shaded polygons if you view the normal map at different angles. The model is shaded smooth I don't know why it's doing this.
@@em6er55 You're welcome, I'm glad you like it! Actually, I haven't noticed any change while baking with the normal map connected or detached from the shader. I guess, this might be a bug that you've described.
@@em6er55Well, I guess you should try other Blender versions and check your baking settings carefully. There could be anything causing this problem, actually. Blender has a bug report service, check with the official website. There you can also find solutions for probable issues.
Best tutorial on normals.
I've never seen, and I truly mean that NEVER a better explanation of what are the normal maps and how to bake them.
Thank you Artem for simplifying it for us and also going through cases where things might go wrong and how to fix them!
Ive seen a lot on the subject but i think this video has done more. Baking a cube is not as simple as it would seem. Best video on the subject and ive been blending for years.
I had absolutely no idea the proper way to smooth was with normals>merge. This has got to be the most important blender tut i've found you youtube. thank you!
You sir are a gentleman, a wizard and a scholar. I've picked up 3 important new things here, and for that I salute you!
You are the droid I've been looking for.
Finally found someone to explain the problem I've been having.
4:02 why did the seams disappear? because of the uv-unwrapping or because of the marked seams? (i'm assuming the shading remained flat?)
Awesome!! This is what i was searching for months...
Thank you! the question of baking normal maps smooth or flat was always mocking me.
This is a great tutorial. And what a sexy voice that is!
Its the best normal map tutorial i've ever seen- and i saw them a bit. Thanks!
I think so!👍
thank u so much for this video, helped my confuse about hard edges and smooth edges
tons of subscribers to you!
You are so fantastic. Never stop please
I'm learning 3D modeling RN cos of Corona at blender 2.8 and this is really helpful due to the tutorials on youtube being outdated. Good work Sir.
nobody was telling this .....and i was always getting error and error...but i m so thankful to u for making this nice and useful tutorial..this is really helping me a lot
Muchas gracias, usted es un maestro como pocos.
So much info on one video, thank you so much!
WOW, I had this problem for years, I watched a great tutorial on this subject from the substance painter channel, but I couldn't apply it in blender, so using the cage will solve it for me, thank you so much, I subscribed, keep it up 😁
I was stuck for so long on baking normal's without any idea of how to fix my bakes! Thank you so much for this tutorial!
You should do a more in-depth baking tutorial on different methods of baking, their differences, pros and cons, use-cases and etc. I'd love a good tutorial explaining 1-SG baking, cageless and hard edge workflow, their cons and pros, avoiding seam breaks in smoothing, combining the methods, defining the correct curvature to avoid normal map skewing or avoiding the skewing by lowering the curvature of the hipoly and using bevel modifier to smooth out the meshes, using Weighted Normals to fix up flat triangulated faces that shade incorrectly on the hipoly. Also, object space normals and when they should be used. Honestly there is so much to cover. The best normal baking tutorial we have so far is the handplane videos and Cryengine / UE docs.
Great tutorial! Very straight forward.
This video was awesome thankyou!
Thanks for the tutorial that was very useful. You triggered me into experimenting and digging more into the shading, because I have been smoothing the entire low poly object. I actually hadn't notice that you can get errors inside UE4 but I found the reason for that.
Before you bake and export the completely smoothed object, you have to triangulate the mesh. The reason why this shading issue happens is because each 3d software treats the triangulate operation differently. UE4 always triangulates the objects on import. Blender also triangulates the meshes, but that runs in the background and contributes to your object's shading although you only have quads.
Another thing you must always do, is exporting tangents on your fbx export, and also import them in UE4 so you always get the accurate shading that you have in blender. And also important is to have some margin when you unwrap and when baking.
So I will continue using completely smoothed objects and the reason is that smoothed objects give you less noticeable normal map seams as you also correctly mentioned in the video and in addition you don't need to mark all your edges as seams and have so many islands, like you need to do when having sharp edges on your model. I find it impractical to have one island for every face and I also think that islands' number have an impact on the performance of the game.
I encourage you to give it another try and let me know if it works. Congrats for experimenting with those stuff because I have seen no tutorial getting so close to the correct way of baking normal maps and using the shading. I learned those stuff today with the help of your video. If you find that my method is correct (worked for me using your tutorial file) please make another video so that more people get to know the proper way. :)
Thank you for being involved in this getting-correct-baking campaign! ;)
I've actually spent weeks on searching for all the answers, and I'm still looking for them) Moreover, you might have noticed most probably greater solution on getting the right shading in recent videos by other people. It's actually smoothing the whole mesh and checking Auto Smooth in Object Data Properties -> Normals.
I haven't tried triangulating the mesh by hand or with a modifier, because UE4 does it for you. However, I guess, I should give it a try. There's a con against smoothing the whole mesh, if it's got hard edges: if you do it, you'll get a gradient normal map, which is a way heavier, than a 'flat' normal map.
It's great that you've mentioned about fbx-exporting and importing issues. This question deserves another tutorial. I would be glad to make one, but I'd like it to become a part of a series-tutorial.
You can also look for some other tutorials on baking normal maps in different 3D-applications. The basic principles must be the same.
If you play games and there’s an option to examine an item closer, you might notice seams on the hard edges due to different reasons, but mostly because the connected pixels have different colours and there’s no enough gradient, as the texture resolution isn’t high enough, however, usually a player doesn’t watch such items that close.
@@artemtovbaz8452 I actually hadn't thought that normal maps with more gradients could be more heavy so I will definetely check that to see how big the difference is.
So what would be interesting for me now is to learn what's the most important between heavier normal maps or many uv islands because I think that determines if I'm gonna use many islands and sharp edges or fewer islands with smooth edges and fancy normal map gradients.
Actually the fact that UE4 triangulates the meshes is the problem for the incorrect shading that you got in your video. UE4 has a different triangulation algorithm than blender does, and like any other 3d program that has its unique algorithm. And ofcourse the way that triangles connect affect the shading. That's why I suggested that you triangulate it before you bake and export, so that UE4 can't change your mesh. It's a key for getting accurate shading, you should try that. :)
@@pgounaris Thank you for the advice! I think it's worth testing in future.
@@artemtovbaz8452 Gradient normal maps will not be heavier. It may seem like it because the advanced compression in formats like .png files will take less size when there's a lot of similair areas (like flat normals). However the GPU can't take advantage of that and even if your normals are flat will still take the same amount of memory space on your video card.
@@insertoyouroemail Thank you for your comment! I can't say anything more than the size of the gradient normal map's png-file is usually bigger. At least, it's a matter of storing your normal maps as files on your hard drive. I'm not a big expert in deep technical aspects of GPU performance and file formats field. However, thank you for sharing your knowledge on this matter!
you r amazing man. You saved my lige i love you
Thank you so much, really nice
in the past i've made alot of mistakes and tried to fix it. now i fully understand why my edge bleed when i bake my normals.
In short, when tackling hard surface you should smooth split and UV split when baking the normals to avoid edge bleeding
on the other hand when tackling organic modeling, its preferred to use one smoothing group to bake the normals.
Well, in most cases you can just smooth everything, then select Auto Smooth in Object Data Properties -> Normals ;) Correct Angle, if needed. If you haven't got enough geometry, try merging normals, where it should be smoothed.
Thank you so much! Subscribed
Oh, man, thank you for the tip, how to create cage object easily, I puzzled over this for a long time
Nice. Hope you could also do hardsurface or organic high poly using booleans or with addons like boxcutter, kitops, wires etc and make low poly versions of it. Thank you
Try Carver add-on, as well :)
great video, do u have suggestions to silve edge bleeding after bakes?
I spent two days messing with the baking config and could not get it right.
Thanks for the tutorial.
With this and Erindale's procedural textures I'll be able to do everything I did in Substance designer/painter in Blender.
Could you adress how to bake cylinder normals?
I have some experience on baking normals for some characters and complex models on Substance, now I'm trying to do it all in Blender.
The thing is, I'm making a very simple model with holes in it and I'm getting some nasty arching, I can change where the problem is visible, in top or side view, but I can't make them go away. I've tried it in Blender and in Substance with the same problem. I've found a 2017 substance forum post talking about it and saying it is unavoidable with some thoughts on how in the future we'll be able to go crazy on the polycount so normal maps will only count for surface details, but dawn this is frustrating.
Here goes the post I mentioned:
forum.substance3d.com/index.php?topic=15111.0
This guy shows a great aproach to this in 3D Studio, it has to do with using a smooth cage, but I couldn't get that in blender as it says the cage must have the same number of faces of the active object. I tried using a subdivided model with a smooth cage with the same UV map as the low poly but it did not work.
ruclips.net/video/MnuK6xyi-qY/видео.html
This may be too much to ask, but if you find some time for it I would really appreciate.
Thanks for the great tuts.
@@fabioferreiradarosaantunes9788 Well, looks like an interesting approach :)
I guess what is actually happening is that he creates a normal map for a cylinder with a higher number of faces (and a smoother surface eventually) and applies it to the low-poly one. The trick is to match the UV-map of the low-poly model to the normal map, because the cylinder with a higher number of faces needs to be UV-unwrapped accordingly.
I've tried to recreate the idea in Blender. Please, check the file BAKING A NORMAL MAP FOR A CYLINDER.blend by the link below:
ln2.sync.com/dl/2c5e7b8f0/nte2vii7-t473yg3r-upkv3ffs-wjst426m
It is actually the same link in the description.
Sure there are different methods of baking normal maps, just remember to keep the correct shading. It's very easy with the following procedure:
1. Set Shade Smooth to the whole object.
2. Check Object Data Properties -> Normals -> Auto Smooth.
3. Adjust Angle, if needed.
I'm trying for several years...Hopefully this video is great and talks about how smooth shading and Uv seams affects the result. I'm going to watch it again
great tutorial
thanks a lot
Thanks for the tutorial :)
well i had to turn off autosmoth then apply Clear Sharp to all edges of the model and finally bake it, that worked for me.
does that mean on my low ploy model. i have to mark seam on every edge which has fillets on high poly?
Hi! Basically, every hard edge of the low-polygonal mesh should be marked as a seam while uv -unwrapping regardless of what the high-polygonal mesh is. Hard edges are determined by flat shading.
I have a question about baking with a multires modifier for normals. I have a mesh that looks good with smooth shading and auto smooth, but whenever i start sculpting with multires applied, it reverts back to smooth shading and the edges look horrible, but whenever I use shade flat, on the final bake from multires, the normal map has visible faces from the high res mesh in it. Is there anything I can do about this?
Hi! Thank you for mentioning this issue! I tried out to re-create your case and faced some bugs with Multiresolution performance. I started a new file and it worked as supposed to, I believe, however, there were still some baking issues. I guess baking a normal map for a complex mesh as opposed to a plane from Multiresolution is a different way to go. It depends on various aspects, including shading, as well. This might be a sort of specific topic, so I hope I can resolve this issue for another tutorial. If you're still dealing with this problem, try the 'standard' baking:
1. Duplicate the mesh.
2. Remove Multiresolution from the low-poly version.
3. Duplicate the low-poly, add Displace and use it as Cage.
4. Bake with Selected to Active.
Note: you needn't apply Multiresolution to the high-poly mesh. You can turn off Viewport display for Multiresolution for better performance, but keep Render on.
Hope you make it!
Please, is it possible to avoid using a time consuming cage by just splitting the UVs instead? Thanks in advance.
Yes, it works for organic models with smooth shading - just use Ray Distance (or Extrusion and Max Ray Distance in later versions). However, I didn't find it possible to bake a normal map for hard edges without a cage.
Can you explain why those edges are still visible?
Dude! i was after a thing and only you showed the best way to do it. Hard and soft edges. Thanks you! Btw, if i select shade Smooth by accident, all my normals will be set to smooth again ?
You're welcome! Yes, if you apply Shade Smooth or Shade Flat, it will recalculate all the normals accordingly. However, you can always use the magical Ctrl+Z ;) There's actually a quick way to have your shading correct automatically. Apply Shade Smooth to the whole mesh. Add Edge Split modifier (there's another video about it on a different youtube channel). However, if you apply it and try Displace modifier after, you'll see all the faces separated from each other. I guess, there must be a way around it.
Hey, i tried to to exactly as you but for some reason my edges are still visible in the baked curved part, i tried to do everything but to no avail, i just cant manage to get it to work as perfectly as in the video, im running 2.92, anyone else having such a problem ?
The workflow might be slightly different in 2.92. The Ray Distance is replaced by Extrusion and May Ray Distance properties, for example. Other than that try a bigger distance between UV-shells and make UV-seams on every hard edge. Notice that the resolution and pixel density matter.
What is CUBE_CAGE ?
Hi! It should be the cage-mesh for baking with Cage option
Hi Artem, is it possible to get in touch with you for a small consulting work?
Hi! Sorry, I'm not sure I could do any consulting work, but I'm glad to help as much as I can, if you have any issues related to any of the fields I cover in my tutorials. You can also message me on Artstation for any 3D-related questions ;)
@@artemtovbaz8452 Thanks a lot! I will send you an email :)
You Like Huey Lewis And The News?
Why do you need a cage?
Hi! A cage improves baking quality.
@@artemtovbaz8452 hi I have an issue with my normal map. After I baked the normal texture to my low poly mesh you can see flat shaded polygons if you view the normal map at different angles. The model is shaded smooth I don't know why it's doing this.
@@SonictheHedgehogInRealLife This might happen, if at least one of the meshes has flat shaded polygons or, the low-poly mesh is too blocky, I guess.
@@artemtovbaz8452 I actually found that it was a glitch in blender on 2.93 idk if they updated it or not
*Note Very Important : do not connect normal map to shader while baking it will give you randomly wrong color " brown and green" .
A another note low poly have flat shade do not miss that ^_^ , thanks for the perfect video
@@em6er55 You're welcome, I'm glad you like it! Actually, I haven't noticed any change while baking with the normal map connected or detached from the shader. I guess, this might be a bug that you've described.
Artem Tovbaz ammm for me it baked correctly while disconnecting.. and i didn’t know if it bug and how to report it 💔😔
@@em6er55Well, I guess you should try other Blender versions and check your baking settings carefully. There could be anything causing this problem, actually. Blender has a bug report service, check with the official website. There you can also find solutions for probable issues.