Search Unity

Assets [WIP] Procedural Terrain Tool

Discussion in 'Works In Progress - Archive' started by DavidJorna, Jun 3, 2019.

  1. DavidJorna

    DavidJorna

    Joined:
    Nov 1, 2016
    Posts:
    1
    Hi, I'm a developer working on a new procedural terrain generation tool. I started working on this project with the idea of using it to simulate environments for mobile robots, and later adapted it for use in Unity.

    There are already some pretty impressive terrain assets in the asset store, most notably Gaia and MapMagic, so I want to make sure I differentiate my asset from theirs as much as possible. Unity also recently posted an update which includes some exciting additions to the terrain system. However, my script offers some features that are unavailable elsewhere, such as individual control of Voronoi peaks.

    The features I have implemented so far are outlined below:

    Diamond-Square Algorithm

    This method of noise generation creates similar results to spectral synthesis, but runs faster.

    Voronoi Diagrams

    Voronoi diagrams are generated by randomly generating points, which are used to influence the heightmap. Handles in the scene editor can then be used to manually adjust the heights of the mountain peaks.

    By using different parameters, Voronoi diagrams can create different effects.

    Combination

    The Voronoi diagrams and diamond-square noise can be combined with a weighted average, to create more realistic-looking mountains.

    Perturbation

    Simplex noise is used to "perturb" the terrain slightly, which makes it look a bit more interesting.

    Thermal Erosion

    Thermal erosion smooths out the terrain and makes it look more realistic.

    All of the terrain generation code I used in this project is open source and cross-platform, so if you are comfortable with C++, I encourage you to check out the source code here.

    Your feedback is much appreciated, and it there are any additional features you think would be useful, please let me know.
     
    Mauri likes this.