Terrain

Terrain allows you to generate and sculpt detailed and realistic terrain environments, such as mountains, pools of water, or a flat desert. Terrain is made up of grids of voxels, which are points in the 3D space with a set material in the dimension of 4×4×4 studs. You can set different materials to these grids to simulate natural environments.

Using the Terrain Editor, you can easily generate and edit terrain either at a voxel or region level with the option of importing heightmaps and colormaps. For more precise, dynamic, or procedural terrain editing, you can also create terrain through a script.

Materials

You can set the following materials to your terrain:

Asphalt
Basalt
Brick
Cobblestone
Concrete
Cracked Lava
Glacier
Grass
Ground
Ice
Leafy Grass
Limestone
Mud
Pavement
Rock
Salt
Sand
Sandstone
Slate
Snow
Water
Wood Planks

While most materials are static, you can animate water and grass. For example, if you want to include blades of grass that sway in the wind, enable the Decoration property on the Terrain object in the Explorer window.

Decoration = true
Decoration = false

You can also customize a terrain material's color to fit your experience:

Default terrain colors
Customized terrain colors

To customize a material color other than water:

  1. Select the Terrain object and expand MaterialColors in the Properties window. All materials display with their RGB code.

  2. Either input a new RGB code or click the color box to open the Colors pop-up.

To customize the color of water:

  1. Select the Terrain object and navigate to the WaterColor property.

  2. Either input a new RGB code or click the color box to open the Colors pop-up.

To further customize the appearance of water, experiment with the following properties:

Property Description
WaterReflectance Adjusts how much water surfaces reflect the sky and surrounding objects from a value of 1 (high reflection) to 0 (no reflection).
WaterTransparency Adjusts how transparent water is from a value of 1 (fully clear) to 0 (totally opaque).
WaterWaveSize Adjusts the size of waves from a value of 1 (larger waves) to 0 (no waves).
WaterWaveSpeed Adjusts the speed of waves from a value of 100 (very fast) to 0 (non-moving water).

For more information on materials, see Materials.

Generating Terrain

Using the following tools and methods, you can generate large areas of terrain:

Generate Tool

The Generate tool allows you to procedurally generate terrain in seconds. This is useful if you want to create a large map, then fine-tune terrain details.

To generate terrain through the Generate tool's settings,

  1. Navigate to the Create tab of the Terrain Editor and select the Generate tool.

  2. In the Map Settings section, specify a position and size for the new terrain.

  3. In the Material Settings section, choose from the following biomes to include in the new terrain:

    • Water
    • Plains
    • Dunes
    • Mountains
    • Arctic
    • March
    • Hills
    • Canyons
    • Lavascape
  4. Set the biome size.

  5. If you want to include caves, enable the Caves toggle.

  6. Click the Generate button.

Heightmaps

A heightmap is a 2D representation of a 3D terrain map, as viewed directly from above. Brighter areas of a heightmap result in higher terrain, like mountains, while darker areas result in lower regions, like valleys.

1 pixel in a heightmap represents 4 studs in Studio, and Studio supports a maximum of 4096×4096 pixels in either .jpg or .png (8-bit or 16-bit) format.

Heightmap
Generated terrain

To import a heightmap:

  1. Navigate to the Create tab of the Terrain Editor, then select the Import tool.

  2. In the Map Settings section, navigate to the Heightmap setting and select the import button. A file browser opens.

  3. Choose the image you want to import as your heightmap. For best results, use a 16-bit .png image.

  4. Modify the Position, Size, and Material settings.

  5. Click the Generate button.

Colormaps

A colormap, combined with a heightmap, converts colors to terrain materials using a color key.

Colormap
Generated terrain

To import a colormap:

  1. If you haven't already done so, import the heightmap that corresponds with the colormap.

  2. In the Material Settings section, navigate to the Colormap tab, then select the import button. A file browser opens.

  3. Choose the image you want to import as your colormap.

  4. Click the Generate button.

Color Key

The following table describes the RGB-mapping to a corresponding material.

Material RGB Value Color
Air [255, 255, 255]
Asphalt [115, 123, 107]
Basalt [30, 30, 37]
Brick [138, 86, 62]
Cobblestone [132, 123, 90]
Concrete [127, 102, 63]
CrackedLava [232, 156, 74]
Glacier [101, 176, 234]
Grass [106, 127, 63]
Ground [102, 92, 59]
Ice [129, 194, 224]
LeafyGrass [115, 132, 74]
Limestone [206, 173, 148]
Mud [58, 46, 36]
Pavement [148, 148, 140]
Rock [102, 108, 111]
Salt [198, 189, 181]
Sand [143, 126, 95]
Sandstone [137, 90, 71]
Slate [63, 127, 107]
Snow [195, 199, 218]
WoodPlanks [139, 109, 79]
Water [12, 84, 92]

Scripting

You can script terrain using the Terrain class. For example, if you want to create terrain with grass material that fills the volume of a part, you can use the Terrain:FillBlock() function.

Detailed Editing

The terrain editor's Edit tab tools let you edit terrain details manually using a brush. This is useful for precise edits on a voxel level.

To edit terrain using the Edit tab tools:

  1. Navigate to the Edit tab of the Terrain Editor.

  2. Choose from the following tools:

    • Add – Adds terrain quickly.
    • Subtract – Subtracts terrain quickly.
    • Grow – Slowly adds terrain on top of other terrain.
    • Erode – Slowly carves away terrain from other terrain.
    • Smooth – Smooths terrain to get rid of sharp corners.
    • Flatten – Flattens terrain using special Flatten tool brush settings.
    • Paint – Paints a new material on top of any previously set material.
    • Sea Level – Lets you create a consistent water level or remove all water in a terrain within a set position and size.
    • Replace – Lets you replace a source terrain material with a target terrain material, either within a box area or using a brush.
  3. Click-and-hold over the region you want to edit.

    Overview of editing tools

Large-Scale Editing

The terrain editor's Region tab tools allow you to select, then edit entire terrain regions. This is useful when you want to:

  • Manipulate terrain regions to a different position, size, or orientation.

  • Fill terrain regions with a new material or to a specific sea-level.

  • Duplicate terrain regions into a new position.

  • Delete terrain regions.

Manipulating Regions

The Move, Resize, and Rotate tools allow you to manipulate entire terrain regions to a new position, size, or orientation.

To select and manipulate a region:

  1. Navigate to the Region tab of the Terrain Editor and select the Select tool.

  2. Click and drag to create a region bounding box (maximum of 512 studs along any axis).

  3. Choose from the following tools:

    • Move – Moves the selected area to a new position.
    • Resize – Scales the selected area to a new size.
    • Rotate – Rotate the selected area to a new orientation.
  4. Click and drag the arrow, ball, or circle to move, resize, or scale the terrain region, respectively. Note that these tools can only move regions in 4 stud increments and rotate regions in 90° increments.

    Moving, resizing, and rotating a region

Filling Regions

If you want a portion of existing terrain to change its material, you can either fill the terrain region using the Fill tool or use the Sea Level tool to fill a terrain region with water to a specified sea level.

To fill terrain regions with a new material:

  1. Navigate to the Region tab of the Terrain Editor and select the Select tool.

  2. Select the region of terrain you would like to fill, then select the Fill tool.

  3. If you would like to fill in any empty voxel with material, enable the Merge Empty toggle in the Edit Settings section.

    When enabled, Studio combines the region with its surroundings. This is useful if you want to make sure a region naturally merges with what's around it, as shown here between the ice and stone.
    When disabled, Studio doesn't merge the region with what's currently there. This is useful if you want to keep a region exactly like it was built, as seen here by any voxels without material remaining empty when you move the ice block.
  4. In the Material Settings section, select a material to fill in the region.

  5. Click the Fill button.

Controlling Sea Level

The Sea Level tool lets you create a consistent water level across any region.

To fill or remove water from terrain regions:

  1. Navigate to the Edit tab of the Terrain Editor and select the Sea Level tool.

  2. In the Map Settings section, modify the Position and Size settings.

  3. Click Create to flood the region with water or Evaporate to remove water.

Duplicating Regions

If you want to replicate existing terrain in a different area of your experience, you can duplicate it using the Copy and Paste tools.

To duplicate terrain regions:

  1. Navigate to the Region tab of the Terrain Editor and select the Select tool.

  2. Select the region of terrain you would like to duplicate, then select the Copy tool.

  3. Select a region where you would like the duplicated region to exist, then select the Paste tool.

Deleting Regions

If you want to remove chunks of terrain at a time rather than eroding or flattening them, you can use the Delete tool.

To delete terrain regions:

  1. Navigate to the Region tab of the Terrain Editor and select the Select tool.

  2. Select the region of terrain you would like to delete, then select the Delete tool.