Hi guys,
I hope this is the right place for this. How do you guys create a realistic looking procedural terrain? This is what I’ve got so far:
For this, I’ve used a combination of 3D RidgedMultifractal and Billow Noise.
Yours,
Max
Hi guys,
I hope this is the right place for this. How do you guys create a realistic looking procedural terrain? This is what I’ve got so far:
For this, I’ve used a combination of 3D RidgedMultifractal and Billow Noise.
Yours,
Max
This might help:
Imho if you want realism you need some kind of erosion simulation, you can’t get that just with noise functions.
Also go look at iq’s stuff on shadertoy.com
I agree with Martin_H. If you imagine a noise generated terrain as the way earth was to begin with (not accurate at all but a helpful starting point), to create anything that looks like what we’re used to, you have to wear it down. Here’s a paper on game-centric terrain generation (http://web.mit.edu/cesium/Public/terrain.pdf)
It also depends on how specific with your generation functionality you are willing to get. If you just write a noise based generation algorithm, its going to mostly make mountains. One way I’ve done it in the past is to use voronoi diagrams to define feature points (like in the paper above). The feature points have data attributed to them dictating the landscape type (beach, hills, mountain, cliff top). Given the parenthetical examples, I would have 4 landscape generation functions that I could get height values from and blend between for any given vertex and the array of feature points with a voronoi function.
One thing to note about both of these methods is that you can’t really do it on the fly. It has to be generated ahead of time, either at launch or generated in development and shipped as a static model.
You can create decent landscape using noise function if you slap proper textures on it. Terragen could do that.
Also see this (ken perlin homepage, requires mozilla firefox, java, and accepting 50 warnings to make it run):
https://mrl.nyu.edu/~perlin/recompiled/Planet.html
Basically, you need different color based on altitude, and different texture based on slope. Also, mountains are not that big relative to planet size.
Perlin noise - multiple octaves - contrast or somethin similar, and you’ll get yourself a landscape. Then you slap some textures on it, add water, proper lighting, and it will be passable.
OPs example is missing proper textures and color/texture variation based on altitude and slope.
Take a look at Gaia on the Asset Store and Shawn’s terrain stamp packages which are derived from real world geography scans.