Gaea Technique: Shattered Slope
In this tutorial, we will discuss lesser used techniques, efficient color production methodology, and the concept of “pre-erosion”.
This tutorial uses the Gaea EAP Build 6299.
While it may sound counter-intuitive, erosion can easily become your enemy when creating CG terrains. It is not unlike many other creative skills — whether you are drawing with pencils or oils, creating massive 3D scenes, or even cooking a complex dish — when you’re new to a field, the instinct is to throw “more” at the problem. But for best results less is always more!
In terrains, it plays out in the form of erosion. The Erosion node can make almost any shape look like a realistic enough terrain. So when newer artists struggle with a terrain’s shape, the idea of applying long durations and strong fluvial lines becomes attractive. Also, artists often use erosion as the final step in the terrain, losing a lot of potential of further modification.
To achieve not just a great, but a spectacular terrain, it must look realistic even before it is eroded. This is a principle I call pre-erosion.
In most forms of erosion, and especially the Erosion node, the core principle is: rainfall causes soil to be dragged along the terrain, and deposits it somewhere down the the slope. This process is repeated hundreds of thousands of times inside the simulation to create erosion.
If the terrain is prepared for erosion beforehand, it truly brings out unique shapes and flows. (Also, simply applying erosion or strengthening it needlessly will ensure the terrain looks common and CG.)
Let me give you a simple example:
In the images above, a pure Voronoi output is eroded. It adds soil deposits and some erosive detail, but the basic shape does not change too much because it is not as erosion-friendly as it could be.
Now, if use the displaced/perturbed Voronoi (the default in Gaea), the result is much more believable. But also notice that the un-eroded shape is a believable terrain already. You could put it in the distance in a 3D scene!
The curves, folds, and general “disturbances” created by the perturbation in the base Voronoi shape promote better erosion and soil deposits. It adds a systemic randomization to the whole terrain.
This is why the Displace node can be handy in many situations. You can apply a very mild strength displacements and get the terrain to look slightly more realistic — especially when dealing with too many smooth or geometric areas.
The key thing to look for: interesting slopes. Slopes are erosion’s best friend.
But enough theory. Let’s try it out in a practical scenario.
To illustrate both pre-erosion (adapting a shape for optimal erosion) and post-erosion (doing plenty of things after Erosion has been applied), I created this terrain called “Shattered Slope”.
We will deconstruct the four major sections of the graph: core shape, pre-erosion, erosion + post-erosion, and color production.
Since we are working with a slope, SlopeNoise is the perfect way to start. It is a good mixture of slope and fractured plates to give us a decent starting point.
A slightly strong Rocks filter is applied to the slope to make it very grainy. The grain makes the next node, Aperture, work better.
The Aperture node works like the camera’s bokeh effect. It expands every single pixel as an individual shape. In this case, we use 4 iterations of the “Disk” kernel (shape). This dilates each rock from the previous step into a flat, disk-like terrace. It completely changes how our slope looks!
Now we prepare this terrain for erosion in multiple variations that will be blended later.
In the first variation, we apply strong terracing with medium intensity. This gives us steep terraces but does not flatten the top of each terrace.
In the second variation, we apply a small scale stratification using the Stratify node at low strength. This creates many small terraces and overlapping plates. Similar to how we used Aperture, but with greater overlap and systematic placement of the plates.
In the third variation, we create a “cracks” pattern using our slope. First, we apply the Cells filter to turn the slope into small Voronoi-like pillars.
Then we blur it, so it diffuses the sharp boundaries of each cell.
Now we can subtract the original cells from the blurred cells. This leaves us with an organic cracked pattern.
Finally, to complete the third variation, we apply displacement to the cracks to give it more randomness and crispness. The stretched cracks will work very well on the flat plates which stretch in a 45º angle relative to these cracks.
The resulting displaced cracks are then subtracted from the Stratify node (second variation). This shatters all the clean plates created by Stratify.
Next we merge the combined output (second and third variations) with the first variation that has extreme terracing. The result is shattered terraces.
To give the terraced slope a bit more character, we create a fourth variation of the core shape, this time with high strength stratification. This creates larger plates, and even some stairstep formations. This will be key later.
And finally, we complete our essential terrain shape by combining the three variations with the fourth one for a very rugged looking slope.
Erosion + Post-Erosion
With the shape now ready, all that remains is to erode the terrain and bring it to realism.
To erode, we use the Erosion node with nearly all default values, except Rock Softness. This creates beautiful crumpled rocks, poking out of the slope deposits.
We’re being careful to not create fluvial lines or strong cracks. The terracing and multi-level stratification will provide the shattered look. If we add something like Breaker (or Erosion’s Downcutting) to create cracks and grooves, it will start looking more CG and also alter the perceived scale.
Using a Mask node, we create a hand drawn mask for some of the more interesting looking plates and stairs in the fourth variation.
The eroded terrain is combined with the fourth variation using the Min combine method, and the hand drawn mask as the mask input. This adds a few plates and stairs to our precisely eroded terrain.
The Min or minimum method here is key. It compares the two inputs of the Combine node, and for each pixel picks the lower of the two. Since some of the plates in the masked area are lower, they win.
Having a very soft edge (Feathering) in the Mask node helps a lot!
Finally, to close our terrain’s creation process, we add a bit of superficial detail by subtracting the displaced cracks from the third variation. This adds a very fine level of cracking to the output and ruffles up the clean, smooth soil deposits on the big slopes.
This completes our terrain itself. Next we color it.
We will use extremely simple steps to create the different color components. Again, less is more. The complexity will come from the combination of elements, and not from one super complex element.
I always like creating a base texture first. Slope is the key in our terrain, so we will use a Slope node set to 0–24, with 100% falloff for a smooth gradient. That mask is then supplied to the SatMaps node, which uses the 1038 preset to create a dry, sandy, rocky texture.
As you may notice, the base map is very “flat” in terms of highlights. These are not specular highlights as you may think of in 3D terms. Rocks discolor based on erosion, and erosion of all kinds will target the sharper, protruding areas first.
It is important to note that such discoloration represents parts that are eroded a bit, but not too much. If something is eroded too much, it may have broken away, and may expose the base color of the rock which would not be discolored since it was encased inside for all this time.
We will use the Wind Streaks mode of the Surfacer data map node to create the appropriate mask.
You will notice that we use a CLUTer node to colorize that data map, but don’t actually apply any colors, using the default grayscale gradient ramp.
You are absolutely free to if you wish, but you can also just use the grayscale map as a color modifier for the base map as well. This will work in most cases where you wish to discolor an existing texture.
Now we can mix the base texture created by the SatMaps node with the Surfacer output. Since it is grayscale, we use a 100% ratio and the Screen blend mode to discolor the base map.
The screen mode brightens the colors without blowing them out. You will notice that protruding rocks now have lighter colors.
The second color element is also a grayscale map. It is a very flat slope data map. We’re using a 0–0 range and medium falloff to give us a smooth gradient that covers some of the flattest areas of our terrains.
We will use this to make our plates stand out.
Finally, we combine the two color elements using another Screen mix. This adds further discoloration to our plates.
This is the result of this relatively simple graph.
These variations were created with the Mutate Seeds function.
What you have now is a “recipe”. All you have to do is change the initial SlopeNoise to any other shape and it will give you the same result (with some minor tweaking required based on your shape).
In this example below, I used a Voronoi node instead of the SlopeNoise.
The graph is even simpler, as we’re not trying to avoid the smooth slopes in this version. In fact, we add even more sediments in the final step of the creation process!
The color production is slightly different as well as we’re not focusing on small scale textures.
This technique of creating shattered terrains is just one of many ways you can achieve such results. This is the greatest thing about procedural terrains.
Experiment with the graph, add nodes at different junctions to see the change, modify the settings of key nodes to see how it affects the outcome, and most importantly, don’t be afraid to try nodes or settings you haven’t tried before.
Happy terrain building!