Better interactions between water and erosion

This may be something I’m not noticing in the interface, but currently, it seems as if water systems are only really able to control where uplift occurs. I think it would be really useful if you could also apply downcutting (possibly with slope influence to have it be more effective/apparent at steeper gradients) as well as lateral/bank erosion to widen out rivers and tributaries as they reach their drainage basins.

I know this is probably a huge ask, since it involves changing what is probably one of the most complex nodes in WM, but I feel like with the right implementation, it would go a long way towards helping create more natural looking terrains. For example, The Grand Canyon was a result of both downcutting and uplift. While similar effects can be made currently, it can take a lot of tweaking to get something that looks natural.

Another thing this may help with (though I wouldn’t know until I tried it) is creating realistic river deltas. So far, I’ve not been able to create realistic deltas in WM (this could very well be a failure on my part, though) and I feel with more fine-tuned control over sediment deposits, lateral erosion, and downcutting, this may be easier, if not just making it possible without hand drawing in the first place.

Mostly, by biggest gripe right now is the lack of downcutting. Right now, the terrain under a water system does not get eroded at all, and aside from being fairly unrealistic, this can lead to problems where river systems get raised above the surrounding terrain, even when uplift is maxed out, almost appearing as natural aqueducts.

One big challenge I see for this, apart from the obvious messing with the base erosion (perhaps it could be added as a separate hydraulic erosion device?) would be calculating the base level of each river and tributary. I can foresee this being an incredibly resource heavy process, as it would have to trace each river/tributary from its point of origin to its drainage basin (whether that be a coast, map edge (which provides further difficulty, there’d need to be an option to continue past the map borders), or river) to set the base level, then calculate the gradient along each river, and only then would it be able to start applying downcutting and lateral erosion.

Again, just some musings on functionality I wish the erosion node had, and if I’m missing something major, please don’t hesitate to call me out on it! In the meantime, I’m going to start playing around with affecting water depth using expanders and bias/gain filters masked by tributary masks to see if that simulates what I’m looking for.

All that being said, a lot of the stuff I’ve mentioned can be added in other programs (I think), I’m just a long-time user of WM and the more time I spend in WM versus other software, the happier I am!

You hit the nail on the head - right now, when you supply the erosion device with a river channel, the rest of the terrain will erode into the channel but the channel itself won’t move down-cut into the terrain.

This is of course entirely incorrect geologically! However, it was the lesser of two evils in terms of how Erosion interacts with water. Essentially, making erosion downcut in a supplied river channel means it also needs to change the water geometry to match. Sometimes you want this, but quite frequently you’ve gone to some trouble to manually model your ‘hero’ rivers and don’t want them messed with.

If you allow water-interactive erosion, you end up in a situation where the Create Water and Erosion devices end up needing to essentially merge, as erosion is creating new water channels as it goes.

The workaround I came up with is the “uplift” parameter, to prevent those aqueduct rivers you mentioned. On “smooth” reconstruction mode it works quite well; there is a bug that interacts with the “linear ridges” mode that can still cause trouble with some settings.

The workflow I’d recommend to get around all this is simple:

Erode twice.

Conduct your largest “earthmoving” erosion before create water systems. This ensures that the profile curve of your valleys, etc is essentially set. If you then restructure-create water-detail erode from that, you’ll get a much better outcome.

2 Likes

That’s good information. I hadn’t thought of the fact that erosion doesn’t output a new water system, so affecting existing channels would cause the water system ahead of the erosion to not line up. That is definitely a conundrum. In that case I would still campaign for a separate hydraulic erosion node that could output both water systems and erosive output (like a more advanced coastal erosion).

I currently use the two erosion method, though I started doing it not due to trying to solve an issue, but thinking about geologic processes on earth, since there would have been eons of various erosion before liquid water existed on the surface. To be completely honest, one of the main things I’m having trouble replicating, outside of deltas, that I think some of the things I mentioned would help, is the branching mountain ranges you see in real life, though perhaps I’m going about it all wrong.

Actually, thinking about deltas logically, I think my main problem in recreating them is that rivers and tributaries created via a create water device don’t seem to split downstream, which is to be expected, deltas are kind of an exception to the rule rather than the rule itself. Perhaps a “downstream branching near drainage” option in the create water device could help with that? Though it’s such a specific scenario that it may be simpler to just hand draw them…

My Valley Cut macro may help you creating those branching mountain ranges!

As for deltas, to really get that right I think WM needs some sort of flood/meander simulation and the ability to set sediment properties, as deltas are the result of flood + meander carving into soft ground.

1 Like

I’m giving it a look as I type this! It definitely looks like it’s getting me closer to what I’m looking for, though I’ve only tested it on a single advanced perlin noise. I’m looking forward to seeing what it looks like with a fully realized terrain.

Quick question, feel free not to answer, judging by the fact that my build progress has been stuck at 92.3% for a hot minute now, am I correct in assuming that there is a Create Water device inside the macro? Create Water and Expander devices tend to be the ones that bring my (admittedly mostly 10+ year old) computer to a halt as far as building.

Also, side note, you may want to edit your reply, there’s an “edit#” added to the end of it that redirects to a login page, I’m assuming it thinks anyone who clicks it is you trying to edit the store page for it.

EDIT
Playing around with it, i think I’ve figured out how it works fairly decently? You’ve locked the macro, so I won’t explain how I replicated the effect outside of the macro here, don’t want to steal your thunder, but the method I think you’ve used gives me interesting ideas on how to tweak it to also do bank erosion! (Also threw you 3 Euros on the GumRoad cause it didn’t feel right downloading it for free, and then deconstructing it)

1 Like

Glad it helped you out! It doesn’t use a create water device but it does use an expander for the valley walls, which can make it slow. Look forward to see some terrain you’ve made using this technique!

And thanks for the donation, always appreciate it :slight_smile:

1 Like

Oh! That’s actually super interesting, because I definitely used a Create Water while trying to recreate it, and I got similar, but not exact results (The valleys followed similar paths to your macro, but strayed somewhat), I guess that explains the differences! I may be focusing too much on trying to use water devices to drive/inform erosion and terrain shapes, learning how to simulate river valleys without any type of water device should go a long way towards learning to create more realistic terrains!

It’s finding the right balance of “hacks/workarounds” and simulation. And to me the best workflow is to use a lot of hacks to get somewhat realistic, but mostly epic looking terrain, and then run it through the natural effects devices to make it a lot more realistic.

1 Like

Yeah, definitely gotta start working on figuring out hacks and workarounds, because my current method of replicating your valley cut macro is sitting at over an hour of build time to affect a single advanced perlin device, with the bulk (as in 99%) of it being a single expander device. Not sure why, with identical parameters, one expander took 8 minutes and another is sitting at 1 hour 3 minutes and is still building at 4k resolution.

Expanders are notorious for being so slow your PC almost goes back in time, so I try to avoid them whenever is possible. Another method is using the old version of the Thermal Weathering device instead of the Expander device.

1 Like

I might have to try that. Going on two hours for the one expander ahaha. I wonder if it would be easy to implement a scale device where it simply stretches a given input in x and/or y. Scale and translate are two options that I feel could create interesting terrain shapes when masked.

Just wanted to edit to post final build time for the single expander device was 2 hours and 23 minutes.

True! The Instance Placer can already provide scaling, but stretching isn’t really possible afaik.