Quick-Tut - Blender to Substance Painter, One material maps with color masking

EC3DEC3D Posts: 131

So, I've just answered in detail a question posed to me by one of my Deviant Art friends. The following information may be very simple and well known to a large number of artists here. Surely there are artists who might point out something that could streamline the process. With that little disclaimer out of the way,  I will post the excerpt from my conversation on DA. Hopefully it will help some using blender and substance workflow.

____________________________________________________________________________

 

Okay, so.. you can import into substance with as many materials as you like. But keep in mind if you are texturing on a material, you can only paint on one material at a time. sometimes that is preferrable, usually in hard surface modelling. It becomes easier separate that way to texture say a metallic vs dielectric surfaces.   For surfaces that you would like to be able to stroke a brush across the entire thing, you want one material, and a color mask to separate surfaces.  

So for example and easy way to do that in blender to substance:   Create separate materials for each different surface you want on the mesh, and assign them to the proper faces. Then go into vertex groups (in face select mode) and create a group for each material, with good names you can understand later.  So deselect all, go to material 1 , select in edit mode, go back to group, assign. Create new group, deselect all, then go back to material 2, and select, then back to group and assign... and repeat however many times... Now when exporting it is important to  select a few things. I'll cover OBJ. Make sure "keep vertex order" and "polygroups" are checked.

One more thing to keep in mind... If you have modeled with overlapping UVs, select in edit mode the faces that correspond to only one set of UVs, then invert selection and cull the rest before exporting to substance. Substance vomits when you have overlapping uvs, because it relies on world position to compute its material. Like if you have a sphere you unwrapped into two halves and you apply one tiled texture material to it.. substance uses the world position of the model to attempt to seamlessly tile across the uv islands, so if its duplicated all over the place it ends up a patchy mess. To this purpose I always duplicate my model parts, explode them out in isolation from the rest, and cull the overlaps then export that as a texturing model.

https://gyazo.com/c9f060428312550408689ee8aef064ba


Next, in Substance.  Load your OBJ file. For rendering in daz you want OpenGL normals. I think for blender too I can't remember.  In the "texture set settings" pane  you will select "Bake Mesh Maps" (Note: If you have any custom normal maps that you already made, such as in Xnormal or Knald, you would add  them under the normal tab for each material before you hit Bake Mesh Maps. So File-> import resources -> browse to your map, and select it and import  as a texture (not basematerial or alpha or anything else, and your preference but I usually just import to the project not the shelf because it gets clunky with a massive shelf over time) -> In texture set settings under normal map you can click there and use the search bar if necessary to find your newly imported normal map. Now when you bake your additional mesh maps, your normal map will be applied to the curvature and AO which will come in handy masking grunge and cavity details.

https://gyazo.com/c09f1ba2a8317ea6e37230e73bfba7e1

Back on track... to separate the different materials in a non destructive way, when you hit bake mesh maps you click on the ID pane. Change mesh source to "Mesh ID / Polygroup"  and the color generator to random. I say random because it's easier to tell between the different surfaces than minute color shifts at least to my eyes.

https://gyazo.com/78ece26e9169f6be2d58fe039b34c528

Then the ID Map will be created by substance when the baking operation is complete.  

Last you want to create color masks in your layers. In this way Substance works similar to gimp and photoshop. Add a fill layer for each different surface and label them. Then right click on the layer and add mask with color selection. Then use the color picker and click on the mesh. If you have oddly placed spots left out you may need to ramp up the tolerance slider, or make sure your polygroups are set.

https://gyazo.com/32185bb93a7c56248ceb6e5a4ed2d3f2

This is also an amazing way of keeping texture maps and memory down to a minimum for rendering or packaging.

Hope this was instructive. :) Good luck.

Comments

  • EC3DEC3D Posts: 131

    I forgot something. If you make folders with a color mask in the layers for each material, rather than just a fill layer, it should be easier to make use of smart materials. The folder mask can be prioritized over any underlying masks.

     

Sign In or Register to comment.