Introducing Directed Erosion

A new way to control and direct erosion in your terrains.

QuadSpinner Team
quadspinner
8 min readJul 6, 2018

--

Everyone has to struggle with directing erosion to your creative vision when making digital terrains. Directed Erosion is something we had in our mind from the beginning when making Gaea.

It is important to note that Directed Erosion is still not fully production ready. The core features are complete, but they need further testing.

We suggest a minimum of 16GB RAM — 24GB is recommended. You can try it with 8GB RAM, but the speed may be too slow.

The Basics

Let’s start with the workflow. Directed Erosion works in its own “Sculpt mode”. In this example, we have a simple setup at 512 x 512 preview resolution. When you add the Directed Erosion node, you will notice it has its own independent resolution. In most cases, this should be the final output resolution. See the Strategies section later in this article for more details.

Directed Erosion is meant for fine detailing, and works at an independent resolution from the preview and final build resolutions. The Sculpt is resampled as needed. In our example, we are working with 2048 x 2048.

While we finalize and optimize Directed Erosion, this resolution is capped at 8192 x 8192.

We’re now ready to start sculpting. Click the Sculpt button in the editor to enter the Sculpt mode.

The Erosion Tool becomes available when you enter the Sculpt mode. This floating window lets you select an erosion tool, modify its setting, and choose an erosion mode.

Erosion Tools

Each erosion tool creates a different effect, and some have secondary variations.

  • LandBreaker (L) — general, all purpose erosive breakdown.
  • Flowlines (F) — create Breaker style broad flow lines.
  • Soil (S) — soil deposit tool. Great with Infinite Flow.
  • WideFlow (W1, W2) — creates wide, long flows.
  • Carver (C1, C2) — strong, rock carving. Use sparingly!
  • Gullies (G) — create gentle, flowing gullies.
  • Pockmarks (P) — creates small impact holes. Use for detailing.
  • Rocks (R) — creates rock flows. Great with Infinite Flow.
  • RoughFlow (RF) — chaotic soil/rock flows.
  • Roughness (RG) — detailing tool for roughening surfaces.
  • Scratch (Sc) — detailing tool for creating superficial scratches.
  • Sedimentary (Se1, Se2) — strong soil flows.

Properties

While properties differ between some tools, there is a general pattern:

Size — the size of your tool’s impact area. Do note that this is the impact area, where the effect begins, but if your tool’s effect generates erosive flows, they will go beyond the impact area. (That’s the beauty of Directed Erosion — its not just simple masking.)

Duration — this is the effect simulation duration. Be careful when using long duration values as it can take quite some time. Get a feel for the tools before modifying this value too much.

Power — this is the strength of the erosion simulation. In most cases, you should leave it as-is. When using Infinite Flow, you can increase this value without too much penalty. In Normal or Erosive modes, it can shatter the terrain and create bad debris artifacts.

Flow Distance — this is how far erosive flows should reach beyond the impact area. The longer the flow, the more processing it will require.

Soil vs Rocks — the granularity of the erosive material. Low values create soft soil, while high values create rocks and boulders.

Erosion Mode

Normal Flow (N) — this is the default mode where erosion behaves normally. Erosion will both take away material from your terrain and deposit it elsewhere.

Soil tool in Infinite Flow mode.

Infinite Flow (I) — in this mode, erosive debris/material is deposited but never removed. It is great for adding soil, talus, and other material without taking away from your terrain. In other words, it generates soil and rocks from thin air.

Erosive Flow (E) — in this mode the effect is the exact opposite of the Infinite Flow where material is taken away, but nothing is deposited. You can keep eroding an area without created deposits downstream.

Undo

The Erosion Tool panel provides a local “in-session” undo function accessible next to the tools. You can undo up to 20 tool impacts.

Sculpting

When Sculpt mode is active, you cursor in the viewport becomes shows the impact area. The cursor flows over the terrain to show you the flow conditions and impact extents — very useful with large brush sizes.

Click anywhere on the terrain to create a “stroke” using the selected tool. In this case, we use the Landbreaker tool to create a few random strokes.

You will notice that while the base terrain uses the preview resolution (512 x 512), the strokes and their effects on the terrain are at your sculpt’s target resolution (2048 x 2048). This lets you preview the effect your final build will have no matter what your preview quality.

When you successfully start a stroke process, the cursor will flash a bit. Wait for the process to finish before clicking a second time. You can click multiple times, but it may significantly slow down your processing.

If you have “Use Alt to Rotate” turned off in the Preferences, take care to not click on the terrain while rotating when in Sculpt mode, or it may fire unwanted sculpts.

Next we switch to the Flowlines tool, leaving the settings at their default values. With just a few clicks you can create varied flow lines that can’t be achieved with traditional nodes.

Once you are satisfied with your sculpt, turn the Sculpt mode off. You will notice that your high resolution sculpt is downscaled to the preview resolution, and may lose a lot of the detail.

This is by design. What you have done during the sculpt session is create a “guide” for the Directed Erosion node. It will store all your strokes and recreate them for any resolution now.

If we switch the preview resolution to 2048 x 2048, the Directed Erosion node will reprocess the strokes and show them with higher fidelity.

Working with higher resolutions

In an effort to prevent memory excesses, the Sculpt mode will only show a 2048 x 2048 area. The mini map in the sidebar let’s you navigate the entire terrain, but you can only see a 2K area in the viewport at a time.

Regardless of your target size, Directed Erosion’s strokes are always processed at the same speed whether at 2K or 32K!

Whether you work at 2K, 4K, 16K or any other resolution, the memory impact of the sculpt is limited to 32MB x 2 (64MB) for each stroke. And that memory is recycled when you stop sculpting, so the memory impact is kept as low as possible. However, a copy of the entire terrain at your target resolution must be kept in memory during the sculpt session.

2K = ~32mb + 20 strokes (~1.2gb) = ~1.2gb

4K = ~128mb + 20 strokes (~1.2gb) = ~1.3gb

8K = ~512mb + 20 strokes (~1.2gb) = ~1.7gb

In a near future build, you will be able to manually purge memory (Undo, etc.) to save RAM.

Strategies

Base terrain.
After Directed Erosion

Use late in the workflow

Directed Erosion becomes moot if you process your terrain greatly. So we recommend using it late in your graph after all the major shape changes are complete. It will save you hassles in the long run.

Use in a separate file

A great way to separate the impact of Directed Erosion from the rest of your graph is to save the output from your Graph, load that output in a new file using the File node, and then apply Directed Erosion to it.

Known Issues

Slow loading

PermaCache is disabled in Directed Erosion for now (stability reasons). So when you open a .tor file with a Directed Erosion node, expect it to reprocess all strokes.

A new build will soon make this unnecessary by caching the results to file.

Still experimental

As mentioned at the beginning of this article, Directed Erosion is still pretty new. Our internal beta team are the only people who have used it extensively, and to be safe, we are marking it as an “Experimental Feature”. As we get feedback and diagnostics data from you, we will improve it over the next several weeks.

The Target Resolution cannot be changed after sculpting.

To avoid complications, we have disabled several internal features such as intelligent caching (to avoid reprocessing), high FPS previews, faster processing (to keep it stable), limited tools (only toolset 1 is available), and only height output (alpha, flow maps, etc. are disabled for now).

Expect Directed Erosion to improve greatly as we move forward.

Videos

The following videos are from presentations given at the End User Event and Harvard Graduate School of Design. The interface and other elements may look different, but the general tools and concepts remain identical.

Erosion Studio

Gaea Erosion Studio is the standalone mode of Directed Erosion. It can be especially useful for long sessions that can be resumed with ease, and for dealing with extremely large terrains.

It will also feature Toolset 2 — an additional set of tools for precise use on large terrains (200km x 200km) at extremely high speeds.

Erosion Studio will be available a bit later. It is part of Gaea, and will be included with all three paid editions at no additional cost.

Directed Erosion will be available in this weekend’s build (4266+).

--

--