Procedural Fabric Suite
A parametric Substance Designer graph family covering weave, lace, guipure, embroidery and wear.

One graph family that produces plaid, plain weave, lace and embroidered variants from shared thread primitives, with age and tear passes layered on top. It became the backbone of the texturing masterclass.
The brief came from a recurring annoyance rather than a client. A scanned fabric photograph is a snapshot of one piece of cloth, at one scale, under one light — and the moment the request is the same weave in a different colourway, a tighter thread count, or a worn-out variant of the jacket that already shipped, the scan is worthless and the work starts again. Cloth is one of the most rule-driven surfaces there is: warp and weft, a repeat, a thread profile and a little irregularity. That is a graph, not an image.
The constraint was that everything had to come off shared primitives. A suite where the plaid and the lace are two unrelated graphs is two graphs to maintain and two places for the thread scale to drift apart. So there is one thread generator underneath all of it — profile, twist, fuzz, irregularity — and the weave, the plaid, the guipure, the lace and the embroidered variants are all consumers of it. Change the thread and the whole family changes together, which is the entire point.
The pipeline decision worth explaining is height. Normal maps flatten out at grazing angles, and cloth is almost always viewed at a grazing angle — that is what a fold is. So the graphs are authored height-first, at 16 bit, with the normal derived rather than painted, and the material is judged in a tessellated preview with real displacement before it is judged flat. It is slower to author and it is the single biggest quality jump available on a fabric. The ageing and tear passes sit on top as separate graph stages driven by the same masks, so a garment can be shipped clean and then shipped worn without re-authoring anything.
Everything outputs at 4K, seamless in both axes, as a standard PBR set — base colour, roughness, metalness, normal, height, ambient occlusion and opacity where the lace needs it. Exposed parameters are kept deliberately few: thread count, thread thickness, pattern scale, two colour inputs and a wear amount. A graph with sixty exposed parameters is a graph nobody else on a team will ever touch. Real-world scale is fixed at the graph so that a 4K tile covers half a metre, which is what makes the density match the garments the suite was built to dress.
What shipped: the graph family as .sbs source plus published .sbsar archives, the derived 4K texture sets for every variant, and the Marmoset scenes the presentation renders came out of. It became the backbone of the six-day Cloth and Outfit Texturing Masterclass, and several of its outputs went on to become catalogue releases in the textures and patterns aisle.
Project gallery








