Texture Baking - Blender 3d vs. Substance Painter vs. Marmoset Toolbag

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
do you spend many a night staring into the night sky thinking to yourself which software package is the best for baking texture maps onto 3d models in this video i hope to ease your trepidations about this matter because i'm going to be going over the texture baking workflow across three different software packages blender substance painter and marmoset tool bag however if nothing i'm saying is making any sense to you and you're just left wondering what's a normal map what's texture baking who are you and how did you get in here then just calm down i'll leave a video by cg cookies linked in the description below that should hopefully clear up any confusion as to what exactly a normal map is so i'm going to be using the receiver from the previous high poly modeling techniques video i'll give you a brief tutorial of how to make a normal map in each software followed by a comparison of the results in the end i'll give you my opinion as to which software i think has the best performance results and workflow and just so you know when it comes to reviewing the results of all three of these programs i'm gonna have to really nitpick this because this is the normal bake result that i got out of blender this is the normal bake result that i got out of substance painter and this is the normal bake result that i got out of marmoset toolbag so if you can't tell which one is constructively the best result out of all three of those then i'm gonna have to go into a lot more detail if you're having any other technical issues feel free to leave a comment below or consider checking out the discord server which is linked in the description we have a fairly active channel for helping people out with any 3d art or blender problems all right so starting out in blender we can create a new image file set at a resolution of 2048 by 2048 you can uncheck alpha generated type blank and check the box for 32-bit float okay now go to your shader editor add in an image texture and select your newly created image plug it into a normal map node and plug that into your shader next i'm going to unhide our high poly model and i'm gonna turn on all the modifiers such as the bevel subdivision and remesh modifiers on the high poly version of the lower receiver you'll notice that i have a few mesh details that are not included on the low poly mesh these small mesh details are called float geometry and they're not even built into or integrated into the high poly mesh they're just essentially floating on the surface and because of this these details will get baked down into our normal map and will appear as if they are inset or recessed into our low poly mesh next i want to make sure that my low poly mesh is matched with the same location as my high polymeth though being that my high poly mesh's origin is currently at the world center i'm going to select my low poly mesh hit shift s and selection to cursor since it will match it up with that 3d cursor which is at the correct location next we'll go to the render properties tab and we'll switch the render engine from ev to cycles because currently you can still only access the baking options from the cycles render engine and if you have any sort of graphics card you'll probably want to switch the device from cpu to gpu if you have a graphics card and this option is grayed out for you then you'll need to go into the edit tab and preferences to enable it next scroll down to your baking options and set the bake type to normal you can hit the check box next to select it to active and in output set the margin to 2 pixels and hit the check box next to clear image for your first bake next go to the options under selected to active and you can leave the box next to cage unchecked because we are not using a cage mesh to capture our details luckily and i'll explain that so with a low poly object selected i'm going to tab into edit mode and a cage object was when you would take your low poly mesh you would duplicate it and you would scale it up along the normal axis so i would hit alt s and just scale it up very slightly to the point where it totally encompassed our high poly mesh and we weren't getting any of those clipping aces like we are here seen on our low poly mesh then this low poly mesh which was slightly scaled up would scan the high poly for all the surface detail using a cage mesh would get very annoying luckily now blender has this extrusion and max ray distance value and the distance you're going to put in here is going to depend on the size of your mesh and i'll show you how you can find that out so we're here in edit mode and i'm just going to roll over here to the overlays drop down and at the bottom of the overlays drop down they have this thing to indicate the normal direction i'm going to turn it on for the faces now you can see that all the faces have this line shooting straight out from that face's normal direction now if i go back into this overlay menu and i decrease the size to something like .005 and now if we examine our mesh we want to look for anywhere where these poles might be intersecting with each other or anywhere where they don't exactly match up with the geometry of our high poly mesh if there's no issue then this should be a good distance to set for the extrusion value under selected to active as for the max ray distance i like to set this somewhere from one half to one fifth value of my extrusion and with all that done we should be good to bake so i'm going to go ahead and i'm going to select the high poly version of the upper receiver and the low poly version now remember the low poly version has to be the active object now we can go ahead and we can hit the bake button and now the upper receiver is done and it's baked all the parts for that so we're going to go ahead and we're going to do the lower receiver so i'll select the high poly version of the lower and then the low poly and before we go ahead and click bake uncheck the check box next to clear image so it doesn't clear all the parts that we already baked then you go ahead and hit bake again and like that we have both the upper and lower receiver baked onto our uv grid and you would just keep going for this process until you've baked all the parts of your model now just so you know i may not have the beefiest computer around but there was nearly a two minute lapse when it came to baking each part of my model but now if we go ahead and we hide the high poly mesh you can see that we've successfully baked all the high poly details down to our low poly mesh and this includes our little bits of float geometry next go ahead and make sure you save out your normal map now if we go ahead and we get a little bit of a closer inspection we can see that there's a little bit of an error here on this face and that's because when it shot out a ray directly from this face it must have caught the edge of that little bit of float geometry that we had right here now you can try changing the extrusion distance on the selected to active and see if that helps to get rid of it but this is just a small issue and there's an easy way to take care of this so let's jump over to the texture paint workspace and this is really pretty simple because all we have to do is find the location on our uv grid where this error occurred and then select the smudge tool which is the little finger icon up here and then just lightly smudge it away and of course this is mirrored on both sides of our model so we'll find the other instance on this face and we'll do the same thing and just get rid of this small error and like that there you go it's gone and now we can also go ahead and we can bake out our other texture maps such as a curvature and ambient occlusion map and quixl has already made a very good guide on how to do this in blender however i will say that this baking process simply takes a very long time even with this normal map as i said it was taking me almost two minutes to bake each part now that's kind of a long time and i would highly recommend you check out a small free application called materialize in which you can load in the normal map that you baked in blender and then from that you can generate things such as your ambient occlusion and curvature maps which here is called an edge map now it probably won't give you better results than baking but it sure will be a whole lot faster alright so moving on to baking in substance painter and marmoset tool bag we'll first talk about exporting from blender so here i have my low poly model and if i click on this and i hit f2 you can see that i've named it upper underscore low likewise the lower receiver is lower underscore low and as for the high poly components they're all given the underscore of high doing this allows both softwares to determine which high poly objects are getting baked down onto which low poly objects now i already have a tutorial on my channel on how to set up these naming conventions for exporting to substance painter so i encourage you to go ahead and check that out if you need but to export i'm going to go ahead and select both of my low poly objects i'll hit ctrl s i'll go to export and i prefer to export an obj for baking and in my export options i'll select selection only so it's only doing the objects that we have selected and in geometry apply modifiers and you can check triangulate faces but i already have a triangulate modifier on my objects if you don't have a triangulate modifier then go ahead and hit the box next to triangulate faces and just for organizational purposes go ahead and give it a name probably that also includes the underscore of low and then do the same for your high poly object with the underscore of high so getting started in substance painter will create a new project we'll set it to opengl at a 2k resolution and then we'll select our low poly model file we have that imported go to your texture set settings and scroll down to the button that says bake mesh maps click on that and from here if we go to the high definition meshes we can import our high poly model file set it to a 2k resolution as well and you can uncheck all the other texture sets right now except for normal which is the only thing we're concerned with baking most of the default settings for your normal bake should be good but i would go down to where it says anti-aliasing and crank that up to 8x8 sub sampling and match switch it from always to by mesh name that way it knows to match up the normal baking from each high poly object that has the underscore of high to the correct low poly object which has the underscore of low and like that you are all set to go ahead and hit bake and within about five seconds as opposed to two minutes you have a smooth and crispy looking normal map and like that you're good to go back into your bake mesh map settings and bake out the rest of your texture maps awesome now let's move on to marmoset tool bag okay so in marmoset tool bag go to the toolbar right above the scene tab and you'll see a little bread loaf icon click on that to import a new baker go to the quick loader under geometry and find the location where you have your high and low poly model files select both and import and if you went ahead and properly set up your naming conventions then marmoset will automatically separate each object into their own baking group separated by underscore high and underscore low under the baker settings the h icon toggles visibility for the high poly and the l icon toggles visibility for the low poly under the output tab you have all the settings for your export as well as the maps where you can select all the texture maps that you want to create when you hit bake i'll turn on normal and curvature and ambient occlusion and if i go to configure it'll give me a list of other texture sets that i can choose to export with my bake and with that we're good to go ahead and hit bake and within about 5 to 10 seconds it has baked out our texture maps and exported all the files by your selected texture map exports if you go to the little icon which has a sphere and an arrow you can preview what your texture map looks like you can also hit the p icon at the top of the baker settings to set up a preview material which will allow you to see all your texture maps now this is a really good bake result but marmoset tool bag gives us some other tools that help us make some really nice fine-tuned adjustments for one if you click on one of your low poly baker groups then you can actually see the cage that marmoset set up for us to bake down our details now if this cage doesn't encompass your full high poly mesh then you can just adjust the minimum and max offset distance until it fully encompasses all the details that you want to bake down also if i really nitpick this bake result it looks like there's some slight skewing to this little bevel detail that we put right here and you can see that if you enable the check box next to show skew this will create a bunch of little pole lines on our mesh just like we had in blender that are showing the bait direction of our face normals what's really awesome is that if we hit the paint skew button it will allow us to paint directly on our model a map which will straighten out those little pins and correct any skewed details and once you're done making any small adjustments just go ahead and click bake again to re-export your texture maps all right so we've covered the normal baking workflow across all three programs now let's compare the results so we can see this a little better i'm gonna darken the base color a little bit and i'm gonna make this metallic okay so it's pretty clear that all three programs can provide satisfactory results and right now we're looking at the bake results from blender which are pretty good now this is more than acceptable for a number of video game props however if we do a bit of a closer inspection we might see a number of small artifacts such as these striations or the fact that every edge kind of has this aliased jagged line that is more visible the closer we get also we had some issues before with some of the float geometry being captured on other surfaces and if we get a closer look at some of this float detail that we have it is very aliased and pixely and doesn't look very good the closer that we get to it okay so these are my gripes with baking in blender so at first there's a few small issues such as no anti-aliasing to move out these little big details and you don't have a setting to ignore the back face of objects that we wouldn't have had an issue such as this face capturing some of the float geometry however my biggest complaint about blender is simply the amount of time that it takes like i said baking a normal map for each object took me two minutes and having gone through the process of baking an ambient occlusion and curvature map is just rather unbearable and not a productive means of valuable production time okay so now if we scroll down and we take a look at our substance painter bake results we can see that there are a few noticeable improvements for one we're not getting the jagged alias lines along the edges and we're not getting the aliasing issues for the float details this is all very good however i will say with substance painter i do have a tendency to get things such as this skewed baked detail and these things at least for me can be a little bit difficult to correct i would often have to go back to my low poly geometry and maybe add an extra edge support line that would help to correct the baking angle of that face and then go back to substance painter after re-exporting and bake again and lastly is marmoset tool bag which is nearly identical to the bake we got out of substance painter except we were able to easily correct those small skewed details and that's really the great thing about marmoset tool bag is just how easily and quickly you can correct any minor issues and adjust your base settings now it's pretty clear which software i'm going to say is a win when it comes to both the results and the workflow however the biggest deciding factor for me is really the amount of time spent in blender it can take anywhere from 10 to 20 minutes to make out all the necessary texture maps in substance painter this task might take anywhere from three to five minutes as it can still take a bit of time to bake out an ambient occlusion map however in marmoset tool bag baking out as many texture maps as you need can usually be accomplished in less than 30 seconds alright so i think we have a pretty conclusive winner i hope you found some part of this video useful if you're having any technical issues feel free to leave a comment or jump into discord social media links in the bio like and [Music] subscribe [Music] you
Info
Channel: Tosmo
Views: 6,829
Rating: undefined out of 5
Keywords: Blender 3d, Blender tutorial, Blender 2.9, substance painter, marmoset toolbag, normal baking blender, normal baking software, texture baking, texture baking tutorial, 3d tutorial, blender vs substance painter, best software, 3d texture maps explained, normal map blender, blender workflow, 3d texturing software, marmoset toolbag baking, blender weapon modeling
Id: T38SCw76BDE
Channel Id: undefined
Length: 18min 9sec (1089 seconds)
Published: Thu Jun 03 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.