[possibly Geonodes]Mountain Erosion Effect? (Solved)

Most packages that deal with terrain generation have support for erosion effect. Sometimes it is applied on top of “blobby” primary heightmap to give it more character


Is something like this possible using Geometry Nodes? Preferably by faking it using procedural textures as displacement (the problem here is how to map a texture to wrap it around a mountain, while mountain itself is product of something like noise texture). I’d prefer to avoid simulation-based workflows as they are slow. (I still shudder remembering 3ds Max book “Deconstructing Elenents”. Their method involved using a model of a tree to generate the initial heightmap for a mountain, then using particle simulation which is rendered to texture, then fed back into the displaced mesh the particle are colliding with. I hope there is something more simple)

Not without simulation, no. Erosion is a time-based effect that requires simulation (erosion builds on itself over time, so you can’t just one-step it)

3 Likes

Technically, you don’t need simulation nodes to accomplish this.

You can use a repeat zone instead, with a set amount of iterations. Just repeat your erosion simulation nodes however many times you need.

2 Likes



EROSION SIM.blend (1023.5 KB) - CC0 LICENSE

This is essentially doing the workflow you described, but automatically.

It distributes points on the surface, then simulates gravitational flow down, keeping track of where the points move along the surface.

Then it uses that surface flow data as a mask to displace the mesh, then it repeats the process.

The flow simulation is a nested repeat zone inside the erosion simulation, so it’s really easy to explode processing time.

This is relatively basic and could certainly be expanded in a wide variety of ways, but it’s a solid proof of concept.

5 Likes

Take a look at Cartesian Caramels use of shortest path to do some reverse erosion.

Its very cool.

hqdefault

https://www.youtube.com/live/7RqJewZK0SE?si=56nqgUEk6Mz2QRbg

4 Likes

Oh that’s unfortunate. I’ll look into geonode-based simulation methods here or maybe something like Dynamic Paint

This is a good idea for faking it. Repeat displace with several steps from a procedural noise of increasing scale

This looks like it, thanks! Your example is easy enough to follow

Looks amazing. I hope I’ll be able to understand the algorithm