top of page
terraain2.png

Baking Terrain:

A free terrain generation tool designed and programmed for

other Unity developers

Available Soon on the Unity Asset Store

I programmed and designed a terrain generation tool to help designers create custom, procedural terrain. It has a user-friendly interface and provides explanations.

The tool's usefulness lies in its ability to save a .prefab file, allowing designers to easily incorporate it into their scenes.

The tool has three primary focus points:

  1. Easily customizable, allowing designers to easily edit and feel in control of the design. The software's polish also affects this.

  2. Ease of usability. To demonstrate the tool's usefulness for designers, its usability should be high and its user interface should be friendly and explain the tool clearly.

  3. Relevant to the industry and helping create user-friendly tools, specifically for non-technical people to create with processes that may seem complicated.

Further Details about the project

See more below...

VerticesAndTriangle.png

To create my own mesh for terrain, I follow a method of creating a list to hold all the vertices. To then create triangles connecting three vertices together, this creates a solid mesh I can work with.

Inside of the create vertices function, I also create noise which I assign to each vertice accordingly. I generate 3 different octaves which I layer to create realistic looking terrain

Creating the Mesh

Persistance, Lacunarity, and Octaves

To create different styles of terrain - cartoon to realistic, I simply added extra layers of pseudonoise, these are called octaves. I will be adding the ability for the user to choose how many octaves they want active in their terrain. In addition to this I added in persistance and lacunarity sliders. Persistance meaning the strength or amplitude on each layer of octave, and Lacunarity meaning the strength of effect the frequency has on each octave.

I plan to add unqiue modifers for each octave layer the players generate, meaning certain layers can have more affect than others allowing the player to be more creative with their development.

The user has the control to be very specific about the values of each modifier, not only is the value displayed through a slider bar, but when the user selects the drop down arrow. A menu will appear, as seen in the second image on the left, it allows you to set a value for the modifier which updates the slider, as well as vice versa. 

 

There is also the option to increment the current value, decreasing or increase, by a set value inputted by the user. On default this is set to 0.1. These extra pieces of UI and work grant the software a higher level of usability as getting a specific Amplutude, when the most modifiers work with smaller numbers, is quite difficult.

Modifiers and Incrementing Values

Dropdown Selection.png

The user can pick from multiple different pre-saved presets in the software, this is a quick way to choose a landscape which is close to your vision, from here they can keep it and export it or edit the modifier to create something else, simply using it as a base.

In further iterations of this software, I plan to make it possible for users to save their own presets to easily store their custom terrain.

Presets

I plan to create a system to where players can save their own custom terrain and switch back to it through the presets list above.

Exporting options

When the user is satisfied with their terrain, they can save it by clicking the button in the bottom left.

This will create a prefab, which will be stored in the prefabs folder. This makes it easy to move the terrain to another scene, as all dependencies are handled by the program.

I plan to add more customisation to the export process, such as entering a prefab name and specifying a mesh size (working in metres, Unity's standard grid size).

bottom of page