Smart Materials inside Substance Designer

Smart Materials inside Substance Designer

Before we go any further,

What are Smart Materials in Substance Painter?

Smart Materials in Substance Painter are pre-packaged materials that can be used to quickly and easily texture 3D models. However, to add more modularity to your material library, you can use Substance Designer to author your own materials, which can be augmented with special nodes. By exposing the parameters of your materials in Designer, you can export them as SBAR files and import them back into Painter, making them specific to a single asset.

Authoring materials from scratch can be a daunting task. Not only that, it’s tempting to just rely on the pre-packaged smart materials that ship with software like Substance Painter and Quixel Mixer. Substance Designer is a powerful material authoring software and it comes with nodes that can help us author our very own materials.  Not only that, it’s possible to augment those materials with special nodes in order to add more modularity to your material library. 

Find the Substance Designer Tutorial here!

What is a smart material?

Before jumping into Substance Designer, it’s important to understand what exactly is a smart material? A smart material is a stack of materials with different procedural effects being driven by the maps that you bake from your mesh. 

While it’s way more convenient and much faster to just stack materials up inside Painter, the problem with that approach is that smart materials inside Painter are saved in the .spsm format. That means you can only open these smart materials inside Painter. So if you wanted to modify certain parameters like the color or the roughness of the asset, you would either open the project file and modify the effects in the layers yourself or if you don’t have the actual project file, you would need to manually modify the map inside an image editing software like Photoshop or Krita. 

#1. Creating the material

  1. Open Substance Designer.
  1. Click on “Add a new Substance”


Creating the material


  1. Click on “Painter filter (specific w/ additional maps)”.
Painter filter (specific w/ additional maps)


The default scene will be missing a normal map output, in order to add one in, all you need to do is this:

  1. Press the spacebar to open up the search bar.
  1. Type in “output” and click on the “output” node.


click on the “output” node


  1. Set the identifier name to “normal”.
Set the identifier name to “normal”


  1. Set the label as “Normal”.
Set the label as “Normal”


  1. Type in “Material” under Group.
Type in “Material” under Group


  1. Set the usage type to normal.
Set the usage type to normal


#2. Adding to the material

  1. Add a base material.
base material


  1. Blend them both by using the material blend mode.
Blend them both by using the material blend mode


  1. Add a grunge map 0-2 mode.
grunge map 0-2 mode


  1. Use the levels node to crank up the contrast.
levels node


  1. Connect it to a slope blurred grayscale node.
slope blurred grayscale node


  1. Add a dirt 1 node and set the opacity to 0.5.
dirt 1 node and set the opacity to 0.5


  1. Add in a histogram scan node.
histogram scan node


#3. Importing Maps

  1. Import the chair asset from the 3DBee asset library.
chair asset from the 3DBee asset library


  1. Choose ambient occlusion and do a quick bake.
ambient occlusion


quick bake


  1. Add it in and add a levels node and invert the values.
invert the values


  1. Blend the inverted ao map with a rust mask then set that to multiply to add some variation.
Blend the inverted ao map with a rust mask


In order to switch between using our bait map or regular mask, we can use a switch grayscale node.

switch grayscale node


  1. Plug-in the baked map into true and the regular map into false.
baked map into true and the regular map into false


What this means is that if this is set to true we’ll be using your ao map to derive the effect. If false, we’ll be using the regular mask.

#4. Exposing Parameters

  1. Go up to any parameter in designer and click on expose (give its identifier a name).
Exposing Parameters


  1. You can label the parameters as well so it’s easier to read them.
label the parameters


  1. Connect the Ambient Occlusion (AO) Node and replace the baked map we used to test this material.
Connect the Ambient Occlusion (AO) Node


  1. We can now export as an SBAR File and import it inside Painter.

#5. Examples of Possible Uses for this method

  1. Import this material just like any other material then drag it into the layers tab.
drag it into the layers tab


  1. You’ll notice that it says it’s missing an Ambient Occlusion (AO) map at the bottom. All you need to do is bake our AO Map and it will automatically be plugged in with the material.
Ambient Occlusion (AO)
bake our AO Map


plugged in with the material


  1. Set the Use Mask parameter to true, and there’s our occluded rust.
Use Mask parameter to true, and there’s our occluded rust


  1. If you just want the smart material to be specific for a single asset, you can just leave behind the maps you baked for your mesh and export that material. Now when you import the mesh and material inside Substance Player, all the parameters you have will be specific for that asset.
maps you baked for your mesh and export that material


And that’s about it! To find more Substance 3d tutorials, check out GarageFarm Academy on Youtube!

Related Posts

No items found.
No items found.
live chat