Create Water Device

When I manually specify rivers with the “Create Water” device (headwater locations specified), I still get this puddles everywhere. Is there a method to get only the specified water sources (rivers) without the puddles.
I know there is the “Flow Restructure” device, but it flattens too much of my terrain. I want to keep the terrain as it is (it’s an imported heightfield).
Also, and I know that it was mentioned here already, support for tiled builds for the create water device would be awesome, especially when making big maps.
Thanks in advance for help.

Unfortunately there aren’t any great solutions here. If Create Water is not allowed to pool and overfill depressions, the resulting river system starts getting pretty wonky.

For example, a river that hits even a single pixel depression would be stopped, and all of the drained area that that river has served so far is ignored. The river existence, size, and speed are all determined by the amount of accumulated discharge. Thus, you end up with very odd rivers that pulse in and out of existence.

Especially with imported heightfields and rescaling, it’s quite common to have lots of spurious pits that cause the above. The results are sufficiently disappointing that I didn’t even include an option to not fill lakes; the resulting river system just doesn’t make sense.

A couple possible workarounds:

  • Try using Flow Restructure with the Ridge Carving parameter turned down, and see if it preserves more of your input terrain

  • Use Flow restructure, but ONLY as a preprocess step before create water. Don’t take the terrain output form Create Water; instead use the orginal source terrain . This will force your rivers to not create lakes. They may of course, disappear underneath the terrain where restructure moved things around.

I propose a solution based on Stephen’s response. Instead of just using the water system created but ignoring the terrain, which will leave you with not good looking rivers:

I propose the following. You combine the original height map with the Create Water device’s terrain output, set the Combiner device’s method to min and then mask it with the Tributary Mask output of the Create Water device. This will give you the following result:

The terrain is only changed where rivers are placed. You may get some steep river beds, but that’s also kinda neat looking in my opinion. If you want, you can use an Expander device on the Tributary Mask to soften the mask without losing river detail (what would happen if you were to use a Blur device instead).

The node setup (with optional Expander device):

I hope this helps you!

EDIT:

Here is the project.tmd (17.9 KB) as well!

Note:

It may introduces bugs like this when the Flow Restructure device’s Ridge Carving parameter is set to 0.

Hi Stephen,
I think my problem was not expressed clearly enough. Puddles, where I specified rivers, are ok.
I just want to get rid of the puddles where no specified rivers are (without changing terrain).
See pictures:


This is the initial heightmap. You can see there are already rivers carved into terrain.

When only using create water device with one specified river I get this:

What I want is to get rid of the puddles outside of the area where the specified river is.

When using flow restructure, it get this:

It would be ideal if it doesn’t change the terrain height of other areas (even with Ridge Carving parameter turned down).

So the conclusion is to make the “Water Create” device’s “Specifiy Headwater Location” function to define water sources only where I want, without automatically make puddles outside of the specified river (headwater locations).

But as a workaround, HYLK’s solution works pretty much as what I want.

Thanks HYLK, your solutions works pretty good for my case. Except that I don’t want to use expanders, because on very big maps the rendering is slowed down by them extremly. But even without expanders it looks pretty good.

Before:

After:

1 Like

Glad to hear I could help! Expanders are tricky devices indeed, an alternative is to use the Thermal Weathering device, and then the 2.x version. It can give rather good expanding at a really acceptable speed.

These settings will suit your needs:

image

Thanks, I will try your workaround!

Create water is currently the best for showing you where to put rivers. If you want better result, put river devices according to this “template” (pain in the ass, but you can achieve pretty good results). Currently you need to do lots of post device work, to make it usable and at the end it is still not good enough for close up renders (games).

Thanks for your comment, but what do you mean this “template”?

Manually set river device according to river generated by create water device (use it as guideline). It will ensure, that river is in place where it should be and have appropriate shape. It is dirty manual workaround, but IMHO only way how to go now. If you need just some river for far distance render, create water will do. If you need more control (FPS game…), you have to workaround a lot.