Random material generator experiment

During my efforts to set up kind of a hybrid between a PBR system and the additional controls found in Rendermans layered material system, I wanted to see if I could feed random data into it and see if it looked plausible. Material consists of three shader groups:

  • Base which is the pure PBR approach except using anisotropic rather than glossy (with extra controls for anisotropy, rotation, and tangent for UV control) but I may split it up later.
  • Coat which acts as a topcoat, but adds the tinting from Disney on F-0 (edge still white).
  • Sheen which is based on a velvet, but adds the tinting from Disney.
    First test failed due to error in my random generator.

Second test, I think it worked out quite well, although a regular noise as bumpmap became boring:



Third test, changed the seed and made myself a node group which randomly select between image based maps:


Forth test, where I just wanted to see if the random generator worked, and how far I could push it:


I think it came out pretty nicely. What do you think?

1 Like

Btw, the random outputs are guided. I.e. there is a very low chance for a material ending up 50% metallic, as the guidelines say (either very close to fully dielectric or very close to fully metallic). Similarly with tinting; they are guided towards the low end, although I do allow lots of tinting if the output dictates it, as this is more of an artistic touch (maybe it tries to simulate layer bouncing or something, I don’t know). I don’t allow tinting for the Base specular though, except for metals of course.

One difference from PBR I have is that for metallics minimum F-0 is 50% (with slider all the way down). This allows all entries to remain within reason (except maybe for color), and if you plug in conductive tint to albedo (in a more controlled manual setup) F-0 should of course be maxed.

cool realy

one idea - can u make it for some stone or rock material for generating random relief o meshes

Each instance of stone would have each own random number assigned to it, so yes. You would if course have to setup the material so that it uses random parameters based on the material type you want to vary. I.e. metallic would always be zero, colors within acceptable variation, no coat or sheen shaders used, and avoiding the lower end of the roughness scale. The one I have here is completely free to do whatever it wants, with some guided values (but not trying to simulate a specific material).