Procedural Terrain Generation using Node Based Editor
- Parag Padubidri
- Oct 10, 2016
- 2 min read
I am currently working on developing a Procedural Terrain Generation System using a Node Based Editor.

Terrain Generation using node based editor
My objective for the project was to solve 2 problems that a typical Unity designer may generally
face when working with terrain. One - The challenges associated with importing height maps in unity typically made using external tools like Photoshop. & Two - Making Procedurally Generated terrain accessible to everyone even for someone without having the knowledge of programming.
So I tried to solve this problem by trying to develop a tool that lets users generate a HeightMap
using PerlinNoise right within Unity. However, as I started working on it, I noticed it was still difficult for users to visualize how the HeightMap or the terrain looked before it was actually generated. So, then I began looking for a way, to visualize the height map & terrain as it was being
manipulated by the user.
The result was a node based editor system that allows users to generate a noisemap & apply
it to any quad based geometry in the scene to procedurally generate the terrain without a single line of code.

Node Editor Graph
The graph created is auto-saved every time changes are made to the graph & can be loaded or unloaded as required. A plane needs to be selected as the gameobject in the Map Output node property view to generate the terrain on. A texture can be assigned to the plane for added effect.

Full generated terrain view
The plane's mesh collider is updated on the fly as changes are made to it inside the node editor.

First person view of Terrain
One of the biggest challenges in Unity for procedurally generated content is the no. of vertices
unity can handle in a single mesh which cannot exceed 65534. So in the future I am planning to
implement an LOD system for fixed terrain like planets & a map streaming system for infinite
terrains.
A lot of research went into the project and I went through a ton of resources & references before finalizing on this particular system. I would like to thank Sebastian Lague for his wonderful Procedural Landmass Generation series on youtube. The Unity forums & tutorials from GameTutor helped me a lot too in understanding the basics & building the foundation for the Node Editor system.
Comments