Terrain Environment Breakdown in Houdini & Substance Workflow

Modeled with Houdini Heightfield & Textured with Substance Painter & Water Material is textured with Substance Designer

Modeled with Houdini Heightfield & Textured with Substance Painter & Water Material is textured with Substance Designer

 
Turn around of Terrain generated in Houdini Heightfield & Textured with Substance Painter & Substance Designer

Turn around of Terrain generated in Houdini Heightfield & Textured with Substance Painter & Substance Designer

I recently started learning Substance Painter and Substance Designer and really wanted to add this set of skills to my Houdini workflow to produce higher quality renders. My first idea immediately jumped to Houdini heightfields! In the past, I always struggled with the texturing and material setup for my terrains generated with Houdini heightfields. Substance seemed like the perfect solution.

This is a breakdown of my first completed project with Houdini and Substance workflow. I have other smaller exercises that I did to experiment with Substance that I will probably share in different blog posts.

 
Base Shape for Heightfield Mountain made from Basic Primitive Shapes scattered

Base Shape for Heightfield Mountain made from Basic Primitive Shapes scattered

Houdini Heightfields

I started off in with some basic cylinder shapes in Houdini that are scattered together on a focus point. This will be my base shape for the entire mountain. Although this may seem super simple, I actually a couple of hours adjusting this in order to get the shape I wanted. It’s important to know that this will be the bread and butter of the entire terrain, so the base shape must carry a lot of interesting shapes within itself. Everything that is added on top will derive from this point

 
Houdini Heightfield Project

Houdini Heightfield Project

Next I projected the basic shape onto a heightfield with a heightfield project node.

 
Houdini Heightfield Noise & Terracing

Houdini Heightfield Noise & Terracing

Then I threw on some noise and terracing to breakup the very crude basic shape I started off. This is done to make it look less like what it was before.

 
Houdini Heightfield Erosion

Houdini Heightfield Erosion

Next came my favorite part in heightfields, erosion! Erosion will totally transform the heightfield into something that actually looks like a mountain and give it a more natural weathered look.

 
Houdini Heightfield Erosion Layers

Houdini Heightfield Erosion Layers

Here’s a screenshot of the erosion layers.

 
Isolate Noise to Only Affect Mountain

Isolate Noise to Only Affect Mountain

Next, I isolated the noise so the ground will look undisturbed. This will isolate all the noise, terracing, and erosion to only the mountain, leaving the ground flat.

 
Houdini Heightfield Distortion on Mountain Rock

Houdini Heightfield Distortion on Mountain Rock

Now I added some distortion to break up the cut lines from the previous isolation step. It turned out to be a very subtle effect.

 
Substance Painter Basic White Fill Layer

Substance Painter Basic White Fill Layer

Substance Painter

This is the base mesh with a simple one color layer applied in Substance Painter.

 
Substance Painter Bone Stylized Smart Material

Substance Painter Bone Stylized Smart Material

Next I added the Bone Stylized Material as the next layer in Substance for the base color of the dirt ground.

 
Adding Dirt with Substance Painter Dirt Material masked out with Cliffs Heightfield Layer from Houdini

Adding Dirt with Substance Painter Dirt Material masked out with Cliffs Heightfield Layer from Houdini

Next I added a Dirt Material that is masked out with one of the heightfield layers generated in Houdini. The Cliffs layer that gets generated by the heightfield will nicely placed only on the mountain and combined with the Dirt Material in Substance Painter it made a nice worn out look for the rock.

 
Breakup Noise with Substance Painter Fill Layer with Grunge texture alpha masked out with Debris Heightfield Layer from Houdini

Breakup Noise with Substance Painter Fill Layer with Grunge texture alpha masked out with Debris Heightfield Layer from Houdini

Next I created a new layer with a fill using a Grunge Dirt texture in Painter that is masked out with the Debris layer generated by Houdini’s heightfields. This breaks up the harsh dirt from the previous step. The previous step had hard lines and I wanted a more weathered look.

 
Wind Lines made with Substance Painter Black Fill Layer masked with Kyle preset alpha 71 texture

Wind Lines made with Substance Painter Black Fill Layer masked with Kyle preset alpha 71 texture

Next to get certain scratches on the rock, I tried several Substance Painter brushes, but in the end I choose the Kyle preset alpha 71 and dropped it into the fill masking. The actual fill layer is just a simple default material with black base color, roughness at 0.3, and height at -0.1475. The normal layer is left at default and the metal layer is turned off.

 
Highlight Dark areas with Substance Painter Black Fill Layer driven by Ambient Occlusion (AO)

Highlight Dark areas with Substance Painter Black Fill Layer driven by Ambient Occlusion (AO)

Next I wanted to highlight some of the crevasses to appear more deeper, so I added a black fill layer driven by the Ambient Occlusion.

 
Substance Painter Fill Layer with Water texture Material (created in Substance Designer) applied to Ground Islands (masking created in Houdini Heightfields)

Substance Painter Fill Layer with Water texture Material (created in Substance Designer) applied to Ground Islands (masking created in Houdini Heightfields)

Substance Designer

The ground had these islands that were generated by Houdini’s heightfield in the original base mesh, so I used these islands on the ground and filled it with a water material. The water material was generated in Substance Designer. It was a very basic water material with a bit of frosted ice on the surface.

Again I was able to isolate the islands on the ground very easily because I had masked it in Houdini Heightfields.

 
Simple Frosted Water Material made in Substance Designer

Simple Frosted Water Material made in Substance Designer

This masking image that was generated in Houdini was then used in Substance Painter to apply the water material only the islands on the ground, making it look like puddles.

Nodes Breakdown Simple Frosted Water Material made in Substance Designer

Nodes Breakdown Simple Frosted Water Material made in Substance Designer

 
More Darkness to caved in Holes with Substance Painter Dark Gray Fill Layer masked out Mountain area with Masking Image generated by Houdini Heightfields and combined masking with Moss Smart Masking Material in Painter and combined

More Darkness to caved in Holes with Substance Painter Dark Gray Fill Layer masked out Mountain area with Masking Image generated by Houdini Heightfields and combined masking with Moss Smart Masking Material in Painter and combined

Next, I added a dark gray fill layer masked out with a masking image I generated with Houdini heightfields that isolates just the mountain rock and combined this masking layer with a moss Smart Masking Material in Substance Painter which gave the caved in holes a bit more dirty look feel.

 
Added Dark Spots in Plain Flat areas of Ground

Added Dark Spots in Plain Flat areas of Ground

The flat areas on the ground looked a little plain, so I wanted to break it up with some dark spotted holes to make it look imperfect like it was been through some weathering. So I created a black fill layer with roughness of 0.3 and height of -0.5. This layer is then masked out with a masking image generated in Houdini heightfield isolating the flat ground (non-puddle areas).

Then I used the same moss Smart Masking in Substance Painter in combination with the masking images generated in Houdini to produce dark spots only on the flat ground. And because the height was adjusted to -0.5 on the fill layer the dark spots actually displace downwards like holes to give it a more 3 dimensional look.