Skip to main content
Participant
December 26, 2024
Answered

How to make a material from maps?

  • December 26, 2024
  • 1 reply
  • 2090 views

Hey guys, have mercy on me. I enjoy making models and using Substance Painter, but I don't make materials/textures. I went to Free PBR and got all their texture sets, but it's a folder with a bunch of maps. I want to convert them to a material for ease (a .SBSAR file?). I have a free trial of Designer and permanent Substance Painter. Is there anyway to do this? Thanks in advance everyone! 

Correct answer davescm

Hi

In Designer start a new graph using the PBR metallic roughness template.

Import your texture maps (right click on the package in the Explorer panel and choose Import > Bitmap) and then drag them, from the Explorer panel, onto the graph as bitmap nodes

Connect each to the relevant output node (disconnect and delete and default nodes that are plugged into the outputs.

If you have an AO map use it, if not you could try a Height Based Ambient Occlusion node to create one from the height map (as I've done in the example)

Once done you can save the graph as an SBS file, then publish it as an SBSAR material.

 

 

You can of course add additional nodes and parameters to control the look of the material, but the simple example here should get you started.

Dave

1 reply

davescm
Community Expert
Community Expert
December 28, 2024

What maps do you have, for each material?

Dave

Participant
December 28, 2024

A normal map, albedo map, roughness map, metallic map, ambient occlusion map, and sometimes a height map. 

Participant
January 9, 2025

You're not doing anything wrong.

 

A height map is interpreted by the shader and can be used in various ways. For example it can be used as a bump map which simulates surface height in a similar way to a normal map, but only simulating movement into and away from the surface. It can also be used as a displacement map which introduces 'real' height on the surface but of course requires the model surface to be subdivided into smaller units and a scale introduced to set how far that movement will be. That is what the tessalation and scale controls on the default shader in Substance Designer do. So, if your height map drives those then it is working, the shader does reset when you close Designer.

 

When you export the material and use the sbsar in another application then the shader in that application will use the height map according it's own settings. For example Substance Painter by default, will export a normal map that combines the height and normal maps together (this can be overridden depending on where you are going next in your workflow).
It is possible to create a modified shader parameter definition but it requires you use some scripting and APIs to create a gslfx file https://helpx.adobe.com/substance-3d-designer/interface/3d-view/glslfx-shaders.html

You may wish to do this, or just test it as you are doing and then make sure the shader in the next application in your worksflow is set to use the height map as you want it used.

 

Dave


Thank you so much for the help! I fixed it! I'll make sure to check the shader I'm using for my project, but at least in Substance Painter it's working now. It just needed me to up the scale in the Displacement and Tesselation part of the shader settings. I should be all set now, thank you again for your time and help!