Ilana Katz explained how you can set up a leaf generator in Substance Designer.
In case you missed it
You may find these articles interesting
Hi, I’m Ilana Katz, I’m currently based in Oregon where I do freelance work making assets for games and other real-time projects.
I’ve been making 3D assets and characters for a while now, but I’ve only recently become interested in making materials and procedural artwork. When I saw my friend Nick Melillo’s Plank Master Material I learned that Substance Designer was a powerful procedural tool and not just a way to create a set of textures.
I started learning Substance Designer about 2 years ago, I wanted to learn the program because I was looking for a way to speed up my overall work process and to learn more about procedural tools. I first used SD as a way to make standard materials like brick walls and wooden surfaces for a few environments I made, but as I started getting more familiar with the program I tried pushing the procedural side of SD as much as I could.
Patterns in Nature
I’ve always been interested in how structures in nature are formed, what the basic “rules” are for those structures and what makes those structures satisfying to look at as they change. When I moved out to Oregon there were a lot of cool plants and fungi to spot on walks. I also kept seeing these trees that were covered in sap with interesting bark layers and wanted to recreate that in Substance Designer. By making the tree sap material, I learned a lot about what was possible to make in Designer and how to change my approach to working on materials.
I’ve been wanting to make a leaf material for a while now and when I saw Jonathan Benainous’ leaf generator I had to try making one myself. I wanted to focus on being able to make as many leaf types as possible and see how far I could push the generator.
I started with a basic leaf vein network I could build off of. I made a layout of tiled boxes for the veins and subtracted a leaf shape around them. From there I duplicated that vein set with the splatter circular node and had my basic Leaf Vein Setup to start building the leaf shape. I looked at leaf compilation images to see what base rules very different looking leaf types had in common. I wanted to be able to use the same generator to create a maple leaf as well as a fern or lily pad. By fanning out the main vein branches and adjusting the angle of the veins on each branch, a wide variety of leaf shapes can be achieved.
For the color, I wanted to mimic how leaves have areas colored in between some veins and not others, giving a highlighted cell effect. I did this using the Slope Blur node on the veins to single those areas out.
To make the leaf color pop a bit more, I made the roughness differ on either side of the main vein. Though this isn’t quite realistic for a real leaf’s surface roughness, I wanted a bit of stylized highlight effect to the leaves when they are lit. I was able to get the highlight effect as well as the height by beveling the veins and blending slope blurred veins on top of that to preserve vein detail.
I came across a few happy accidents working on this material, one being the holes that can be seen in the fern variations. The holes on the ferns are actually an artifact I got from setting some distortion nodes too high. What started as a bit of a problem worked out in the end!
I knew I wanted to use a lot of Warp nodes on this project but there were issues at the beginning with the veins and leaf creating artifacts or the vein width being inconsistent where the leaf was warping. I wanted to be able to warp the veins and leaf shape together because otherwise the veins would be offset from the rest of the leaf.
To fix this I made sure that two main areas would warp: the origin of the leaf and the outline. The origin wasn’t much of an issue because it would stay in the same place and I just needed to be able to add and subtract mass from that area. For the edges, though, I needed to make sure the spaces between the veins were distorting and leaving the veins themselves alone. I isolated areas near the edge of the leaf so that I had better control of the shape changes while preserving the vein paths. The tips of the veins are also stretched to the edges of the leaf which helps to override distortions done to the overall leaf shape.
This material has a lot of parameters linked to each other so that the vein branches don’t intersect or separate from one another as well as being able to adjust the height of each branch without creating abnormalities. Modifying a maple leaf for example would go well until I would try to turn it into a fern, at which point it would break while adjusting parameters. I could still make a fern but I would need to reset a bunch of params and backtrack. Placing limits on the parameters and creating more links between them helped prevent certain situations from occurring and made the transition between leaf types go more smoothly. The stem also caused a few issues because it would affect the overall shape, so I created a halo around it to prevent the bottom parts of the leaf shape that get too close to the stem from merging with the stem or leaf branches from merging.
In compound mode, where it looks more like a tree branch than a single leaf, the material did cause some minor problems but it was mainly an issue of making sure the leaves didn’t overlap. After that, I just needed to make sure there were enough settings to allow for a variety of shapes.
New Material Process
When approaching a new material I try to keep it as simple as possible until the core “rules” are set up. It’s important to have fun and experiment while working on something new but I like to keep experiments in their own frames off to the side so it’s easy to focus on what works best so far.
When I got more comfortable working in Substance Designer I was looking for a way to make materials seem a bit more natural and feel more like technical tools than trying to copy reference photos. When I worked on the Tree Sap material I tried to recreate where the sap would form and gather and how it would change as it dried up. It helps a lot to think of why material is the way that it is then just trying to copy references. Understanding what you’re making always helps it feel more believable. If the basic rules are nailed down, whatever changes are applied to the material from there make sense.
Learning Substance Designer
For learning Substance Designer I recommend checking out the official Algorithmic tutorials first and then looking up more specific tutorials for something you’d like to make when you are a bit more used to the program. A quick way to get a feel for what SD can do is to create a tile sampler node and connecting it to any effect node you can find and see what happens. When you get more comfortable working within Designer it’s also a good idea to learn about linking parameters and using math nodes here and there, even though it can look intimidating. I put off learning that side of Designer for a while because math is scary, but it’s a very powerful part of the program.
Substance Designer is such a big time saver and a valuable tool overall. Once you get the hang of it, you keep seeing the potential the program has to offer!