ErosionBrush header.jpg

A brush tool for creating erosion. It generates an effect of realistic hydraulic action, weathering and sediment under your mouse cursor, setting both heights and terrain textures.

Quick start guide

Add Erosion Brush component (Erosion Brush folder -> Erosion Brush DLL -> Erosion Brush) to Unity terrain object. If the terrain is empty (new one) add some humps that should be eroded.

To use brush turn on “Paint” checkbox. Paint terrain with erosion or noise.

Edit Mode

Paint

A checkbutton that turns erosion or noise painting on/off. When painting is on it is terrain editing with standard Unity tools is not possible, so terrain component is disabled when “Paint” is checked. To enable terrain editing turn off paint mode.

ErosionBrushHydraulic.png Erosion

Erosion that is caused mainly by water factors - rains and torrents. It will erode terrain (make a little canons where torrents flow) and return raised sediment in hollows. Moreover, it uses wind algorithm on convex surfaces - because hydraulic erosion does not work properly without wind.

ErosionBrushNoise.png Noise

Technically it is a perlin noise algorithm, that is auxiliary to hydraulic erosion. It can help to create preliminary terrain to erosion, or modify or enhance created terrain.

Brush Settings

Brush size

Size of the brush in Unity units. Bigger brush size gives better terrain quality, but too big values can slow painting. Brush size is displayed as bright blue circle in scene view.

Brush falloff

Decrease of brush opacity from center to rim. This parameter is specified in percent of the brush size. It is displayed as dark blue circle in scene view. Brush inside of the circle has the full opacity, and gradually decreases toward the bright circle.

Brush spacing

When pressing and holding mouse button brush goes on making stamps. Script will not place brush at the same position where old brush was placed, but in a little distance. This parameter specifies how far from old brush stamp will be placed new one (while mouse is still pressed). It  is specified in percent of the brush size.

Downscale

To perform quick operation on heightmaps of large size brush resolution could be scaled down. This will give less detail, but faster stamp. Takes the original height or splat map, scales it down, calculates erosion in lower resolution, and then upscales it back. Value of one means that there is no downscale.

Blur

The amount brush stamp should be blurred before apply. This parameter is very useful together with the downscale: faceted downscaled data could be blurred to give smooth result.

Erosion Parameters

Terrain durability

Baserock resistance to water erosion. Low values erode terrain more. Lowering this parameter is mainly needed to reduce the number of brush passes (iterations), but will reduce terrain quality as well.

Durability.jpg

Durability: 0.01 and 1. Note that right picture is almost not eroded.

Fluidity iterations

This parameter sets how liquid sediment (bedrock raised by torrents) is. Low parameter value will stick sediment on sheer cliffs, high value will allow sediment to drain in hollows. As this parameter sets number of iterations, increasing it to very high values can slow down performance.

Fluidity.jpg

Fluidity iterations: 1 and 5

Erosion amount

Amount of bedrock that is washed away by torrents. Unlike sediment amount, this parameter sets the amount of bedrock that is subtracted from original terrain. Zero value will not erode terrain by water at all.

Erosion.jpg

Erosion amount: 0.1 and 2

Sediment amount

Percent of bedrock raised by torrents that returns back to earth ) Unlike erosion amount, this parameter sets amount of land that is added to terrain. Zero value will not generate any sediment at all.

Sediment.jpg

Sediment amount: 0 and 2

Wind

Wind sets the amount of bedrock that was carried away by wind, rockfall and other factors non-related with water erosion. Technically it randomly smoothes the convex surfaces of the terrain. Use low values for tropical rocks (as they are more influenced by monsoon, rains and water erosion than by wind), and high values for highland pikes (as all streams freeze at high altitudes)

Wind.jpg

Wind: 2 and 0 (with low erosion, sediment and smooth values).

Blur

Applies additional smoothness to terrain in order to fit brush terrain into an existing terrain made with Unity standard tools. Low, but non-zero values can remove small pikes made by wind randomness or left from water erosion. Use low values if your terrain heightmap resolution is low.

Smooth.jpg

Blur: 0 and 1

Noise Parameters

Seed

Number to initialize random generator. With the same brush size, noise size and seed the noise value will be constant for each heightmap coordinate.

Noise Value

How much noise affects the surface (i.e. brush opacity).

Noise.jpg

Noise value: 10 and 20

Noise Size

Sets the size of the highest iteration of fractal noise. High values will create more irregular noise. This parameter represents the percentage of brush size.

NoiseSize.jpg

Noise size: 0.1 and 1.5

Detail

Defines the bias of each fractal. Low values sets low influence of low-sized fractals and high influence of high fractals. Low values will give smooth terrain, high values - detailed and even too noisy.

Detail.jpg

Noise Detail: 0 and 1.5

Uplift

When value is 0, noise is subtracted from terrain. When value is 1, noise is added to terrain. Value of 0.5 will mainly remain terrain on the same level, lifting or lowering individual areas.

Textures

Erosion brush can paint terrain with textures along with changing height. Please note that this feature works only when terrain splat map (i.e. Control Texture) has the same resolution as the terrain heightmap. When it does not, Erosion Brush will display a warning. “Fix Now” button can create new Control Texture with the required resolution, but this will clear all terrain texture painting. Make a terrain data .asset file before doing this!

Bedrock

All the eroded terrain will be painted with a bedrock texture. To enable bedrock painting check the corresponding checkbox and assign desired channel number. Each number corresponds to the terrain paint textures.

Sediment

All of the sediment generated by erosion can be painted by sediment texture. Please note that noise mode does not generate sediment, so this feature has no sense when that mode is on.

Settings

Color, Thickness, NumCorners

Visual representation of the brush. Defines the color, brush line width and brush smoothness.

Fix Unity5 Brush Positioning

Unity 5.0.0 has incorrect terrain brush positioning (Both in Erosion Brush and Standard Terrain sculpting). Turn toggle on to fix it. Warning: This fix is a crutch that bypasses known Unity's bug, turning it on causes some lag.

Record Undo

Disabling can increase performance a bit, but will make undo unavailable.

G Focuses on Brush

Analog of F button, but it will focus camera not on the whole terrain, but on current brush position.

Max Brush Size

Brush size slider maximum. Note that increasing brush size will reduce performance in the quadratic dependence.

Contact information

On any issues related with plugin functioning you can contact the author, Denis Pahunov, by mail: mail@denispahunov.ru