How to export models from Zbrush to Substance Painter

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey this is Wes in this video we're going to take a look at how to export models from zbrush for use in substance painter I'm going to show three options which showcase three different workflows that I like to use for exporting my content from zbrush to substance painter so let's jump in and take a look here I have my helmet object that I created in zbrush and this model is made up of multiple sub tools now one of the key components to understand about exporting an fbx from zbrush is that a material is going to be applied to each one of these subtools and what that means when I import that fbx into painter is that all of these subtools are going to be broken into materials or Texture sets now we can use this to our advantage by organizing our sub tools to represent the materials that we want to work with once we're inside substance painter the first option I want to walk through is organizing my sub tools to represent the materials that I'm going to be working with in substance painter so I have several sub tools here I'm going to start to merge these subtools down so that I have only three tools so I'm just going to use the merge down functionality and you can see I'm just walking through my subtools here and just merging everything down and now I have my three sub tools which will become texture sets once we get over into substance painter now I use the Z Model brush to create this asset so I'm working with my subdivision or I have Dynamic subdivision enabled that you can see here so the next step here is I'm going to go ahead and set the subdivision level and I'm going to bake that into the geometry so in this video I'm not going to be covering baking a normal map from a low to high res mesh inside of substance painter that would actually take an entire video in and of itself so that's something I can showcase at a later date but for now what I'm going to do is just bake down this subdivision level right here into the geometry so I'll do so by just coming over and just for you know demonstration's sake I'm going to set this to a rather low so this is like a medium level mesh and so it's set to the number one smoothing level and then we'll hit apply let's come over to our next sub tool I'm going to set this to a value of one and click apply and then my last sub tool same song and dance subdivision one and hit apply okay so now we have our three sub tools I've baked down my subdivision levels each one of these subtools has a set of poly groups that are associated with it and I'm going to use these polygroups to create an ID mask for use in any masking operations that I want to do inside of substance painter so what I need to do is I need to take this polygroup and I need to convert that into a poly paint which is essentially vertex color I can do that pretty quickly here in zbrush so I'm just going to use the command poly paint from polygroups so I will select the tool and then just run the option here so poly paint from poly groups and let's do that one more time and there we go we now have my poly paint information I need so now that I have merged my tools I've set my subdivision level and I have baked down my poly paint information I can now go through the step of setting a scale or a scene scale for this object and the reason I want to do that it's not really needed but the reason I like to do it is because I like to work with physical size with my substance materials and the physical size scale option within substance painter so so what we're going to do next is jump over to our Z plugins and I like to use scale master so here I'm just going to select one of my tools my helmet since that's the biggest tool and I'm going to click on new bounding box subtool and that is going to create for me a bounding box that encompasses the entire scene that I have now that I have that in place and I want to make sure I have this sub tool selected because the scale or the size that you set is dependent on the subtool and this bounding box encompasses everything so this is going to be perfect so I have the sub tool selected we're going to click on set scene scale and then here I'm presented with several options so what I want to do now is just pick the option that best relates to the scale of this object and I want to make sure that I stay inside of metrics so what I'm going to do is just use centimeter here and I can see that I have one value here that's going to give me 25.4 centimeter on the Y and I know that when I created this object that was roughly the size that I wanted it to be so this is going to work out great so we'll click this option here now if you don't see an option here that matches the mesh scale in any way what you can do is just pick anything just as long as it's close to the actual unit you want for example I'm working in centimeter and just click whatever it is and then when you come over to this option for your X Y and Z axes you can enter the specific value you want in one of these axes to uniform scale and now just to make sure everything is scaled correctly I'm going to resize my subtool and I'm going to just make sure that this all option is enabled so it will just resize all my tools so let's click on resize subtool and you can see it's going through the process and it's done that in my scene I no longer need the bounding box subtool so let's delete that guy and here we go we have everything in place let's turn off transparency and then I can come back here to my set scene scale and now I can get an idea of what this new generic unit size is so for example let's come over to the helmet and set my scene scale it's giving me this generic readout and in my why it's 254. this generic unit is is really approximately close to millimeters so I can tell that this is correct so I know this is going to work now something else I can do is I have centimeter selected and I can click on sliders to sub tool size and you can see that that's just going to give me that readout if I click on millimeter and then I click on Slide to subtool size there is where we're getting that 254 like I said that generic unit is more close to a millimeter all right let me jump back here to my centimeters and now all I need to do is just export out this geometry there's lots of ways that we could do that from zbrush I'm using zbrush 2022 so what I'm going to do is just export to unit scale and I want to make sure that my unit scale is set to centimeter so we'll click on export to unit scale and I'm going to select helmet and make sure that my save as type is set to fbx and then click save and here is where I can go through and just set all the options that I want so pretty much I want to make sure that I'm going to export all I use Maya y up make sure that smoothing normals is enabled here and then you have a couple options at the bottom so you have this export smoothing levels which can be pretty good so earlier I went on ahead and just froze or baked down my subdivision levels but I could just enable this option here now the reason I'm not doing that is because I have found that after I set my scale and then if I make a change like merge my sub tool free subdivision or even create my poly paint from polygroups it tends to mess up the scale internally somehow so I usually do those operations in my file and then the scale is set for the absolute last thing before I export and then I do not need to worry about this exporting smoothing levels now you also have this option which is pretty helpful called export polygroups as materials so another way that we could work is we could have you know a single sub tool and we could organize our material scene based on our polygroups and I used to use this option a lot but you know lately I haven't been using it at all I kind of just preferred to to work this way where I'm managing my scene based on my sub tools and then just setting my poly paint from polygroups so that I can just bake that as a Vertex color inside of a substance painter that's why I'm not using any of these two options but they're there in case you needed them okay everything's set let's just export and now zbrush is going to export this out to an fbx that I can take right into substance painter here I have substance painter open and let's import that object that I just exported from zbrush so for my file I'm going to select my helmet document resolution I'll start that at 2048 I'm not going to be using the UV tile settings in this particular instance so let's just jump right down to the auto unwrap so I need to create UVS to work in painter and I'm going to let painter handle all of that work for me auto unwrap is enabled let's hit the options here and you can see there's options for my seams UVS and packing and there's two options we have generate only missing data or recompute all so I'm going to switch this to recompute all for the margin size I'll leave it at default and then here for the orientation we have two options you have a line with 3D mesh and then you have unconstrained unconstrained is good for more organic type meshes and it's a bit more optimized when it comes to actually packing the UVS whereas a line with 3D mesh is better for hard surface objects but it's not as optimized when it comes to packing the UVS here for this particular object I'm going to leave this at a line with 3D mesh now I'm going to make sure that I have my optimization settings enabled for avoid elongated UVS and create fewer seams now if we take a look at my physical size we can leave this at the default State here for the meshes file size because again we did that scaling inside of zbrush however you do have this option which I think is really cool if you need to set some type of custom unit scale for example if we want to set a specific ratio for a generic unit to something and say centimeters so this is all set up let's click OK and let's let substance painter create our mesh and unwrap our UVs now you can see the helmet has been loaded into substance painter and for the texture set list we have our three texture sets which correlate to those three sub tools that we had been working with in zbrush let's take a quick peek at the UVS so here we can see the UVS for the helmet the the strap holder and rings have all been created for me thanks to substance painter so now I'll jump back to my texture set settings and let's quickly bake a few mesh Maps so I'm going to set my output size to 2048 and I'm just going to be baking my world space ID ambient occlusion curvature and also my bent normals and position okay so with these enabled I do just need to make one tweak here to the ID now for the color Source we're going to click this drop down and choose vertex color when we created our poly paint from polygroups in zbrush we essentially just added vertex color data and substance painter will bake that to an ID map with our color Source set to vertex color so I want to apply this setting to all of my texture sets so I click apply to all and let's just bake the selected texture sets now painter's going to go through this baking process and here you'll be able to see the final result once this is finished the baking has finished let's click OK and here is the bake really quick I'm going to jump over here to my Shader settings and I'm going to enable that bent normal gives me a better quality result here in my viewport and let's take a look at how we can now apply a material based on that ID mask so I'm going to apply a material here just to the helmet and I'm going to use one of these default just materials that ship with painter just for demonstration purposes so now that I have my ID I can hold down the control key left click and drag and you'll see now I can actually drag this material onto any of the IDS that started from those initial polygroups that I set inside a zbrush so I'm going to place this material onto the helmet itself and now I have that material applied here we have a mask and that mask was generated from my ID mask and because we set up our physical scale what I can do is jump over here to my projection set this to try planar and for the scale option let's set it to physical size and I know that the physical size setting of that material is going to be set appropriately to the physical size of my actual object in this second option I'm going to Showcase using a single sub tool and then using udems or UV tiles within substance painter so what I'll do really quick is just jump over here to my Z plugins and I'm going to come over to subtool master and I'm going to use merge here I'm going to make sure that I preserve existing polygroups and I'm just going to go ahead and delete my extra sub tools click OK and so here we have a single sub tool just as before I'm going to enable my Dynamic subdivision and set this to a smoothing level of one and click apply so that'll give me my base subdivision baked in and also you can see that I have my polygroups here and I need to convert that to poly paint so here I'll use that same option poly paint from poly groups and once again I'm going to pop over to scale Master let's create a new bounding box tool here and we are going to set our scene scale it should all be pretty much the same so we're going to go with that same 25.4 centimeter and then I'm going to resize all of my subtools okay that is set we'll hit delete and now I'm ready to export so I'm going to make sure that I'm exporting here with my centimeter units export to unit scale and I'm just going to overwrite that helmet fbx we're going to export all make sure smooth normals is enabled Maya y up and leave the other options off and click ok so now we're zbrush is going to export this fbx and once again we'll take that into substance painter and I'll show you how to set this up so that we can use a UV tile workflow so once again here we are in substance painter and I'm going to grab that helmet fbx let's set our document resolution to 2048. now in this case I am going to enable use UV tile workflow and I'm going to use the option here preserve UV tile layout per material now what I'm going to do is come over here to my auto unwrap which is already enabled and we'll click options and now that we're using UV tiles we have this really cool option here which is allows us to set the number of UV tiles so not only will substance pager unwrap our mesh but we'll also pack our UVS into tiles this is really a great option for optimizing our meshes as well as increasing our textile density I actually really prefer using this workflow or this option the most okay so I'm just going to leave everything as is Click OK and let's click OK once more and now substance painter is going to go through the process create my UV tiles and unwrap the mesh the helmet's been loaded in here to substance painter and I have one single texture set that I'm going to be working with now the name of the texture set is being derived from the name of the sub tool inside a zbrush so of course you can always rename that and here underneath of that texture set you can see that I have my six UV tiles let's take a look at the UVS and here we can see the actual layout everything is looking pretty good and I'm happy with these results so now if we want we can come over here to our texture set settings and I can bake my mesh Maps so I'm going to go ahead and set this up just as I did before and for that ID my color Source I want to make sure that I set that to vertex color and now I'm going to bake my selected sets substance painter is going to go through and you can see that it's baking across all of the udem tiles okay so that process is finished and I am going to jump over here to my Shader settings enable my event normal let's take an example material I'm just going to use that aluminum once again and I can hold down control left click and drag and just as before you can see that my ID map which is derived from those polygroups is now available for me just to drag and drop my material so here we'll drag and drop it onto the helmet and now we have one single layer stack we have our mask let me jump over here to the actual projection settings set this to try planar and set it to physical size everything is set up and working just as it was previously however this time we're working with a single texture set we're working with UV tiles and once again we're using that ID map to generate the masking that we're going to be using here in substance painter in this third option we're going to look at exporting an obj file with a single material and multiple sub tools to save time I've already applied the subdivision levels to each one of these sub tools now in this case I am not going to be working with my poly paint information but the main issue being that when I export the poly paint information is not supported however because I have these separated sub tools I'm going to use the geometry masking feature inside of substance painter to do the masking work for me so in this case I would organize or break up my mesh into multiple subtools so that I can easily mask layers as well as hide mesh parts once I'm inside a substance painter I've also already set up the scene scale using scale Master as I showed in previous sections of this video so for the export I am going to come over here to the 3D print Hub this is going to allow me to export the obj file that's going to work with a single material and multiple sub tools so what I'm going to do is click this update size ratio and I'm presented with an option for millimeters or inches like I said I already set up my scaling so my millimeters is set correctly and that's going to convert to 10 inches on the Y which is the exact size of this helmet however I want to make sure that I stay in millimeter because substance painter's working in centimeter and when I set my conversion for my physical size I'm going to be able to easily convert from millimeter to centimeter so let's click this millimeter option and I can see that my size ratios are updated here which is good now I'm going to come over to my bounding box options and make sure that I uncheck or disable move bounding access to origin I don't need that and you'll notice here that I have my export options poly paint is enabled but zbrush does let me know that the exporting of these colors is not supported in the obj file format okay so other than that we're good to go I can export my obj and I'm just going to overwrite this one that I've saved previously yes okay and now zbrush is exporting this obj file for me to use once we get inside a substance painter so once again we're back in substance painter I'm going to select the helmet we have our document resolution set to 2048 in this case I do want to use my UV tile workflow and that is because I'm going to have a single material and if I do that unwrap for the helmet with a single material it's going to pack all the UVS into that one single zero to one space for that material and that will end up giving me a pretty low textile density so if I use the UV tile workflow the parts of the helmet are going to be much more optimized because I'm going to be using separate UV tiles and I'll have a lot better quality because of the higher textile density so yes use UV tile workflow for the auto unwrap let's look at our options once again I'm just going to leave all of this at default same as what we covered in the previous section we'll click ok now here's where I'm going to make a change for my physical size because I know that this is using that generic unit from zbrush which is pretty much a millimeter so I'm going to set a custom scale in this case and it's one unit is going to equal 0.1 centimeters and I click OK substance painter is now creating my project it's going to go through that process of unwrapping and creating my UV tiles so once again I have the helmet loaded here in substance painter I've gone ahead and created all of the bakes that I need minus that ID map because we're not going to be working with that so I'll bring your attention here to the texture set list we now have one single material that's coming from that obj file and I also have my six UV tiles that I indicated in the unwrap options so now let's take a look at just applying a demo material I'm going to use that aluminum once again we'll just drag and drop that here to my layer stack so for the masking here like I had mentioned I want to use the geometry mask so that's an option here on the layer I'm going to click my geometry mask and then if I open up my properties you can see here that I have a mass type and I can mask based on the UV tiles but if I click this drop down I also have mesh names now you'll see that I have all of these individual sub tools as mesh name parts here inside a substance painter this is really cool now the only now the downside is it doesn't retain the sub tool name it's just these generic IDs that's showing up but no problem I can always just Mouse over things and apply what I want so here I'll hold down the control key left click and drag we'll just unmask everything and then I'll single click here on the helmet and you can see that quickly masks based on this mesh part that I had created as a sub tool inside of zbrush I have these actual snaps here I could have broken those out as well as the rim around the helmet itself I could have broken those down into additional sub tools but for the most part you can see how this masking operation is working pretty well so once this is set I can come out of the geometry mask let's go back to our properties again I'll go into try planar projection and set this to physical size and here you can see that physical size setting is working just as it was in previous sections of this video now because we are working with the geometry mask it's also pretty cool that I can use this option here at the top which is it allows me to hide or ignore excluded geometry so if I click this button you can see that I can now quickly hide all of the other Mass parts that are inside the geometry mask which is the mesh parts that are hidden or excluded will say and this gives me a really cool option to be able to come into here and either paint or work with this layer and I can hide and unhide just different pieces of geometry that's another benefit of being able to work with the geometry mask so that's going to close out this video I hope you found these techniques useful it really comes down to how you want to work with your scene inside a substance painter do you want to work with a single material or multiple materials do you want to be able to use multiple sub tools you can generate IDs from poly paint also do you want to work with UVS or UVS with udem tiles hopefully this video gives you the information you need to decide what works best for your project thanks a lot for watching and I'll see you next time
Info
Channel: Wes McDermott
Views: 21,577
Rating: undefined out of 5
Keywords: 3d, UDIM, UVs, adobe, autoUVs, materials, scale master, substance3d, substancepainter, subtools, zbrush
Id: KbP7Pp2UeR4
Channel Id: undefined
Length: 22min 49sec (1369 seconds)
Published: Tue Jan 03 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.