Sharing: SPBR shader - Substance to Cycles

Hello folks! As discussed in this thread, I have finished my Substance Painter to cycles shader. I know there are a lot of options already out there, but I wanted to offer up a different approach. Rather than trying to create the most physically accurate shader, my goal was to replicate Substance’s Metal-Rough shader as exactly as possible to minimize any surprises between Substance and Cycles.

It’s plug-n-play ready, so all you need to do is plug in the appropriate textures and hit render. Enjoy!

SPBR.blend (4.09 MB)


This shader is awesome. Makes it pretty simple to use with basically any game engine that uses PBR - at least close enough to how it will look in engine. Thanks for the blend!

Thank you. And you are absolutely welcome. Let me know if you ever use it for something. I’d love to see. :slight_smile:

Well I’m guessing there aren’t many Substance users here, but for what it’s worth, I’ve updated the blend file to include a version of the shader that features subsurface scattering. It’s basic for now. With the project I’m currently working on, I needed to integrate SSS in a way that would allow me to easily plug in SSS maps created in Substance. In the below example, I’m using a texture to lessen the scattering for the dirt on the face.


Wow - thank you so much for this. I had tried to make a version of this myself and it kind of worked, but yours does a much better job of matching what I see in Substance Painter, so I’m scrapping mine and replacing it with yours. Thanks for all the work you put into it.

No problem. I’m glad you find it useful.

Thanks , and a nice scene to show how the shader works :eyebrowlift:

You are most welcome. :slight_smile:

cgCody! Awesome work and thank you for sharing. Quick question for you, which template do you use in Substance Painter when importing meshes? I can’t seem to find an answer, especially if one is going to texture organic shapes and not just metal.
pbr-metal-rough
pbr-metal-rough-HQ
or
pbr-spec-gloss?

Any suggestions? Greatly appreciated!

The short answer is metal-rough is what I would use, but It’s really personal preference and you can export metal-rough textures (What my shader expects) with any of the templates.

The templates are just different workflows that achieve the same thing in the end.
The spec-gloss school of thought states that you describe a surface by how much specularity (reflectivity) and glossiness (opposite of roughness) it has. It’s more artistic.
The “metal” in metal-rough is kind of a misnomer. This school of thought is to describe a material by denoting it as a metal or dielectric, and how rough the surface is at the micro level. It’s more scientific.

You’re also going to want to use the OpenGL normal map format, and checkmark Compute tangent space per fragment.