Tectonic Tools - Procedural Terrain Generation Based on Plate Tectonics (Work in Progress)

Hi blender artists community. I am currently working on a research project for the University of Sydney on algorithms for procedural tectonics based terrain generation. I decided to write my code in the form of a blender add-on, but apart from that I was fairly new to blender, and this is my first time reaching out to the community to see what you guys think.

In this post I just wanted to introduce myself and my project and see what you guys think. Also, I will start to begin a tutorial series in a blog post style, partially as a way to document my code, and as a way to spread the knowledge about these algorithms.

My current code tries to emulate how mountains grow over time due to tectonic uplift, which occurs when two tectonic plates are colliding into each other. It starts with a spherical planet with some low amplitude initial noise already on it, then the mesh is split into tectonic plates and each plate has a direction of travel along the sphere. Mountains grow when a continental plate is colliding into some other plate. Eventually as the mountains grow too high, they begin to collapse under their own weight, forming a plateau and the mountain range spreads out. So far, my code seems to produce plateaus quite well, although to make the mountains even more realistic I may add some other geological phenomena in the future.

This is still very much a work in progress, and I am aware that there are some bugs and issues here and there. This project is inspired by a paper by Y. Cortial & Al. linked bellow, where they described methods for generating terrains based plate tectonics. Apart from their work and mine, I believe there is no other code out there that tries to model how mountains grow over time due to tectonics, which is why I am beginning to write this blog tutorial series.

Since noise based algorithms are already well researched and widely implemented, I will not attempt to replicate those, but will instead focus more on geological phenomena. As such I have used the official blender add on A.N.T. Landscape to generate the initial noise map that my algorithm then works from.

Feel free to use my code whatever project you want, although the only thing I ask is to post a link of your project here (This is just to satisfy my curiosity, but not compulsory).

Download script here:

Usage
More instruction may be found in the Documentation.pdf in the github link above.

The simplest way to use Tectonic Tools is to click Initiate Terrain, then Auto Create Plates and then click Move Tectonic Plates a few time to run the simulation a few times, after each click the mountains will grow a bit further.

Images

The original paper that my code is inspired by:

7 Likes