So this was fun. For those who have been working in Substance Designer, you’re well aware of the fact that anything can be done 1000 different ways. That’s a good thing in the long run, but a pain in the butt for those starting out. In this exercise, my goal was to just get a plain ol’ concrete. You’d think you might start out with a noise, adjust it, render a normal, then go back and start adding different effects. I’ve found that workflow can be painful and I believe it’s important to work modularly in Substance Designer.
Initially I was getting frustrated when I couldn’t get the look I wanted because I would chuck down some nodes, adjust some scalars, and essentially sprint to the output nodes. Then I’d stare and think, “Welp, this sucks but what now?”
My advice is to get your reference imagery out (you have some, right?) and really isolate the color and bumps on a particular surface. I’m not talking about the larger, physical separations of materials like the crevices between wood planks or the difference between the brick and the grout. Focus instead on just one material as if it occupied the entirety of the surface. Imagine if the surface character of a hardwood floor plank completely covered your floor without the plank divisions. What is left is perhaps where one should begin with Substance Designer.
I did that here. I just wanted to make a concrete, but concrete has some various bumps, knicks, and scrapes of varying scale. I picked a couple bump and scrape styles and made them atomic nodes; a collection of nodes that are then combined into one with parameters that control how the result looks. One node was, “Small Bumps.” Another was, “Rough Peaks.” Another one was “Hard Damage.” It was almost like these were part of a Photoshop Brush set; you use them when you need them. I could adjust their coverage, strength, invert them..
Creating an atomic node for a base albedo helped too. I would bring in several reference images of concretes of varying color. I created an atomic node that consisted of 18 custom gradients generated from those images. Plus in any noise pattern and it would get a gradient of your choice. An HSL node was at the end of the chain allowed even more control.
Once you have that surface setup, then go back and add in the divisions:
I did a quick concrete just like the other but with a color change. I also added (well, multiplied and subtracted) a custom voronoi crack pattern which, admittedly, needs a bit more distortion to eliminate the mathematical look. And once you have that, then go and blend between two different materials (brick to grout, sand to metal, bark to dirt, etc)!
Wrapping up nodes into an atomic node not only keeps your graph tidy, but gets you thinking modularly. Once a library is built up, you’ll crank out some really nice substances in no time flat.