Studio's Terrain Editor lets you generate and sculpt detailed and realistic terrain environments such as mountains, bodies of water, grass-covered hills, or a flat desert. Terrain is made up of grids of voxels which are 4×4×4 stud regions in the 3D world with a set material.
Using the Terrain Editor, you can easily generate and edit terrain either at a voxel or region level with the option of importing a heightmap and colormap. For more precise, dynamic, or procedural terrain editing, you can also script terrain creation.
Terrain Materials
The following default materials are available for terrain, and you can also apply custom materials. Materials affect both the shape and appearance of terrain in the world; for example, animated grass renders only on the Grass material and the Water material ripples and shimmers with a subtle motion.
Water Appearance
By default, terrain water ripples, oscillates, and shimmers with a subtle motion.
To customize the color and motion of water:
Select the Terrain object under Workspace in the Explorer window.
Customize the appearance of water through the following properties in the Properties window:
Property Description WaterColor Adjusts the overall hue of all terrain water in the experience. WaterReflectance Adjusts how much water surfaces reflect the sky and surrounding objects from a value of 1 (high) to 0 (none). WaterTransparency Adjusts how transparent water is from a value of 1 (clear) to 0 (opaque). WaterWaveSize Adjusts the size of waves from a value of 1 (large) to 0 (none). WaterWaveSpeed Adjusts the speed of waves from a value of 100 (turbulent) to 0 (still).
Animated Grass
While most materials are static, you can add animated blades of grass to the Grass terrain material. By default, grass sways gently in a simulated wind, and you can adjust the direction/strength of its animation through global wind.
To add animated grass to the Grass material:
Select the Terrain object under Workspace in the Explorer window.
Toggle on the Decoration property in the Properties window.
Adjust the grass length by entering a value between 0.1 and 1 for the GrassLength property.
If desired, adjust the direction and strength of its animation through global wind.
Custom Terrain Colors
Each terrain material is assigned a default color, but you can customize any material's color to better fit your experience.
To customize any material color other than water:
Select the Terrain object under Workspace in the Explorer window.
Expand MaterialColors in the Properties window. All materials display with their RGB code.
For any given material, either input a new RGB code or click the color box to open the colors popup.
Generating Terrain
Using the following tools and methods, you can generate large areas of terrain procedurally with the Generate tool or scripting, or automatically based on a heightmap and optional colormap.
Generate Tool
The Generate tool allows you to procedurally generate terrain in seconds. This is useful if you want to create a large map and then fine-tune terrain details.
Navigate to the Create tab of the Terrain Editor and select the Generate tool.
In the 3D viewport, move/resize the selection region in which to generate terrain. Alternatively, expand the tool's Selection Settings and enter values into the X/Y/Z inputs to set a specific size and position.
In the tool's Biome Settings section, choose the following biomes to include in the new terrain:
- Arctic
- Dunes
- Canyons
- Lavascape
- Water
- Mountains
- Hills
- Plains
- Marsh
Adjust any other desired settings as documented here.
Click the Generate button.
Heightmaps and Colormaps
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.
An optional colormap, along with a heightmap, converts colors to terrain materials using a color key.
1 pixel in a heightmap represents 4 studs in Studio, and Studio supports a maximum of 4096×4096 pixels in either .jpg or .png format.
To import a heightmap and optional colormap:
Navigate to the Create tab of the Terrain Editor and select the Import tool.
In the tool's Map Settings section, click the import button and choose the image you want to import as a heightmap.
In the tool's Material Settings section, select a terrain material or, alternatively, upload a colormap.
To apply one consistent material across all of the generated terrain, select the Material tab and pick a terrain material.
In the 3D viewport, move/resize the selection region in which to generate terrain. Alternatively, enter values into the Select tool fields to set a more specific position and size.
Click the Generate button.
Scripting
You can script terrain generation using the Terrain class. For example, to create terrain with grass material that fills a volume, you can use methods such as FillBall(), FillBlock(), FillCylinder(), FillRegion(), or FillWedge().
Fill Block Volume
workspace.Terrain:FillBlock(CFrame.new(0, 0, 0), Vector3.new(4, 4, 4), Enum.Material.Grass)
Large-Scale Editing
The terrain editor's Edit tab contains tools for large-scale editing through region selection, transform, fill, replace, or setting sea level.
Selecting Regions
The Select tool is the universal tool for selecting rectangular regions of terrain.
Select a region by clicking and dragging in the 3D viewport, reposition it with the move draggers, and edit its size with the scale handles. Alternatively, enter values into the tool's X/Y/Z inputs to set a specific position and size.
Studio also supports the following keyboard and mouse shortcuts, assuming the Select tool is active and nothing is selected in the Explorer hierarchy.
Windows | Mac | Action |
---|---|---|
CtrlC | ⌘C | Copy terrain within the selected region to the clipboard. |
CtrlV | ⌘V | Paste terrain that has been copied to the clipboard and swap to the Transform tool so that the new terrain can be transformed. |
CtrlX | ⌘X | Cut terrain within the selected region to the clipboard. |
CtrlD | ⌘D | Duplicate terrain within the selected region and swap to the Transform tool so that the new terrain can be transformed. |
Delete | Delete | Delete terrain within the selected region. |
Shift | Shift | When held down while dragging any scale handle, scales the region proportionally across all other axes. |
Ctrl | ⌘ | When held down while dragging any scale handle, scales the region equally in both the positive and negative direction along that axis. |
Transforming Regions
The Transform tool lets you manipulate entire selected regions to a new position, size, or orientation.
To transform a region:
In the 3D viewport, transform the region with the move draggers, rotate rings, and scale handles. Alternatively, enter values into the tool's X/Y/Z inputs to set a specific position, size, and rotation.
Filling and Replacing
The Fill tool lets you fill an entire selected region with a specific material, or replace all material within the region with another material.
To fill or replace terrain:
In the tool's Material Settings section:
- To fill the region with a specific material, select Fill and choose the desired material.
- To replace all terrain of one material with another material, select Replace, then choose a source material and target material.
Click the Apply button or press Enter/Return.
Setting Sea Level
The Sea Level tool lets you create a consistent water level or remove all water within a region.
Activate the Sea Level tool.
Select the intended region by clicking and dragging the move draggers and scale handles in the 3D viewport. Alternatively, enter values into the tool's X/Y/Z inputs to set a specific position and size.
Click the Evaporate button to remove water inside the selected region, or click the Create button to fill the selected region with water.
Detailed Editing
The terrain editor's Edit tab also contains tools for precision editing using a "brush" tool to draw, sculpt, smooth, flatten, or paint.
Each tool lets you choose from a sphere, box, or cylinder brush shape and a base size between 1–64 studs.
For tools which use the brush, Studio supports the following keyboard and mouse shortcuts.
Windows | Mac | Action |
---|---|---|
Ctrl | ⌘ | When held down while using the Draw and Sculpt tools, toggles on the alternate brush mode. For example, toggles on "subtract" mode instead of the default "add" mode. |
Shift | Shift | When held down while using the Draw and Sculpt tools, temporarily activates the Smooth tool. |
B | B | When held down while dragging the mouse or using the scroll wheel, adjusts the brush's base size. |
CtrlB | ⌘B | When held down while dragging the mouse or using the scroll wheel, adjusts the brush's height. Only applies if the brush's shape is set to box or cylinder. |
ShiftB | ShiftB | When held down while dragging the mouse or using the scroll wheel, adjusts the brush's strength. Only applies when using the Sculpt, Smooth, or Flatten tool. |
Alt | ⌥ | When held down on mouse click, shows the material picker. |
Drawing
The Draw tool adds or subtracts terrain using the brush. This tool functions in a dual mode where holding down Ctrl or ⌘ toggles on "subtract" mode instead of the default "add" mode. Additionally, holding down Shift temporarily activates the Smooth tool.
Sculpting
The Sculpt tool adds or subtracts terrain using the brush. Unlike the Draw tool, this tool includes a strength slider to allow for more gentle manipulation of terrain.
Similar to the Draw tool, the Sculpt tool functions in a dual mode where holding down Ctrl or ⌘ toggles on "subtract" mode instead of the default "add" mode. Additionally, holding down Shift temporarily activates the Smooth tool.
Smoothing
The Smooth tool smoothes out abrupt edges in terrain using the brush. This tool can be used in standalone mode, or you can toggle it on by holding Shift while using the Draw or Sculpt tools.
Flattening
The Flatten tool flattens terrain to a consistent level across a visualized plane. By default, the tool lowers terrain above the plane and raises terrain below to the plane, but you can opt to selectively lower or raise through the tool's Flatten Mode option.
Painting
The Paint tool, using the brush, paints a terrain material over an existing material or replaces one material with another material.