top of page

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.

コメント


Featured Posts
Recent Posts
Archive
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page