How to make Create Water output more natural rivers?

Unlike the rest of World Machine, the output of the “Create Water” device looks really really bad! It would work if you are designing something like Minecraft, but for realistic scenes it just won’t cut it.

Is there any way to make Create Water output more natural looking rivers, with riverbanks with a nice falloff, and not those weird and heavily pixelated chasms? I have tried using the Erosion device with a channeled erosion setting masked by tributary mask coming from Create Water, with a bit of blur, which helps a bit inside World Machine and gives me some nice banks, but obviously it does nothing to the Water system… which will still keep its original shape and therefore will be unusable both as a mesh or a texture.

Any solutions for eroding some nice riverbanks and updating the water system to reflect these changes? I would really like to use a water mesh generated from World Machine, because when your terrain is big and has many rivers it is a massive pain to build them rivers by hand.

Thanks a lot for all the help you guys have been giving me so far :+1:

@xrattus May I see the part of your graph where the water interacts or combines with the erosion? If I’m thinking on the right track, I’d also like to se the properties set inside the “erosion” device itself.

I suppose you want something akin to this?

It still has its weird spots, most likely because this is just a quick doodle.

The concept/idea is to have smooth, yet billowy terrain. The billows ensure the river must meander in order to find the path of the least resistance, the smooth terrain ensures the pathfinding won’t to the staircasing you see in your example.

Then, afterwards, based on the tributary mask, you must blend the two terrains together using a Cominber[Max]. This automatically creates the floodplains alongside of the river.

Of course, this effect should diver and only be really applied to relative flat areas of your world, as those are the places you expect such meandering rivers.

I hope this helps a bit!

bit-more-meandering-rivers.tmd (133.1 KB)

Actually this is quite too large scale for what I wanted to do… I’m working in something lower scale. I think it’s better if I illustrate it.

So I am building some rapids… the rivers are meant to flow down a reasonably steep mountain and crash down on the sea right below, in a kinda dramatic fashion. This is the direct output from Create Water, right before being sent to texturing:

Note how the rivers are very narrow, pixelated and quite frankly unnatural. Also, when sent to a game engine, this looks just like abysses of about 4m deep.

Then I fed the tributary mask to an expander, expanded it by about 30m, and sent it to an erosion device. Now I have this:

Which is nicer, sweet and “watery”. However, obviously if I build a mesh from the water type it will be completely unusable, because it doesn’t know about that erosion.

My question is: how can I update the Water type to take in account the new shape of the terrain, in order to generate a water mesh that fits nicely in those curvy eroded features?

BTW this is my setup for the relevant part of that:

The terrain is setup to a resolution of 1m/pixel in order to be used in Unreal Engine.

@xrattus Yep, I was thinking on the right track. Here’s what you need to do:

  1. Instead of masking erosion, remove that mask, and plug “water” from “create water” into “water channel mask” input.
  2. In “create water” node properties, reduce minimum water depth to something very small, like 0.3m. Helps streamline the starting heights.
  3. Then in “Erosion” node properties, under “geological time enhancement” section, increase "uplift to something minor, like 2-10m.

This should make water “sit” with your terrain features much better, and should reduce some “erosion” induced pixellation at least. There will still be some “linearity” to the stems of the tributaries, but nothing you can do about it, except reducing water amount in the system. The trick is, to NOT overuse water nodes, they work better in moderation lol!

Yeah, it didn’t work much, that flooded my terrain haha

To be honest I’m thinking on giving up on rivers generated by Create Water altogether. I will just use the sea created by Coast Erosion (that one is really good, and I can do it on my game engine with just a single water plane), configure Create Water to not affect terrain at all and and just build my rivers manually using splines in Unreal by following the water masks. Which will be a massive pain but at least they won’t look pixelated.

It’s pretty sad really. Automated natural-looking rivers are hydrologically sound, and they would be a godsend if they didnt look so bad.

@xrattus Flooded your terrain? That doesn’t sound right. You sure you added a “flow restructure” filter right before that “create water” node?

This snowy terrain wouldn’t be possible without “flow restructure”, “create water”, and “wetness selector” nodes. Snow, erosion, and coast erosion work so well when combined with those nodes. You just need to do it right, and be aware of pitfalls when it comes to these experimental nodes and techniques.

Damn, THESE are the nice rivers I want. Did you draw them with the River device or did you generate them automatically with Create Water??

I would rather to have my rivers autogenerated because my terrain is pretty big and working with splines in Unreal is terrible.

If you generated them automatically, how did you do these gentle slopes on the riverbanks and still have the water mesh fitting nicely on it?? That’s all I need really, the rest I can figure it out by myself.

Because right now my Create Water node outputs river banks like this. There’s no slope at all, it’s just a vertical drop, and that’s not acceptable.

I created them using just “flow restructure” and “create water” nodes. Used flow restructure’s “restructure” operation to add some “floodplain” around the river, very low amount. Then used create water at the settings I mentioned above in my 3 point advice about your terrain. Finally, used water data to drive erosion’s sediment removal, and then used a wetness selector to combine erosion flow and water for the “snow melt” mask and texturing etc. No post process on the terrain to smooth out those banks, just natural flow fitting into the whole “water” based erosion paradigm.

Here’s the part of the graph that carried the whole heft of the terrain in that thread.

1 Like

Here are the node settings I used. It’s an older, alpha version of world machine, so the dialogs may look different.