← All ideas
  • Published 22 Jan 2020

Principled Shader - Metalness as checkbox instead of slider

If my understanding of metalness is correct, this is a boolean property, not a value - and to be perfectly honest, my understanding might not be correct, but if it is, then I think it would be more clear to the user to express as such (checkbox) => and thinking a oncheck handler might display a notification about changing IOR for different metals. This would make it easier to know how to use for a new user imo.

0%

Development Status: Archived

Upvote 0 Downvote 4
JeffG
22 Jan 2020

11 Comments

daviddlfon

While metalness typically exists only on or off in the real world, semi-metallic materials also exist in the real world and should be accounted for too.

1
JeffG Author

* @daviddlfon * - hmm, any examples of semi-metallic material? Never heard of one.

EzyPoly

Metal surfaces also presented as dusty in real life). In such situation their metallness lowered..

1
JeffG Author

* @impacman * - I would personally think for dust, that shouldn't be part of a property, but mixed in with a map of some sort (noise texture). My thought is the principled should stay true to pbr rather than try to account for some 'tricks' that would be better integrated via layering mechanisms

EzyPoly

* @JeffG * but how will we mix anything with "boolean" variable ?

JeffG Author

* @impacman * - I mean mixing 2 separate materials with mix shader node.

matt_cooke

it would be nice to have as an additional option in addition to a slot for a map and a slider, but having only a checkbox for metalness would be pretty restrictive for some users.

JeffG Author

* @Matthew Cooke * - thinking in terms of trueness of PBR workflow. If it's physically based, it's either a metal or non-metal (thinking IsMetallic would be better name here to). The reflectivity characteristics for that particular metal should be controlled with IOR.

matt_cooke

* @JeffG * I get it. I personally do not use float values for mealiness, however, in it's current implementation you are able to use 0 or 1 values already, so nothing is broken, it just gives added flexibility for non-physically based materials, if your project needs it, or you can't afford to blend (for example) a separate dust material on top of your metal material. If you are using a games workflow you might want to keep this all as a single material, so in this case, non-bool values would be useful. It seems destructive to take a feature that works as intended already (i.e. give you the 0/1 functionality of a pbr material, plus has added functionality for those who can't afford multiple layered materials, or who want to experiment a bit.

1
JeffG Author

* @Matthew Cooke * - Gotcha, makes sense I guess. I just tend to think of the principled shader as pbr. Maybe my viewpoint isn't really the correct viewpoint tho as I guess principled doesn't have to be pbr

matt_cooke

* @JeffG * I think that it is essentially a 'physically based' shader at it's base, however it offers a little leeway to make special shaders, much like UE4's physically based material system does. Bare in mind, "physically based rendering" is still an approximation. For example, diffuse reflection of light on a surface isn't simply due to roughness, but rather a combination of molecular level sub-surface scattering influenced by a materials molecular structure. in combination with surface roughness (assuming it's a dielectric material). Base color/albedo probably should not allow values lower than 0.04 (charcoal) and higher than 0.95 (snow), and roughness is a fairly arbitrary value; can a surface be perfectly smooth (roughness 0)? and at which point does surface roughness transition from being a shader approximation (roughness 1) to being larger scale geometry undulation? I guess my point is that there isn't really a strict set of rules at to what constitutes PBR right now, other than the fact that the rendering takes into account general laws of physics as an approximation. It more of a rendering concept than anything else. That doesn't mean that we shouldn't strive to make materials more physically correct mind you, but I think that some of the onus is on us as the content creators and artists to make our materials physically correct.

1