Lace Procedural Material

Material Breakdown

Emily Bisset


Emily Bisset

3D Technical Artist


Hi everyone! I’m Emily Bisset, I graduated last year from the University of Portsmouth, UK, and am currently on a 1-year internship with Procter & Gamble working in Gillette’s visualization department until July 2021.

Throughout my university and internship experience have kept my skillset quite general trying to learn anything and everything in 3D! Since graduating, I started fiddling around in Substance Designer during my evenings and free time which has developed into quite a passion.

I love the procedural workflow of it and every time I start a new project, I learn more things about the program and its capabilities. The first 6 months of using this software have been so interesting and I’m excited to see what it will allow me to create in the following 6 months!

I am currently a 3D Technical Artist and Solutions Consultant @ Adobe.

Project & Goals

For this lace material, I am going to write like this was a chronological process but the truth of it is that it very much was not! I knew I wanted to make some kind of intricate fabric lace pattern, but I spent a lot of time experimenting with different beading/thread layouts and ended up going back and scrapping what I had so far and starting again. Some projects I go into knowing exactly what I want to create but it was nice to experiment so much with this one as I had so many potential ideas that I wanted to try out!

Software Used

Substance Designer and Marmoset Toolbag 3


1. Finding Reference
2. Creating the main thread
3. Overview of making the pattern/layout
4. Rendering

Finding Reference

What first inspired me to make this was watching Netflix’s ‘Bridgerton’ – well worth a watch even for just the costume and sets alone! In every scene, all the characters are wearing these beautiful dresses and pieces of jewelry that have these gorgeous patterns on them and so I wanted to try and recreate something of that nature in Substance Designer.


Image source:

I know the final material didn’t turn out exactly like something that would be sewn onto a dress but I would love to come back to this project and make more of a singular appliqué patch (like the reference images on my mood board below). I had originally intended to make an appliqué patch that could be applied to models but in the end, decided to go for a tileable lace texture.


In terms of inspiration from other artists, Pauline Boiteux has always been a huge inspiration for me – in my opinion, she is the queen of Substance Designer fabrics! I love looking at her work and seeing all the tiny details she manages to incorporate in her fabric work – truly incredible!

Creating a Main Thread

This is my second attempt at a fabric material in Substance Designer, my first being a colourful embroidered material which I really enjoyed making and so I used the base thread from that graph and brought it into this material’s graph to save a bit of time.


As I had already spent a fair amount of time getting it to look right in my previous fabric project, I only made a few minor improvements before using it.


As you can see, it is not an overly complex setup for it, it’s mostly a mixture of blending and warping to make it look like a piece of sewn thread. This can then be warped using a directional warp node to create a bit more variation in the threads but most of the splatter/tiling nodes I used to create the patterns had a ‘symmetry random’ parameter I could turn on which seemed to do the trick in terms of tiling, so I didn’t end up having too many iterations of the thread (only two to be exact).


I also did the same with the sequin shape, again adding some improvements to it using techniques that I had learnt about since making my last fabric material. Originally, I wanted to split the sequin and the thread that ‘sews’ it down since I wanted to apply metallic data to the sequin alone. I wanted to use the ‘RGBA Merge’ node to merge the thread and sequin shapes and then plug it into ‘splatter circular colour nodes’ and suchlike however it didn’t seem to work on my version of Substance Designer which was a little frustrating, but the sequins are quite small and so this probably isn’t overly noticeable to other people but it’s a small detail that I knew wasn’t accurate and so leaves the perfectionist side of me somewhat unsettled!

Overview of making the Pattern/Layout

For the most part, this material is comprised of just a load of ‘splatter circular’ and ‘tile sampler’ nodes placed in a particular way.


I did use some fantastic custom nodes made by Ilya Kuzmichev for drawing bespoke curves for things like the leaves and vines. This really helped speed up my workflow and though I could have probably made it with original Substance nodes, using these saved a lot of time and gave me a lot more freedom with the look of the line of thread (like choosing which way each thread shape was facing, spacing, etc.)


This curve drawing system can be found and purchased here:

The rest of the pattern was just down to placing each individual pattern made (like a flower or a leaf) in a place where it looked nice. I did not follow any particular reference image when deciding on placement as I thought it would be nice to make my own pattern.

I took a lot of ideas from some on my mood board and then merged it into my own design considering any Substance Designer shape limitations and what would work most efficiently when making a tileable texture. For example, some of the reference images had more stretched circular patterns (sort of oval-shaped) which I initially tried out but then realized when mixing it in with other circular splattered patterns it was harder to get it all to align properly so I simplified it to make it more of a circle and then my time could be spent more efficiently on other aspects of the material.


For the beading, originally, I wanted to use a few different kinds of beads on this material. This image is during the early stages of creating this material when it is just going to be a singular appliqué patch. I later simplified it to concentrate more on creating an intricate thread pattern and then just used sequins as I thought they went best with the design I had created.


I also created a simple fabric texture to go ‘underneath’ the lace in this material. This meant that anyone using it could choose whether they wanted to use the opacity map that comes with it or not. I personally prefer it with the opacity map-enabled and then if I want to put a completely different material underneath I can. The red tablecloth underneath my lace in the renders is a different piece of geometry with a different material on it but for users with poly limits, it is helpful to have the fabric under-cloth built-in.



Rendering this material was almost as important as making the material itself. It was essential the renders looked good particularly with a material with so many transparent sections! I rendered this in Marmoset Toolbag 3 – being a real-time renderer I love how fast it is to set up materials and lights to start taking some renders.


I wanted to showcase this material with a bit of context instead of having it on a generic sphere or cylinder so that people could see what it would look like when used on an actual model. Though I think it is important to have renders on a basic shape to show what the material is comprised of, I think with materials like fabrics it is best to have renders on cloth-like geometry as this is its intended use. To make the cloth meshes I do a simple simulation in Maya using nCloth and then duplicate the object when it looks the best during the simulation then subdivide it. I have a couple of different cloth shapes I have collected during my fabric projects and I always take some time to try out my material on each of them to see which shape showcases it best.


For this material I also made a quick table in Maya, auto UV unwrapped it, and then textured it with a quick wood material so that I could hang my material over it like a tablecloth, I knew it would be out of focus in most of my shots, so I didn’t spend too long on it. I thought this was a nice addition as it provides an area of interest in the back of some of my final renders and puts the whole material into context.


For lighting, I mostly used Marmoset’s pre-set HDRIs as they are quick to set up and easy to adjust. It is also very easy to add in child lights and adjust them accordingly too if the HDRI alone is not lighting it completely as you would like.


All in all, I really enjoyed this whole creation process, I love these kinds of detailed fabrics and I had a lot of fun experimenting with lots of different kinds of patterns. I’m definitely going to try and create more fabric pieces in the future when I have some more free time and perhaps even delve into learning Marvelous Designer too so I can start taking my fabric work to the next level. If anyone has any questions about this material or the creation process feel free to find me and drop me a message on my Artstation, Twitter, or Instagram!

Thanks to Emily for allowing us to have such an in-depth look at her process. If you liked this material breakdown and want to see more like it from other inspiring artist’s make sure to follow us on :