Sketchfab Forum

Metalness AND Specular pbr materials in one scene


(Klaasnienhuis) #1

When editing a scene manually you can set a pbr material to either specular or metalness. All materials in a single scene use the same type. If you switch one material from specular to metalness all materials will switch with it.

When editing a scene through the viewer API it's possible to use both material schemes in the same scene. This is great because some materials look better in metalness and others in specular.

I'm wondering if this is a loophole which will be closed soon or if this is allowed. My scenes look a lot better when having both material types in the same scene.


(Mauricesvay) #2

Hi @klaasnienhuis ,

in the editor, we only support one kind of PBR workflow because PBR artists usually don't mix both workflows, and tools tend to output only one kind of PBR maps.
We currently don't enforce this at the API level, only at the UI level, but this might change in the future.

Mixing both workflows is not officially supported and consequently not recommended.

(Stephomi) #3

Just wanted to add a few things.

With the API you can have loop-hole per material. We have some specific rules that the API can break.
The 2 workflows are exclusive so:
- Metalness: metalness, albedo and F0 should be enabled (so specular and diffuse should be disabled)
- Specular: specular and diffuse should be enabled (metalness, albedo and F0 should be disabled)

Currently, there's nothing that enforces these rules, but it's important to follow them.

Note : our UI says BaseColor for the albedoPBR channel and albedo for the diffusePBR channel :smiling_imp:.

(Klaasnienhuis) #4

Thanks @mauricesvay and @stephomi for the responses.

At the moment I'm making sure I enable and disable the right channels for Metalness and Specular shaders so that's covered.

My current project involves jewelry with gems, such as a gold ring with a ruby gem. I'm making the gold material with the Metalness shader but I've noticed the gems come out a lot better when using the Specular shader.

I'm not very experienced with PBR and just make my shaders based on what I see. But the Metalness and Specular shaders are very different right? Or is it possible by setting the right values to make a Metalness shader look exactly the same as a Specular shader? Similar to the correlation between roughness and glossiness for instance.

(Stephomi) #5

Normally, with the SpecularF0 channel, you should be able to have the exact same output with both workflow, as long as you stay "phyiscally plausible".

If you have time I suggest you the reading of (the allego practical pbr guide 2)

Ahhhh no :smile: , PBR workflow should be driven by (physically correct) data, that's one of its main advantage (that way the model can look good/correct depending of every lighting situation, etc.

I suggest you to keep using the metalness workflow, once you figure that the metal channel is only a mask that basically say (metal/non metal), this workflow turns out very intuitive.

If you have a sketchfab example of the gem, it'd be great. Maybe gems is one of those case where our PBR shader is kind of a hack (transparency+inter-reflection, etc...)

(Klaasnienhuis) #6

Thanks for the link. I'll read up on that.

The gems are definitely a hack. I have to fake the refractions, so physically correct is out of the question I'm afraid. I'll message you a sample of a gem.