UDN
Search public documentation:

LandscapeEditing
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Landscape > Editing Landscape Terrain

Editing Landscape Terrain


Overview


Landscape terrains can be edited directly inside of Unreal Editor using the Editing section of the Landscape Edit Dialog.

LandscapeEditDialog.jpg

The Editing section allows a landscape to be selected from all landscapes within the level to be edited and provides access to the Editing Tools, Brushes, and Target Layers. These all work together to make editing the landscape simple and intuitive. The tool determines what action is to be performed on the landscape. The brush determines the area of the landscape affected by the selected tool. The target determines what aspect of the landscape is affected by the tool, which can either be the heightmap or a texture layer.

Landscape Edit Mode


All of Landscape's editing functions are available in the Landscape Edit Mode window. Press the Landscape Edit Mode button to switch the editor to Landscape Edit Mode and bring up the Landscape Edit window:

Landscape_Mode.jpg

Enabling Landscape Edit mode will also enable realtime update on any perspective viewports in the editor.

ALERT! IMPORTANT: As of the February QA build, this mode is hidden by default unless the -landscapeedit command line parameter is specified when launching the editor.

Landscape Selection


The landscape selection box shows, and is used to set, which landscape is active and editable.

Landscape_Select.png

Clicking the Landscape combobox will display a menu listing all landscapes currently in the map.

Landscape_Select_Menu.png

Select a landscape from the list to make that the active landscape. All subsequent editing will then be applied to that landscape.

Tools


The process of editing a landscape involves using one or more tools that sculpt the landscape by painting on the underlying heightmap. These tools range from the simple paint tool to other tools that use complex algorithms to apply interesting effects to the heightmap, such as erosion. Some of the tools apply solely to the heightmap, while others can be used on the heightmap as well as the texture layers of the landscape. In addition, each tool has a set of properties that determine how the tool affects the landscape.

The currently selected tool determines the operation that will be performed on the landscape. The tools use Brushes to apply their effects using strokes.

Common Controls Operation
Ctrl + Left Mouse Button Perform a stroke that applies the selected tool's effects to the heightmap or selected layer.
Ctrl + Z Undo last stroke.
Ctrl + Y Redo last undone stroke.

Paint Tools

The tools below are used to perform "painting" actions on the heightmap or layers using the selected brush.

Paint

Landscape_Tools_Paint.jpg

When operating on the heightmap, this tool will increase or decrease the heightmap height or layer weight in the shape of the currently selected brush and falloff.

Alternate Controls Operation
Ctrl + Shift + Left Mouse Button Lowers or decreases the heightmap or selected layer's weight.

Option Description
Total Strength Controls how much effect each brush stroke has.

The brush strength determines the amount of raising or lowering.

Smooth

Landscape_Tools_Smooth.jpg

This tool smooths the heightmap or layer weight. The strength determines the amount of smoothing.

Heightmap Smoothing

(Hover for Before/After)

Landscape_Smooth_After_HighDetail.jpg

Layer Smoothing

(Hover for Before/After)

Landscape_Smooth_Layer_After.jpg

Option Description
Total Strength Controls how much smoothing occurs with each brush stroke has.
Detail Smooth If checked, performs a detail preserving smooth using the specified detail smoothing value. Larger detail smoothing values remove more details, while smaller values preserve more details.
(Hover for Before/After)
Landscape_Smooth_After_LowDetail.jpg

Flatten

Landscape_Tools_Flatten.jpg

When operating on the heightmap, this tool will flatten the landscape to the level of the landscape under the mouse cursor when you first activate the tool.

(Hover for Before/After)

Landscape_Flatten.jpg

For layer weights, this tool directly sets the selected layer's weight to the value of the Total Strength slider.

Option Description
Total Strength The weight to set the selected layer to, where 1.0 is 100% opacity for the layer.

Thermal Erosion

Landscape_Tools_Erosion.jpg

This tool uses a thermal erosion simulation to adjust the height of the heightmap. This simulates the transfer of soil from higher elevations to lower elevations. The larger the difference in elevation, the more erosion will occur. This tool also applies a noise effect on top of the erosion, if desired, to provide a more natural random appearance.

(Hover for Before/After)

Landscape_Thermal_Erosion.jpg

Option Description
Total Strength Controls how much effect each brush stroke has.
Threshold The minimum height difference necessary for the erosion effects to be applied. Smaller values will result in more erosion being applied.
Surface Thickness The thickness of the surface for the layer weight erosion effect.
Iteration Num The number of iterations performed. Larger values result in more levels of erosion.
Erosion Effects Filter
Subtraction Only applies erosion effects that result in lowering the heightmap
Both Apply all erosion effects, both raising and lowering the heightmap
Addition Only applies erosion effects that result in raising the heightmap
Landscape_Thermal_Erosion_Filter.jpg
Noise Scale The size of the noise filter used. The noise filter is related to position and scale, which means if you don't change Noise Scale, the same filter is applied to the same position many times.

Hydraulic Erosion

Landscape_Tools_Hydraulic.jpg

This tool uses a hydraulic erosion simulation, i.e. erosion from water, to adjust the height of the heightmap. A noise filter is used to determine where the initial rain is distributed. Then the simulation is calculated to determine water flow from that initial rain as well as dissolving, water transfer, and evaporation. The result of that calculation provides the actual value used to lower the heightmap.

(Hover for Before/After)

Landscape_Hydraulic_Erosion.jpg

Option Description
Total Strength Controls how much effect each brush stroke has.
Rain Amount The amount of rain to apply to the surface. Larger values will result in more erosion.
Sediment Cap. The amount of sediment that the water can carry. Larger values will result in more erosion.
Iteration Num The number of iterations performed. Larger values result in more levels of erosion.
Rain Distribution Filter
Both Rain is applied only where the noise filter is positive.
Addition Rain is applied to the entire area.
Landscape_Hydraulic_Erosion_Filter.jpg
Rain Dist. Scale The size of the noise filter for applying initial rain to the surface. The noise filter is related to position and scale, which means if you don't change Rain Dist. Scale, the same filter is applied to the same position many times.
Detail Smooth If checked, performs a detail preserving smooth to the erosion effect using the specified detail smoothing value. Larger detail smoothing values remove more details, while smaller values preserve more details.

Noise

Landscape_Tools_Noise.jpg

This tool applies a noise filter to the heightmap or layer weight. The strength determines the amount of noise.

Option Description
Total Strength Controls how much effect each brush stroke has.
Noise Effects Filter
Both Apply all noise effects
Addition Only applies noise effects that result in raising the heightmap
Landscape_Noise_Filter.jpg
Subtraction Only applies noise effects that result in lowering the heightmap
Noise Scale The size of the perlin noise filter used. The noise filter is related to position and scale, which means if you don't change Noise Scale, the same filter is applied to the same position many times.

Component Tools

The tools described below act on the component level of the current landscape.

Component Selection

Landscape_Tools_Selection.jpg

This tool selects Landscape components, one at a time, for subsequent use with other tools, such as moving the components to streaming levels and deleting components.

Alternate Controls Operation
Ctrl + Shift + Left Mouse Button Deselects the component under the cursor.

The selection cursor is always limited to one component:

selection_cursor.jpg

When components have been selected, they become shaded red:

selection_components.jpg

Clear Component Selection
Clears the current selected component(s).

Add New Landscape Component

Landscape_Tools_AddComp.jpg

This tool creates new components for the current Landscape, one at a time.

When the Add Landscape Component tool is active, the cursor shows a green wireframe where new components can be added:

selection_add_cursor.jpg

Using the tool adds a new component where the cursor is located:

selection_add.jpg

Delete Landscape Components

Landscape_Tools_RemoveComp.jpg

The tool performs the delete action on the components that have been selected by the Selection tool:

selection_remove_cursor.jpg

Using the tool removes the selected components:

selection_remove.jpg

Move to Streaming Level

Landscape_Tools_MoveStream.jpg

This tool moves the selected components, via using the Selection tool, to the current streaming level. This makes it possible to move sections of a Landscape into a streaming level so that they will be streamed in and out with that level, optimizing the performance of the landscape.

When the streaming level is visible, the landscape renders all the components:

selection_movestream_visible.jpg

Toggling the visibility of the level (which can be done by clicking the level_visibility_button.jpg button for that level in the Level Browser) causes the components in that level to no longer be rendered:

selection_movestream_invisible.jpg

Note that if you want to use streaming levels, you must store your LandscapeMaterial inside a .upk package file rather than inside the map package. If you fail to do so you will get cross-level reference errors when you come to save your level.

Region Tools

The tools below are used to perform actions on specific regions of the landscape.

Region Selection

Landscape_Tools_RegionSelect.jpg

This tool selects regions of the landscape using the current brush settings and tool strength to be used to fit the gizmo to a specific area or to act as a mask for coping data to, or pasting data from, a gizmo.

region_selection.jpg

Controls Operation
Ctrl + Left Mouse Button Adds to the selected region.
Ctrl + Shift + Left Mouse Button Removes from the selected region.

Option Description
Total Strength Controls how much effect each brush stroke has.

Clear Region Selection
Clears the current selected region(s).
Use Region as Mask
When enabled, the region selection acts as a mask with the active area being comprised of the selected region.
region_mask.jpg
Negative Mask
When enabled and Use Region as Mask is also enabled, the region selection acts as a mask, but the active area is comprised of the unselected region.
region_mask_negative.jpg

Region Copy/Paste

Landscape_Tools_RegionCopy.jpg

This tool allows for copying height data from one area of a landscape to another through the use of landscape gizmos.

Copy Data to Gizmo
Copies the data within the gizmo bounds to the gizmo taking into account any masking from selected regions.
Fit Gizmo to Selected Regions
Positions and resizes the gizmo so that it completely encompasses all region selections. $ Fit Height Values to Gizmo Size : $ Clear Gizmo Data :

When this tool is active, the controls for importing and exporting gizmo data become active.

Brushes


The tools are applied to the landscape using brushes which can have different shapes, sizes, and falloffs. Brushes should be a familiar concept to anyone who has experience using Photoshop or a similar image editing application. Essentially, a brush is a way of defining the area of effect of the currently active tool.

Brush Size
This determines the size of the brush in Unreal Units including the falloff. Within this area, the brush will have at least some effect.
Brush Falloff
This determines the percentage from the brush's extents where the falloff should begin. Essentially, this determines how hard the brush's edges are. A falloff of 0.0 means the brush will have full effect throughout with hard edges. A falloff of 1.0 means the brush will only have full effect at its center and will falloff throughout its entire area to the edge.

The size and falloff of the current brush is displayed in the viewport as a flashing, light-purple filled circle, or pair of concentric circles.

Landscape_Brush_Viewport.jpg

Circle Brush

The circle brush simply allows the current tool to be applied in a circular area

circle.jpg

Circle Brush Falloff Type

Clicking on the currently selected brush icon opens a drop-down a menu to choose the falloff type.

Smooth The falloff is a linear falloff which has been smoothed to round off the sharp edges where the falloff begins and ends.
Linear This falloff is a sharp, linear falloff.
Sphere This uses an half-ellipsoid shaped falloff so the start of the falloff begins smoothly and ends sharply.
Tip This falloff is the opposite to the Sphere falloff, with an abrupt start and a smooth ellipsoidal end.

Below is an example of each of these falloff types when operating on the heightmap, with the same radius and falloff:

landscape_brush_falloff.png

Pattern Brush

brush_pattern.jpg

The pattern brush allows you to use an arbitrary shape for the brush by sampling a single color channel from a texture to use as the alpha for the brush. The texture pattern is tiled as the brush is painted.

For example, the textures below could be used as the alpha:

alpha_tex.jpg alpha_tex_checker.jpg

Those would result in the following brushes:

alpha_pattern.jpg alpha_applied.jpg

alpha_pattern_checker.jpg alpha_default_checker.jpg

Alpha Brush

Clicking on the Pattern brush icon opens a drop-down a menu which allows you to select the Alpha brush.

brush_alpha.jpg

The alpha brush is similar to the pattern brush, but instead of tiling the texture across the landscape as you paint, it orientates the brush texture in the direction of your painting and drags the shape as you move the cursor.

brush_alpha_drag.jpg

Alpha and Pattern Brush Settings

Setting Description
Use Texture
alpha_usetexture.jpg
Pressing the R,G,B or A buttons will set the alpha brush contents to the data from the corresponding channel of the texture that is currently selected in the Content Browser. On the right, a preview of the alpha brush is shown. Clicking the preview image will locate the current alpha brush source texture in the Content Browser.
Texture Scale (pattern brush only) Sets the size of the sampled texture in relation to the surface of the landscape.
alpha_default.jpg alpha_texscale.jpg
Texture Rotation (pattern brush only) Sets the rotation of the sampled texture in relation to the surface of the landscape.
alpha_texrot_default.jpg alpha_texrotation.jpg
Texture Pan [U/V] (pattern brush only) Sets the offset of the sampled texture on the surface of the landscape.
alpha_default.jpg alpha_texpan.jpg

* Note that the texture used for the alpha or pattern brush must contain source art (the uncompressed data). Imported textures contain a copy of the source art by default, but we remove this data from the textures packages supplied with UDK builds to reduce the download size. So to use this feature on a UDK build, you must import the texture yourself.

Component Brush

brush_selection.jpg

The Component Brush is a brush used for operating on individual components. The cursor becomes limited to a single component at a time:

selection_cursor.jpg

It is the only brush available when using the tools that operate on the individual component level.

selection_tools.jpg

Gizmo Brush

brush_gizmo.jpg

The Gizmo brush is used for fully painting the data contained within a Landscape Gizmo, which is a tool that makes it possible to perform actions to a specific localized area of the landscape.

landscape_gizmo.jpg

This brush is only available when the Region Copy/Paste tool is active.

regioncopy_active.jpg

gizmo_active.jpg

Targets


A target is any individual part of the landscape that can be edited. The heightmap as well as the texture layers of the landscape can all be targets and edited using the Landscape Edit Dialog and tools. The heightmap is added to the Targets list when the landscape is created. New layers can be added using the Edit Mode and their weights can be adjusted using the editing tools in a similar manner to modifying the heightmap, though only a subset of the tools can effect layers.

The Target Layers section lists all the possible items that can be edited using the editing tools. The selected target specifies what the tool should affect. Each target is displayed with its name and a small thumbnail image. For texture layers, this thumbnail will display a snapshot of the texture applied to the layer.

Landscape_Target_unselected.png

When selected and focused, the target is shown highlighted in blue:

Landscape_Target_focused.png

When focus is directed elsewhere, the selected target is highlighted in white:

Landscape_Target.png

Layers

Landscape layers determine how a texture (or material network) is applied to a landscape terrain. A landscape uses multiple layers with different textures, scaling, rotation, and panning blended together to create the final textured terrain.

Landscape_Layers.jpg

Weight Editing

Each layer has a weight specifying how much influence that layer has on the landscape. Layers have no particular order. Instead, each layer's weight is stored separately and these all up to 1.0.

To modify the weight of a layer, the paint tool is used to increase or decrease the weight of the active layer. Any layer at any time. Simply select the layer to adjust the weighting of and use the paint tool in the same manner you would to paint the heightmap. As you increase the weight of one layer, the weight of the other layers will be uniformly decreased for that area.

Conversely, when painting a layer away (i.e. holding down Ctrl + Alt while painting), it is not clear what layer should be increased to replace it. The current behavior is to uniformly increase the weights of any other layers to match. Because of this behavior, it is not possible to paint all layers completely away. Instead of painting layers away, it is recommended you choose the layer you want to paint in its place, and paint that additively.

Landscape Materials

Painting layers has no effect unless the material specified in the LandscapeMaterial property of the Landscape actor is configured to make use of it.

  • See the LandscapeMaterials document for more information on setting up the Landscape material.

Edit Mode

The landscape defaults to having no layers. New layers can be added by enabling the Edit Mode in the Target Layers section. Clicking the Edit radio button enables the Edit mode which toggles the display of the controls for adding new layers.

Landscape_Target_Edit_Mode.png

To add a new layer, enter the name of the layer in the Add Layer Name text field and set the other properties as desired:

Hardness
TODO
NoBlend
TODO

Landscape_Target_Add.png

Click the Landscape_Target_Add_Button.png button to create the new layer.

Landscape_Target_Edit.png

When in Edit Mode, the Target in the list also display their properties, as seen above, and allow for the editing of the Hardness of each layer.

DebugView Mode

DebugView mode allows the weight of specific layers to be visualized on the landscape in the viewport. When DebugView mode is enabled, radio buttons allowing selection of individual color channels are shown with the Targets in the list.

Landscape_Target_Debug.png

Selecting a channel will apply a shader to the landscape which shows the area that channel of the selected Target covers.

Landscape Gizmos


Landsape Gizmos are editor-only Actors that are similar to volumes in that they define a specified area. There purpose is to hold height data for an area of a landscape so that it can be saved or copied to another location on the landscape.

landscape_gizmo.jpg

Gizmo Properties

These are the properties that are saved out when exporting Gizmos.

Width
The base width for Gizmo Actor in Unreal Units; X Axis shown as red line.
Height
The base height for the Gizmo Actor in Unreal Units; Y Axis shown as green line.
LengthZ
The base Z length for the Gizmo Actor in Unreal Units.
MarginZ
The Z value for space when you fit the Gizmo to the selection, with Max height and Min height. When you fit Gizmo to selected region, LengthZ = (Max height - Min height) + 2 * MarginZ.
MinRelativeZ
Minimum height value of data in the Gizmo. Height values in the Gizmo are normalized from 0.f to 1.f, and displayed as (Value - MinRelativeZ) * RelativeScaleZ.
RelativeScaleZ
Height scale of data in the Gizmo.

Copying to the Gizmo

In order to copy a portion of a landscape, the data for that area must be copied to a gizmo. Then, that data can later be pasted to another location.

To copy selected region:

  1. Select the Region Selection tool.
  2. Use the brush strokes to select a region of the landscape, similar to the normal painting process.
    copy_selectregion.jpg
  3. Enable Use Region as Mask so the selection will be used as a mask when copying the data.
    copy_regionmask.jpg
  4. Select the Region Copy/Paste tool. The gizmo will become visible in the viewport.
    copy_gizmovisible.jpg
  5. Press the Fit Gizmo to Selected Regions button to position and size the gizmo so that it encompasses all selected regions.
    copy_fitgizmo.jpg
  6. Press the Copy Data to Gizmo button to transfer the data for the selected region of the landscape within the gizmo's bounds. Pressing Ctrl + C performs the same function.
    copy_gizmodata.jpg

To copy area within gizmo:

  1. Select the Region Copy/Paste tool. The gizmo will become visible in the viewport.
  2. Select the gizmo by clicking on it. The transform widget should appear.
    copygizmo_visible.jpg
  3. Move, rotate, and scale the gizmo so that it encompasses the portion of the landscape you wish to copy.
    copygizmo_position.jpg
  4. Press the Copy Data to Gizmo button to transfer the data for the portion of the landscape within the gizmo's bounds. Pressing Ctrl + C performs the same function.
    copygizmo_data.jpg

Pasting from the Gizmo

Pasting data from a gizmo makes it possible to transfer parts of a landscape from one location to another. The data can either be pasted completely to creat an identical feature, or it can be painted to the new location using brush strokes and strength settings to partially transfer the feature.

Before data can be pasted from a gizmo, it must first be copied to a gizmo.

paste_gizmodata.jpg

To paste gizmo data:

  1. Move, rotate, and scale a gizmo which contains data so that it covers the area you wish to paste the data to.
    paste_positiongizmo.jpg
  2. Paste the data using one of the available brushes (Circle, Pattern, Alpha, Gizmo) to "paint" the data from the gizmo.
    • The Gizmo brush is used to fully paste the data from the gizmo. Pressing Ctrl + V also fully pastes the data from the gizmo.
    • Other brushes can be used to paint the data from the gizmo using the current brush size and strength.
      paste_full.jpg
      If there is a region selected using the Region Selection tool and Use Region as Mask is enabled, pasted data is applied according to the masked region.
      pastemask_region.jpg pastemask_partial.jpg

Gizmo Data Import/Export

Heightmap data can be imported and exported to and from the gizmo through the Import/Export to Gizmo section in the Landscape Edit window.

importexport.jpg

To Import Data to the Gizmo:

  1. Click the browse for file button ( import_filebrowse.png ) and select the heightmap file (16-bit raw file) you want to import to the gizmo. The file and dimensions of the heightmap will be filled in.
    import_file.jpg
    ALERT! Note: Since the import process uses the raw file format, there is no way to correctly determine which dimension is which. A best guess will be made, but you may need to manually reverse the dimensions in order to import the heightmap correctly.
    import_file_dimensions.jpg
  2. If you want to import layer weight information as well, press the Add Layer button ( import_layeradd.png ) to add as many layers as desired.
    import_layerfields.jpg
  3. Select the layer weightmap file (8-bit raw file) to import for each layer. The file and layer name will be filled in. The layer name uses the name of the file by default. Change the layer name if needed. Enabling the No Import checkbox will prevent any individual layer information from being imported.
    import_layerfile.jpg
  4. Once the heightmap and any layers are selected, press the Import to Gizmo button to import the data to the gizmo.
    If the dimensions are not correct, you may see something similar to this:
    import_incorrect.jpg
    Reverse the dimensions and re-import to get the correct result. If the dimensions were correct, the gizmo should show the correct data.
    import_correct.jpg

To Export Gizmo Data:

  1. With the gizmo populated with data (see Copying to the Gizmo), press the Export Gizmo Data button to export the gizmo data to a file. Enabling the Export Layers checkbox will also export the layer weight data to files.
  2. Choose a location and name for the heightmap file.
    export_file.jpg
  3. If exporting layers, choose locations and filenames for each exported layer.
    export_layerfile.jpg

Gizmo List

gizmolist.jpg

The Gizmo List displays a list of saved gizmos so that they can easily be reused at a later time.

gizmolist_populated.jpg

Control Description
gizmolist_pin.jpg Saves the gizmo's current position, size, and rotation to the list.
gizmolist_remove.jpg Removes the gizmo currently selected in the list.
gizmolist_goto.jpg Sets the gizmo's position, size, and rotation to that of the currently selected gizmo in the list.