Sewer Drain - Substance

100% made in Substance Designer! Rendered in Marmoset Toolbag 3! Some screen-shots of the graph included with brief explanations. Made for the polycount substance challenge. Feel free to ask for additional screen-shots of the graph if you're wondering how I did something!

Daniel swing sewerdrain 1
Daniel swing sewerdrain 2
Daniel swing sewerdrain 10
Daniel swing sewerdrain 4
Daniel swing sewerdrain 5
Daniel swing sewerdrain 6
Daniel swing sewerdrain 7
Daniel swing sewerdrain 8
Daniel swing sewerdrain 9
Daniel swing sewerdrain 3
Daniel swing sewerdrain 11
Daniel swing sewerdraintutorial

Spaghetti! This is the full graph!
I've tried to re-use as much as possible, hence the spawn of ungoliant's nest!

Daniel swing sewerdraintutorial10

UPDATE: I was asked about how I avoid edge-banding artifacts at sharp edges/differences in the height-map. The simple answer is that I avoid 90 degree angles by slightly blurring the height-map before I start adding the fine details.

Daniel swing sewerdraintutorial3

I use the 'Cartesian To Polar' node to create most circular patterns. The Transform node gets an input of a white brick and is set to only tile horizontally.

Daniel swing sewerdraintutorial6

This is the height-map alpha of all the buildings. All is generated in Substance Designer, and this is what took most of my time on this piece.

Daniel swing sewerdraintutorial5

This is basically how I made each and everyone of the buildings.

Daniel swing sewerdraintutorial8

A lot of the geometry in the buildings are symmetrical, mirroring saved me a lot of time!

Daniel swing sewerdraintutorial2

How I warped the flags.

Daniel swing sewerdraintutorial7

This is how I masked out the rust and dirt. One noise is to subtract from the curvature and one is to add general noise beyond the curvature. It's important to transform the noise when used multiple times so that it doesn't overlap!

Daniel swing sewerdraintutorial9

This is how I generate the basic color. I use the 'Emboss' node with 'Gray-scale Conversion' in both inputs and overlay the result in the height-map as micro-surface noise.