Create water device issues

I ve reported some time ago, but it is already forgotten and closed, so I would like to reopen. In compare to river device, create water makes pixelated river banks (there is no antialising). It can be easily seen even in sample scene (rivers). I ve rendered in 8k (1,71m/px), you can see, that main river is perfect, rivers done by create water have jagged edges. No problem for satelite view renders, quite an issue for FPS games. This issue can be slightly workarounded by using wery weak blur on these channels, but it generally destroys look of the chanel.

I really, really like water device, it has huge potential, but still needs some work to make it usable for FPS applications:

  1. Jagged edges issue
  2. Better control over shape of channel (for example GCS would be fantastic)
  3. Spline based water mesh with game friendly UV
  4. Tiled build compatibility

If these things are covered, I would personally consider it revolution. I am currently struglling with rivers in my map and ammount of time it takes is insane (more than the rest of project already) and there is no light at the end of the tunnel. This would solve all issues at in one device automatically.



@Demostenes I agree with #3 And #4. That said, #2 would destroy the simplicity of create water. You can manually place rivers at strategic places, using the manual river tools, to solve for #2 currently. So this one is not very urgent imho. This workaround is how I personally solve wayward rivers.

For #1: Reduce the “minimum water depth” to something lower like “0.03” m. Then those sudden jagged edges will disappear.

Hope the solutions help, for now! :slightly_smiling_face:

“For #1: Reduce the “minimum water depth” to something lower like “0.03” m. Then those sudden jagged edges will disappear.”

Actually not. I was indeed trying even very low values. Very low values just lessen this issue by very shallow river channel. For satelite level render this can indeed work, but for FPS game not. 3cm deep river is not much usable, you need realistic values. Btw, this is render with 0.03m, you can still see jagged edges in compare to main river:

I think #4 fix #1 because in the tiled build you can use a higher resolution.

I faced this problem (#4), because my project doesn’t have enough resolution without tile build.
the water device builds really beautiful water, it really looks like natural rivers, but unlike them river device builds strange, unnatural rivers.

Large map with normal precipitation map, builds really nice natural big rivers, but it is unuseful because water device is not compatible with tile builds.

In the result, compatibility with tile build fix most part of problems.
I understand that it is not easy to fix it, but now tile build useful in rare cases, because it is incompatible with many devices.
As a temporary solution, i suggest implement opportunity to check flow direction of existed water along the borders of map.
Add new option of drain to, like in flow restructure - map borders along drainage mask, and add check box - existing water flow input,
special for this option.
If water from this border moves inside the map, this water works like regular water in this device - moving along the map to the next pixels.
If water moves out from the map - it is drainage.

Then users can build water from tiles. They need to build the map twice:
First, build the map in the highest resolution without tiles and save the water maps to a file.
And then build tiles with this map loaded from the file. It’s all!

I understand that the world machine team has many more important tasks after the release.

But my team ran into this problem, and i totally can’t find fix or work around it using standard World Machine tools.
I understand that we can redraw the map or use the river tool to solve this problem, but then we lose a lot of time,
or we change really beautiful natural rivers for ugly rivers.

I see devises in WM are linked in the dll. Is it possible to get the devices source code?
If it written on c++ i can implement this algorithm, it looks like really simple.
Then my team doesn’t have to wait for this issue to be fixed (if you want to fix it), and you don’t need to fix this problem yourself.

1 Like

High res does not fix it, I tried 16k build and it is still the same. It seems this device does not scale with resolution, or there is no “antialiasing” implemented. So I used following approach. I applied flow restructure (btw, this device really needs masking) and create water. It created natural rivers. And I used these natural rivers as guide to manually paint interesting rivers in river device. So they look exactly same. Issues 1,2,4 gone, only 3 remains and this could be solved by ability to export this spline…

Btw, I made lots of experiments with resolution and once you go near 3m/px, other increasing of resolution have not much effect. I found difference between 16k and 32k tiled almost zero for 60km terrain. Also difference between 8k and 16k was quite minor unline between lower resolutions. If you need some details, it works FAR better to make this detail as separate scene and import into final scene.

1 Like

Thanks, this is a really helpful answer. Of course, manual work is not what i want from a landscape generator, but it is better than redrawing the map.

Regarding the resolution - this is really interesting, at first I wanted to use different tiles from the one big map, but if that doesn’t work well, I use small extents.
Anyway, if it will be possible to add a water source to the map, that solved the problem with the water device and large maps.

Generally if you are preparing a big map with some points of interest, only way how to do it is prepare these places in separe projects and merge together. You have that shape under much better control a you dont need to do high res builds to see anything. Also main project will by far more managable and faster to build.