Creating Cypress Bark in Substance Designer
Subscribe:  iCal  |  Google Calendar
Miami US   15, Jul — 20, Jul
Orlando US   24, Jul — 27, Jul
Grapevine US   25, Jul — 29, Jul
Los Angeles US   28, Jul — 29, Jul
Los Angeles US   28, Jul — 2, Aug
Latest comments
by Carlos Acevedo
44 min ago

I like the render quality, look very realistic and well integrated with the plate Physics are quite fucked up in that sim, the shuttle goes trough the building as if it was air, the shuttle should get totally designated by the impact Also the full simulation seems to go in slow motion while the cars and people moves on real time The ground destruction looks cool too, and the concept is interesting

by AmsberryLawFirm
2 hours ago

At The Amsberry Law Firm in San Antonio, we focus on helping our valued clients resolve legal concerns that have a profound impact on their lives and long-term well-being.

by Acacia hary
3 hours ago

This article is very detailed and meticulous, I have read many articles on this topic, but for this article, you leave me a deep impression and practical application to my life. Thank you for sharing.

Creating Cypress Bark in Substance Designer
6 September, 2017

Peter Sekula has shared a breakdown of a complex Cypress Bark Substance material created in Designer. Everybody needs a tree bark, so create one for your environments. 

Time for a complex one. Every environment artist needs a tree bark at some point. Cypress trees are iconic of Italian landscape, so it was fitting to construct one for my Rome: Fantasy Pack I project in Unity and Unreal. It turned out the heightmap came together pretty fast. Getting the albedo to look the way I wanted was the real challenge. Making sure the grey-to-reddish-to-tan transitioning felt right took some time.

My custom nodes, Get Slope and Height Selector, are required for this exercise. Get them here.

The Height Selector isolates pixels in a greyscale heightmap based on their value. Useful for when you want to texture the “tops or bottoms” of a heightmap. The Get Slope node generates a slope texture where black pixels on the resulting greyscale map are considered flat planes and white pixels are considered vertical angles.

Peter Sekula

Here goes the breakdown from the artist:

Reference. The bark has a number of key features that I noticed. There are several types of Cypress trees, but certain features I really wanted to capture into one type. The peeling was something I punted on as it requires some special time and attention.

We want to make the base gnarl map. To do it, we’re going to scatter the gnarly arms. Make a thin disc, bevel, and blur and adjust levels so it’s round enough.

For the wood surface, take a noise that’s not too noisy (clouds, creased, perlin) and use it with a Non Uniform Blur node. Use a noise that is lots of little pyramid shapes in the blur map slot. The parameters create a hard streakiness

Make 3 of those with pyramid noises of different sizes. The warps add an extra bit of fine wiggle. I blended the first two with Max(Lighten). The last with 60% Min(Darken).

We’re going to take our soft disc we made and blend it with 45 degree rotated versions of that streaky map. The goal here is to make 3 types of arms with different surface characteristics to scatter for variance. Auto level them.

Use each as a pattern input in a tile sampler node. Make them long, thin, with slight randomness in position and scale. Clone the node, but with twice as many arms. Then offset and Max(Lighten) the first set. Min(Darken) the second.

Use a Quantize Grayscale node. This essentially lowers the bit depth of the input, creating a “terraced” look. This helps make the layering we’re looking for. Use about about 8 samples. Max(Lighten) Blend that in 50% or so.

To do larger gnarling, warp the heightmap with a large, soft perlin noise zoom with a high intensity. Create subtle knots in the wood with a tile generator using only Gaussians. Warp with that, Blend Add it in only a little bit.

With Height, Normal, and Ambient Occlusion, you should have something like this.

For Albedo, make a giant mess with some streaking. That’s key for wood! I made a custom grunge generator that uses noise inputs, blends them silly, and out comes something crazy but nothing that looks “stock Substance Designer.”

Pick two base colors and just average them using that mess map. It’s important they’re subtley different though. Subtlety when making albedo textures is really important. Too much contrast and your brain doesn’t believe it.


Linear Grain is a node I made, but it’s like directional noise. Warp it with a large perlin and a smaller one. This recipe creates a simple wobbly wood grain

Subtract the wobbly grain from our subtle albedo. Clouds 2 made for a good blend mask jsut for variation. I also took a BnW Spots 2, sharpened it, and Blend AddSub 0.04 to add some very subtle but sharp noise.

With height selector nodes (from the project description), we’ll subtract different heights from our albedo to darken different “levels” or “terraces” from the wood. This emphasizes the layers.

Here’s where we get tricky. Take the slope of the wood heightmap between 80 and 45 degrees and subtract that from the highest half of the wood heightmap. A mask of the slopes of flatter areas in the upper half results! Then..

Use that slope map as a blend mask between our wood albedo and a reddish, darkened version. That’s our red cypress effect. Go back and play with the slope and height variables to get precisely what you want. It’s fine tweaking.

I took the albedo and used levels to give it more saturation and darkness. I took the highest areas of the heightfield, with a little fall off, and blended it in there. This is the wet underside of the grey skin on top of the wood.

Remember our mess map? Gradient map it with alot of gray tones. It looked like stone. Take the highest areas of the heightfield with a hard falloff, subtracted some grain, and that’s where the bark goes.

Make a curvature of the normal. Select differnent heights of that curvature, subtract and add those masks to the albedo to make variation in value, just like normal bark.

Take that stone mess map gradient map we did above and shift it to a subtle greenish moss tone. Again, grab some pixel vales at the top of the heightmap and blend the green in. Subtlety.

Lastly, get a very fine curvature of the normal map. Isolate the black and white pixels only and turn them all to white with a gradient map. Subtract a little bit for dark detail.

Pfew! All that work for an albedo.

Peter Sekula, Creative Director –

The breakdown was originally published on ArtStation. 
Source: ArtStation

Leave a Reply