Adam Sharp showed the detailed workflow behind the Fallen Leaves material and explained how the nodes were arranged for the leaves, twigs, and moss.
Hi, my name is Adam Sharp and I'm a Senior Environment Artist at The Chinese Room. I first got into 3D creating models and backgrounds in the film and TV industry. My work included set dressing, lighting modeling, and material work. I made the switch to game development about four years ago.
This article covers the process of how I created Fallen Leaves in Substance 3D Designer.
The Fallen Leaves Material
I wanted to make some ground materials for a personal environment I’m currently working on. As it's a natural wooded environment, fallen leaves seemed to be one of the main materials I would need to create.
As with everything you create, good references are one of the main foundations to get you started.
There are some distant and detailed references to get an idea of color/shape, density, and how the material reacts to light.
I started with a Clouds 2 noise adjusting the levels so there’s not too much contrast. I then ran that through a histogram range to flatten off the contrast slightly more. Next is a slight Blur HQ Grayscale to remove smaller/high-frequency detail, this was then blended through a multi-directional warp using Grunge Galvanic Large to break up the shapes.
Finally, the result is blended with the Blur HQ Greyscale through Slope Blur with an intensity of 0.03 to add further breakup and detail.
Next, the small pebble shapes. Starting with a Tile Sampler set to X = 2, Y = 2, using Half Bell as the pattern. This creates the four base pebbles. To add some larger form breakup, this is then blended with a Multi-Directional Warp using Perlin Noise as the intensity input. Next, there's a histogram scan to extract a shape mask, this is then fed into a Flood Fill. To help shape the pebbles, this is used with four Flood Fill to Gradient nodes to create four pebble variations.
Next, a bevel from the shape mask is blended with the first pebble variation using Min (Darken) to retain the existing base shape. The last three pebble variations are also blended together with Min (Darken).
Then, I put Slope Blur with Perlin Noise as the slope input to warp the shape slightly. This is then blended with a Moisture Noise node set to overlay for some slight surface variation. Auto levels to get back the full range. Finally, I use a Multi Crop Grayscale node to select 3 pebble shapes.
Pebble shape timelapse
The ground is then blended with the three pebble shapes using a Shape Splatter node. I use the Shape Splatter as it gives you a mask for the shapes, you can also get some nice variation by playing with position offset, random scale, rotation, etc.
Next, I create the leaf shape. I start with a shape node using Ridged Bell, I run that through a histogram to get a fuller shape. I then create another shape with the Ridged Bell node, invert it and run Transformation 2D to squash the shape. This is then blended over the full shape and set to multiply to give a center crease.
Then I create some leaf veins. I start with stripes, then mirror grayscale the result, invert, bevel, and add Levels to flatten out the contrast. Then I warp that with the main leaf shape so the veins follow the shape. The veins are then blended with the base shape set to Subtract with a low value of 0.05.
This shape is then broken up through a Multi-Directional Warp Grayscale node using Perlin Noise as the intensity input.
I then create a stalk by using a Polygon 2 node with three sides, this is then squashed with Transformation 2D and leveled out to flatten the shape down slightly. Then I blur that with itself through a Non Uniform Blur Grayscale to give it a bit of falloff. This is then blended with the leaf shape with Subtract to give a dip in the leaf where the stalk will go.
Next, I blend this with a leveled version of the stalk, set to max lighten, to add the stalk back over the top. I add auto levels to get back the full range of the height and blend that with a 2D transformed Gradient Linear 2 set to Multiply. This gives the leaf a slight curve.
Finally, I add a Grunge Spots Dirty, with a slight Blur HQ and scaled up with a Transformation 2D. This is blended with the final leaf shape set to Subtract and a low opacity of 0.36. This adds some damage to the final shape. I made two more variations of this shape using the same techniques.
Leaf shape timelapse
The ground/pebbles are then blended with the three leaf shapes using a Shape Splatter node.
Blending on the right and on the left, here is the setting for the Leaf Blend Shape Splatter. The highlighted settings can help layer shapes over the base height, which is what I wanted for the leaves. You can also mask out using Mask from Bg Slope. These are the main settings I use for all of the Shape Splatter nodes.
I start with a shape node, using Capsule as the pattern and setting it to 1 for Pattern Specific. Then I add a Levels node to tighten the shape and another shape node with Paraboloid as the Pattern, it is 2D transformed and slightly blurred. This is then used with a Directional Warp on the main shape. This feeds into another Directional Warp using Perlin Noise as the intensity input. These two Directional Warps help break up the base shape.
To break up the shape further, a Slope Blur is added using a histogram ranged Perlin noise as the slope. A Levels node to get full range back is then blended with a blurred version of the shape set to multiply. This gives the twig a bit more body.
I add some grain using a Grunge Map 002 blended with a 2D Transform, rotating at 90 degrees, the blend mode is set to overlay. This is then warped with the main trig shape so the grain follows the shape. The warp and main shape are then blended and set to Multiply at around .35 opacity. This helps add some grain to the twig shape.
I made one more variation of this using the same techniques.
The Leaf Blend is then blended with the two twig shapes using a Shape Splatter node.
Next, to add extra depth, I duplicate another Leaf Blend Splatter, randomize it, and blend that with the Twig Blend Splatter node. This helps to add leaves on top of some of the branches.
I then duplicate and randomize another version of the Twig Blend Splatter and blend it with the Leaf Blend 2 Splatter node. This is to sit some of the twigs on top of the leaves in places.
Before extra Leaf Blend
After extra Leaf Blend
After extra Twig Blend (re-introducing some twigs above the leaves)
The final shape for the graph is simple moss. This one is pretty straightforward, made from a Ridged Bell Shape node directionally warped with a paraboloid shape, warped again with Perlin Noise to break up the forms, and slightly more broken up with a Slope Blur node.
Then a Levels node is applied to get the full height back followed by a Multiply blend with a Blur HQ version of itself. Finally, Gradient Linear 1 is blended as Multiply to give a bit of curve to the moss.
The twigs are now blended with the moss shapes using Shape Splatter. I build up a mask utilizing the data from the Leaf and Twig Shape Splatters, using Shape Splatter to Mask. I Blend – Subtract the leaves from the first twig mask, then use the Max (Lighten) mode with the second twig mask. This is then fed into the Shape Splatter – Mask Random. This gives a nice mask to place the moss only on the twigs.
Finally, to finish off the height map, I blend the moss with a duplicate moss Shape Splatter and randomize it. This gives the moss more body.
The final height map:
I start with the ground color. I create a few different noises that have different color gradients that are then blended together using another noise for the alpha. Then I add a Moisture Noise with three different color gradients for the three pebble shapes.
For the albedo, I utilize the information from the Shape Splatter nodes for each shape. I do this with the Shape Splatter Blend (Color) node, using the information from the Pebbles Splatter node I can layer in the pebbles albedo.
Here is the node setup for the first blend. The settings on the right are for the Shape Splatter Blend (Color). You also add slight variations in color, saturation, and luminance. This is the main setup I use to color all of the shapes.
Next, I create the leaf color. I started by grabbing the warp veins that were created for the leaf height map, this is Multi Directional Warp with Perlin Noise to soften the shape. It is blended with the Ambient Occlusion of the leaf height set to Min (Darken). Then a contrasted gradient is multiplied with a simple gradient of the main leaf shape.
This is then blended with a gradient using Grunge Galvanic Large with another grunge in the opacity. An HSL node is used to adjust the color. This gets blended as Max (Lighten) with a gradient made from the Grunge Map 004.
I also add another level of contrasted noise for the opacity of the blend, this adds a bit of decay to the color. I add two more variations using the same techniques.
The three leaf colors are blended with the ground pebbles blend color, like before with a Shape Splatter Blend (Color) node. These leaves are slightly darker than the lighter ones that will be added on top to create more depth.
The node setup for the blend. Settings on the right are for the Shape Splatter Blend (Color).
Next, the twig shapes are used to create two different color gradients, which are then blended with the previous Shape Splatter.
Then, like with the height, a duplicate of the leaf and twig Shape Splatters are blended together.
The final shape is moss, which is a simple color gradient. That's blended with the previous Shape Splatter. I duplicate the moss again, like with the height, this will fill out the moss areas.
For the last few steps, I created a dirt mask from Curvature and Ambient Occlusion nodes. This was used as an alpha to blend together the base dirt color and the last Shape Splatter. This dirt mask is also used later in the roughness map.
Then, I overlay a curvature set to a very low 0.15 to bring out some of the details. Lastly, I add an HSL node to slightly darken the dirt, then multiply it with the original using a leveled Ambient Occlusion as the alpha.
This helps give the whole material slightly more depth.
Detail of the final Albedo
The roughness is created in the same way as the height and albedo, utilizing the Shape Splatter blend node. This is connected the same way as the previous Shape Splatter nodes and can have added variation. I level out the ground height and then blend that with an inverted version of the pebble shapes, I wanted them to be shinier on top.
The blend setup and the settings for the Shape Splatter blend
I continued along the same with each shape from the height. At the very end of creating the roughness map, I blended in the dirt mask I generated for the albedo as a Lighten blending mode.
I enjoyed making this project. It was a challenge to get the balance right. The graph looks quite complicated, but once you break it down into its component parts, it's not as daunting. I'm looking forward to showing the environment this was made for.
Thanks for reading and hope you found the article helpful. Feel free to contact me via ArtStation. Thank you, 80 Level!
Adam Sharp, Senior Environment Artist
Interview conducted by Theodore McKenzie
You may find these articles interesting