Noise Height Tool
The Noise Height Tool is a paint-and-fill tool that allows you to use different Noise Types and Fractal Types to modify the height of your Terrain. It uses the shaders that the Noise Library generates, and the Tool Shader Generator for the Noise Height Tool.
Select a Terrain tile to bring up the Terrain Inspector. In the Terrain Inspector, click the Paint Terrain icon, and select Sculpt > Noise from the list of Terrain tools.
Noise Height Tool Settings are located at the bottom of the Noise Height Tool window.
Parameters
Noise Field Preview
The Noise Field Preview is an interactive preview that shows the output of the current noise and fractal variant that you set using the Noise Settings.
Depending on the noise and fractal variant, you might see different colors in the Noise Field Preview. Here are the different colors and their meanings.
Color | Description |
---|---|
Grayscale | Output values are within the 0-1 range, where black is 0 and white is 1. |
Cyan | Output values are negative. |
Black | Output values are 0. |
White | Output values are 1. |
Red | Output values are above 1. This helps you debug any normalization issues when exporting noise Textures. It's best to have exported values that are unsigned and normalized between the 0-1 range. |
Controls
- Translation and Panning: Click on the preview to pan the noise field, and drag the cursor to modify the translation of the noise field.
- Scale and Zoom: To modify the scale of the noise field, place the cursor on the preview, and scroll to zoom in or out.
Export
In the Noise Height Tool, the Export button is located in the bottom right corner of the Noise Field Preview. Click Export to open the Export Noise to Texture window using the source Noise Settings Asset. It has options for exporting the noise to a Texture.
Property | Description |
---|---|
Texture Type | There are two available modes. • Texture 2D: Writes to an image format such as .png .• Texture 3D: Writes to an .asset , which Unity reads in as a 3D Texture. |
Dimensions | Texture size, where X is width and Y is height. If you set the Export Mode to Texture3D, a third option for Z appears. This is the number of "slices" to use when Unity generates the 3D Texture. |
Texture Format | A list of Graphics Formats supported by Unity for 2D image export. |
Export | Click this button to open a dialog box that lets you save the noise. |
Coordinate Space
Determines which coordinate space to use for the Noise Height Tool’s paint mode.
Property | Description |
---|---|
World | Click to use the world-space position of the Terrain’s heightmap texel to calculate noise values. Noise values are fixed in world space, and are unaffected by the Brush’s size. |
Brush | Click to use the Brush-space UV of the current paint operation to calculate noise values. Since the tool performs noise calculations in the Brush-space, the positions it uses are derived directly from the Brush’s local transform, where the center of the Brush is the origin, and the noise-field positions scale with the Brush’s size. |
Noise Settings Asset
Use the Noise Settings Asset field to save and load curated Noise Settings assets. Note that there are two possible states:
- When there is no Noise Settings asset assigned, Unity uses an internal instance of a Noise Settings asset, which you can still modify through the UI. Two buttons appear: Reset and Save As.
- When there is a Noise Settings asset assigned, Unity copies the settings stored in that asset. When you modify the noise settings through the UI, Unity only applies those changes to the copy of the Noise Settings asset, not the original Noise Settings asset that is stored on disk. This prevents you from overwriting the original with unwanted changes as you tweak the values. Three buttons appear: Revert, Apply, and Save As.
Below are descriptions for each of the buttons that might accompany the Noise Settings Asset field.
Property | Description |
---|---|
Reset | Resets the Noise Settings Asset to the default built-in settings. |
Revert | Reverts the settings of the active Noise Settings Asset to the settings of the original reference that is stored on disk. |
Apply | Writes the current settings to the assigned reference stored on disk. |
Save As | Opens a dialog box that allows you to save the settings to a new Noise Settings Asset in your project’s Assets folder. Also assigns the newly-created Noise Settings Asset in the field. |
Transform Settings
The Transform Settings move the noise domain space in the order of Translate, Rotate, and Scale.
Property | Description |
---|---|
Translation | Moves the center space of the noise from one location to another. Unity applies this translation value to the input positions of the domain space that the noise uses to generate its output values. You can also perform this operation by clicking and dragging the Noise Field Preview. |
Rotation | Rotates around the origin of the noise domain, which Unity uses the Translation value to determine. Unity applies this rotation value to the input positions of the domain space that the noise uses to generate its output values. |
Scale | The size of the input domain space. Unity applies this scaling factor to the input positions of the domain space that the noise uses to generate its output values. You can also perform this operation by placing the cursor on the Noise Field Preview and moving the wheel button. |
Flip Scale | Use these buttons to flip the scale of the noise on the X, Y, and Z axes relative to the center of the Noise Field Preview. • X: Flips the patterns on the right side of the preview to the left, and flips those on the left side to the right. • Y: Flips the patterns on the top of the preview to the bottom, and flips those on the bottom to the top. • Z: There's no visible effect because the preview is a 2D slice of the noise domain. However, similar to a Camera's Z axis, you can think of it as flipping an infinite pattern that goes into and out of the preview. |
Domain Settings
The domain settings alter the controls for each noise type.
Property | Description |
---|---|
Noise Type | There are five noise patterns that you can select. • Billow is similar to Perlin noise, but with more rounded features that resemble natural phenomena, such as treetops and hills. • Perlin is a noise where the visual details are the same size. This is good for close-up mountain details. • Ridge is billow noise filtered through an absolute function that is then inverted. This is good for ridges and deep valleys. • Value is a noise that creates a lattice of points, which are assigned random values. The noise function then returns an interpolated number based on the values of the surrounding lattice points. This is good for close up mountain details. • Voronoi is a Worley derivative noise that comes close to simulating textures of stone, water, or biological cells. |
Fractal Type | There are three options that you can select. • Fbm, which stands for fractal Brownian motion. This is good for mountainous shapes. • Strata is an n-dimensional noise fed into one-dimensional Gradient noise. This is good for natural banding like in marble, tree rings, and terraces. • None turns off all the noise modifier options, resulting in the raw output of the Noise Type function you select. |
Strata Offset | This property only appears if you set the Fractal Type to Strata. Unity applies this vertical offset value to the strata. |
Strata Scale | This property only appears if you set the Fractal Type to Strata. Unity applies this multiplier to the strata. Higher Strata Scale values produce more banding. |
Octaves | The number of iterations of noise to layer together. Each octave is a layer of noise applied on top of the current accumulation of octaves, and each layer has different Amplitude and Frequency factors. Generally, each subsequent octave is smaller in scale and magnitude than the previous octave. This adds finer and finer details to the combined noise signal at each octave. |
Amplitude | The unmodified multiplier of the output of each octave of noise. |
Persistence | The scaling factor to apply to the Amplitude at each octave. |
Frequency | The feature size of the noise domain space at the first octave. |
Lacunarity | The scaling factor to apply to the Frequency at each octave. |
Warp Settings
See the Noise Settings API documentation for more information about the actual settings stored in the Noise Settings Asset.
Warp Settings apply turbulence to the noise. Turbulence refers to the random and chaotic n-dimensional vorticity that Unity applies to the input positions of the noise domain space.
Property | Description |
---|---|
Iterations | The number of turbulence iterations to apply. |
Strength | The magnitude of the turbulence. |
Offset | The four-dimensional offset direction of the turbulence in the noise. Depending on the number of dimensions to the noise, Unity uses different combinations of the Offset vector components when applying the offset during domain output calculations. |