I've recently reignited my interest in procedural material creation, so here's some Substance Designer practice! I used a tutorial to help guide me through creating this Broken Tarmac graph, which was a great way to reacquaint myself with a lot of the nodes and overall methods for making practical, tileable materials like this.
Here's a overview of the entire graph. Essentially, I have a "clean" version of the tarmac and the broken, rocky version, and I am blending them together using masks. There are also cracks in the tarmac to add some interest.
The heart of this material is this Stone Generator. It outputs a height mask for clusters of stones based on a set of parameters including size, roundness, height and angle variation, and noise effects. This function was used repeatedly in the above graph to create big, medium, and small stones in the dirt for the broken sections, as well as for the basis of the clean tarmac.
I also wanted to go the extra mile to show this material in a real-time environment, so I added it to an Unreal Engine 5 scene I had already dressed. For practical materials like this, I think it's important to not only be able to make the material, but also show it can actually work in a useful context.
Everything in this scene except the Broken Tarmac material, which is applied to the ground, is a Megascan asset. I was using UE 5.3, so I was experimenting with using a Nanite mesh with displacement done through the material to apply the height. I think this is still a fairly new feature, so it's not perfect yet, but even without the height, I think this material would still be quite practical, especially with some vertex painting.
I know I'm just scratching the surface, but I'm so excited to continue playing in Designer to see what I can do! I'm finding it to be a lovely blend of art and technical problem-solving that really scratches that itch for me.