Procedural terrain smoothing

Godot Version

4.5

Hello! I’ve managed to somehow stitch together ideas that I’ve got from ditzyninja’s worldgen tutorials, and got a decent results so far, but rn I’m stucked trying to make such terrain more smooth. As for this video : https://www.youtube.com/watch?v=jDM0m4WuBAg , the terrain looks cool but appears to be extremely chunky, there are no flat areas at all, and it looks more like minecraft world. Examples :
Screenshot-545 hosted at ImgBB — ImgBB
Screenshot-546 hosted at ImgBB — ImgBB

There were also another video (https://www.youtube.com/watch?v=OUnJEaatl2Q) where he used subdivisions to make his terrain smooth - but it was unrelated to his latest videos (about LOD, clipmaps and texture mixing), so i’m kinda confused on how to combine this with his LOD-technique. If anyone went through this too and have any ideas on how to modify clipmap_partition and collisionmap scripts, I’d be really thankful!

Use real world heightmaps instead of dull perlins. The weak spot of noise functions is that they stretch to infinity with uniform frequency. They can’t produce nice abrupt frequency changes often seen in reality. You need to do some additional work to create those.

If you want to do it with perlins, you’ll need to manipulate them a bit, not just slap a single perlin to the heightmap. One easy trick for start may be to use two perlins, one with high frequency and one with low, and mix them using third low frequency stepped/posterized perlin as a mix factor. You can get quite creative there and expand the whole approach to additional layers/mixes of noise.

In short, you need to get creative with mixing and interpreting multiple noise functions.

For even more realistic results there are erosion algorithms that you can additionally run on heightmaps created by playing with noise functions.