Realistic Rivers

Started by PeanutMocha, May 05, 2011, 01:41:23 AM

Previous topic - Next topic

PeanutMocha

I created a workflow to create fairly realistic rivers using L3DT and TG2.  The attached sample is my very first pass and certainly needs some tweaking.

Steps are documented on my blog:

http://terragen2.wordpress.com/2011/05/04/realistic-rivers/

PeanutMocha

Here's a closeup a little higher up the river.

I noticed in this rendering that the river is following the underlying terrain.  Probably going to wait until the morning to figure that out (anyone have an idea why?)

Dune

That is a lot of work. It might be simpler to use the painted shader in TG2 and find a decent riverbed area, draw it in and displace that area downward a meter or so. Then add a lake with the same displacement as the terrain, but perhaps stretch the fractals in one direction (perpendicular to the main river direction) and give them a larger smallest scale.

PeanutMocha

In my case, I'm attempting to model a game world that the players are already very familiar with... matching 2D maps to the 3D version.

For my level of understanding TG2 (and I'm very much a beginner), starting with a height map as a basis seems the best way to get that done.

monks

#4
Hi Peanut, I've been doing something similar recently. There are a few solutions on here.

The one you're using there looks like something DandelO did, and a couple of others where the shader paints the terrain directly. I could be wrong though.

BigBen's setup is pretty cool. In fact you'd learn a lot from his posts generally as he did a lot of experimentation with large heightfields, tiling, image maps and rivers. Similar stuff.
He uses a water plane via a texture lookup which ensures that the plane changes with the underlying terrain.

The other is to save out your terrain along the river and lakes mask and then combine it with a merge shader as a heightfield- water as a heightfield. Seer did that. I sometimes use water and ice in the form of a heightfield generated from a fluid sim program a friend of mine wrote, so that's useful for me. But you can flatten out your lake beds (or rather water surfaces of the lakes) in the heightmap and just use the river beds as your water heightfield.

Good work man with what you've got up there so far.

I'm creating water in my project via two ways: sea via a sphere object (with water shader) with radius set to sea level and for lakes and rivers, using BigBen's water plane with tex lookup.
There's another solution of BigBen's too where you can fill the individual lakes- just depends on how many lakes you've got because each lake requires a separate correctly positioned lake object. I've got over a hundred! Not going there.

At the moment I'm looking for a solution to setting variation in sea colour via an image shader or terrain height (I've got bathymetry data in my model) and it's proving difficult for a humble beginner. You'll probably be wanting to do that yourself at some point. If you come up with any solutions I'd be interested to check them out.

sea as sphere, water as heightfield
[link expired]

water plane and tex lookup
[link expired]

I'll try dig out some links if I can...there were some revisions so it's a little confusing as to which one is the latest.

filled lakes:
http://forums.planetside.co.uk/index.php?topic=1301.msg12986#msg12986

water as plane
http://forums.planetside.co.uk/index.php?action=dlattach;topic=4459.0;attach=12671

monks

AP

If you can afford it, why not use geocontrol 2 for river systems as it does them best.

http://www.geocontrol2.com/e_geocontrol_completed.htm

monks

 I use GeoControl Chris, and in all the time I've used it I've never found those pages on the site. I'll be looking at those. I do use GeoControl to test my river beds sometimes. I can see if they are silting up or not.
The problem I find with it is that you have to add springs, and that's an arbitrary process- well there's some luck involved in generating the rivers where you've put rivers on your map or want them to flow a certain way. If you're using GeoControl purely to generate the rivers from scratch then yes, you can use it easily.
It's also a little limited by terrain size until it goes 64 bit. Either way though, it's a very cool feature.

monks

dandelO

GC2 is great for rivers, roads and such. There's a few great tutorial videos from Johannes on how to create them easily, along with some easy to follow instructions for the vector tool, which can be used to do paths and rivers etc, too.
The 'isolines' tool is fantastic at creating terrains in whatever fashion you'd like, and all the GC layer masks can be exported as images to use as blend shaders inside of TG, in a click or two.
The rivers and lakes tool is very good and, if you don't want to wait ten thousand ages on calculations for it, just set the 'number of springs' very low, the river will take the path of least resistance to the bottom of the terrain, this mask can be easily used as the water shader's blending in TG.

I also hear great things about World Machine/WM2, which can do wonderful things, but I've never used that except for a test of the demo a few years ago. Perhaps I should check it out again...

I think I'll have a play with TG's river operator a bit, I've only briefly messed around with it before. It'd be great if it could somehow be used with TG fractal terrains.(I know you could generate a fractal heightfield to use it on but I mean on a normal fractal terrain, specifying point-to-point)... I don't think so, though.

* Also, Richard(Cypher) posted a cool thing here some time back, that, if I remember used some sort of warped Perlin or Voronoi noise to lay an arbitrary river system over the entire planet. Can't remember the name of the link but I remember it looked great from a camera view on high. Surely it could be tuned to fit over a terrain.

Keep plugging away, PeanutMocha! Eventually, TG will create a complete virtual reality where we can't tell the difference between life and it... ;)

monks

That video is very cool. I was having a few ideas on how I could use it in my workfow. I'm using Wilbur
at the moment- that's very good at generating incised channels in the terrain, but it's not as complete a
solution as GeoControl. Wilbur does support larger terrains though, and if you're using large terrains
you need your rivers as relatively narrow as you can get them. I work to a river map pre-drawn, so
I perhaps have a slihgjtly different set of consideration to you Mocha-don't know.

I tested both GeoControl2 and World Machine2 when they were in development, the spline tools in Pro 2 are
extremely good too, as you said DandelO. I think GeoControl has better river tools though, but World Machine has
other advantages- it can do massive terrains.

For me, I'm still really at the experimenting stage with preserving, creating rivers in my terrains at the moment.
The video linked illustrates the basic problem, that if you want natural looking "tree-like" river systems,
you have to set up the terrain to encourage their formation. That's basically what I do in my terrain model, but it's a very time consuming process. I learned a few things
from watching it though.

I've also not really considered very much the solutions for rivers and lakes in the renderers, but I'll be
toning down the incision depth next time in Wilbur because you can create that in Terragen via masks and
displacement.

The voronoi patterns sounds promising. I was looking at a World Machine macro created by Nikita using voronoi noise to create rock
structers- fractured patterns. They were pretty convincing too and I saw the basis for good
river patterns in them. I think I came across that thread in my searches recently. Was this it?
http://forums.planetside.co.uk/index.php?topic=10000.0

It'll be interesting to see what you guys can come up with. As I say I'm really at the beginning of my Terragen journey  ;D

monks

PeanutMocha

Thanks for all the fantastic feedback!  I'm really enjoying learning what one can do with TG2.

D.A. Bentley (SuddenPlanet)

Quote from: AP on May 05, 2011, 05:35:09 PM
If you can afford it, why not use geocontrol 2 for river systems as it does them best.

http://www.geocontrol2.com/e_geocontrol_completed.htm

If anyone isn't aware, GeoControl 2 is no more.  It became World Creator:
https://www.world-creator.com

bobbystahr

Quote from: D.A. Bentley on March 14, 2018, 10:30:03 PM
Quote from: AP on May 05, 2011, 05:35:09 PM
If you can afford it, why not use geocontrol 2 for river systems as it does them best.

http://www.geocontrol2.com/e_geocontrol_completed.htm

If anyone isn't aware, GeoControl 2 is no more.  It became World Creator:
https://www.world-creator.com


This thread is from 2011, I'm sure they're up to date hee hee hee
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

D.A. Bentley (SuddenPlanet)

I just learned of World Creator while stumbling onto this Rivers thread, and clicking on the GeoControl 2 link brings up a sketchy message/site, so I was just warning future visitors like myself.  ;)

bobbystahr

Quote from: D.A. Bentley on March 14, 2018, 10:39:29 PM
I just learned of World Creator while stumbling onto this Rivers thread, and clicking on the GeoControl 2 link brings up a sketchy message/site, so I was just warning future visitors like myself.  ;)

10 4 good buddy
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

WAS

Quote from: Dune on May 05, 2011, 03:09:19 AM
That is a lot of work. It might be simpler to use the painted shader in TG2 and find a decent riverbed area, draw it in and displace that area downward a meter or so. Then add a lake with the same displacement as the terrain, but perhaps stretch the fractals in one direction (perpendicular to the main river direction) and give them a larger smallest scale.

It'd be cool to have warp paths for this very purpose.