Class reference

FastNoiseLite

Inherits Noise

Generates noise using the FastNoiseLite library.

Description

This class generates noise using the FastNoiseLite library, which is a collection of several noise algorithms including Cellular, Perlin, Value, and more. Most generated noise values are in the range of [-1, 1], but not always. Some of the cellular noise algorithms return results above 1.

Properties

int cellular_distance_function = 0

Determines how the distance to the nearest/second-nearest point is computed.

float cellular_jitter = 1.0

Maximum distance a point can move off of its grid position. Set to 0 for an even grid.

int cellular_return_type = 1

Return type from cellular noise calculations.

float domain_warp_amplitude = 30.0

Sets the maximum warp distance from the origin.

bool domain_warp_enabled = false

If enabled, another FastNoiseLite instance is used to warp the space, resulting in a distortion of the noise.

float domain_warp_fractal_gain = 0.5

Determines the strength of each subsequent layer of the noise which is used to warp the space. A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.

float domain_warp_fractal_lacunarity = 6.0

The change in frequency between octaves, also known as "lacunarity", of the fractal noise which warps the space. Increasing this value results in higher octaves, producing noise with finer details and a rougher appearance.

int domain_warp_fractal_octaves = 5

The number of noise layers that are sampled to get the final value for the fractal noise which warps the space.

int domain_warp_fractal_type = 1

The method for combining octaves into a fractal which is used to warp the space.

float domain_warp_frequency = 0.05

Frequency of the noise which warps the space. Low frequency results in smooth noise while high frequency results in rougher, more granular noise.

int domain_warp_type = 0

The warp algorithm.

float fractal_gain = 0.5

Determines the strength of each subsequent layer of noise in fractal noise. A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.

float fractal_lacunarity = 2.0

Frequency multiplier between subsequent octaves. Increasing this value results in higher octaves producing noise with finer details and a rougher appearance.

int fractal_octaves = 5

The number of noise layers that are sampled to get the final value for fractal noise types.

float fractal_ping_pong_strength = 2.0

Sets the strength of the fractal ping pong type.

int fractal_type = 1

The method for combining octaves into a fractal.

float fractal_weighted_strength = 0.0

Higher weighting means higher octaves have less impact if lower octaves have a large impact.

float frequency = 0.01

The frequency for all noise types. Low frequency results in smooth noise while high frequency results in rougher, more granular noise.

int noise_type = 1

The noise algorithm used.

Vector3 offset = Vector3(0, 0, 0)

Translate the noise input coordinates by the given Vector3.

int seed = 0

The random number seed for all noise types.

Constants

TYPE_VALUE = 5

Enum: NoiseType

A lattice of points are assigned random values then interpolated based on neighboring values.

TYPE_VALUE_CUBIC = 4

Enum: NoiseType

Similar to value noise (TYPE_VALUE), but slower. Has more variance in peaks and valleys. Cubic noise can be used to avoid certain artifacts when using value noise to create a bumpmap. In general, you should always use this mode if the value noise is being used for a heightmap or bumpmap.

TYPE_PERLIN = 3

Enum: NoiseType

A lattice of random gradients. Their dot products are interpolated to obtain values in between the lattices.

TYPE_CELLULAR = 2

Enum: NoiseType

Cellular includes both Worley noise and Voronoi diagrams which creates various regions of the same value.

TYPE_SIMPLEX = 0

Enum: NoiseType

As opposed to TYPE_PERLIN, gradients exist in a simplex lattice rather than a grid lattice, avoiding directional artifacts. Internally uses FastNoiseLite's OpenSimplex2 noise type.

TYPE_SIMPLEX_SMOOTH = 1

Enum: NoiseType

Modified, higher quality version of TYPE_SIMPLEX, but slower. Internally uses FastNoiseLite's OpenSimplex2S noise type.

FRACTAL_NONE = 0

Enum: FractalType

No fractal noise.

FRACTAL_FBM = 1

Enum: FractalType

Method using Fractional Brownian Motion to combine octaves into a fractal.

FRACTAL_RIDGED = 2

Enum: FractalType

Method of combining octaves into a fractal resulting in a "ridged" look.

FRACTAL_PING_PONG = 3

Enum: FractalType

Method of combining octaves into a fractal with a ping pong effect.

DISTANCE_EUCLIDEAN = 0

Enum: CellularDistanceFunction

Euclidean distance to the nearest point.

DISTANCE_EUCLIDEAN_SQUARED = 1

Enum: CellularDistanceFunction

Squared Euclidean distance to the nearest point.

DISTANCE_MANHATTAN = 2

Enum: CellularDistanceFunction

Manhattan distance (taxicab metric) to the nearest point.

RETURN_CELL_VALUE = 0

Enum: CellularReturnType

The cellular distance function will return the same value for all points within a cell.

RETURN_DISTANCE = 1

Enum: CellularReturnType

The cellular distance function will return a value determined by the distance to the nearest point.

RETURN_DISTANCE2 = 2

Enum: CellularReturnType

The cellular distance function returns the distance to the second-nearest point.

RETURN_DISTANCE2_ADD = 3

Enum: CellularReturnType

The distance to the nearest point is added to the distance to the second-nearest point.

RETURN_DISTANCE2_SUB = 4

Enum: CellularReturnType

The distance to the nearest point is subtracted from the distance to the second-nearest point.

RETURN_DISTANCE2_MUL = 5

Enum: CellularReturnType

The distance to the nearest point is multiplied with the distance to the second-nearest point.

RETURN_DISTANCE2_DIV = 6

Enum: CellularReturnType

The distance to the nearest point is divided by the distance to the second-nearest point.

DOMAIN_WARP_SIMPLEX = 0

Enum: DomainWarpType

The domain is warped using the simplex noise algorithm.

DOMAIN_WARP_SIMPLEX_REDUCED = 1

Enum: DomainWarpType

The domain is warped using a simplified version of the simplex noise algorithm.

DOMAIN_WARP_BASIC_GRID = 2

Enum: DomainWarpType

The domain is warped using a simple noise grid (not as smooth as the other methods, but more performant).

DOMAIN_WARP_FRACTAL_NONE = 0

Enum: DomainWarpFractalType

No fractal noise for warping the space.

DOMAIN_WARP_FRACTAL_PROGRESSIVE = 1

Enum: DomainWarpFractalType

Warping the space progressively, octave for octave, resulting in a more "liquified" distortion.

DOMAIN_WARP_FRACTAL_INDEPENDENT = 2

Enum: DomainWarpFractalType

Warping the space independently for each octave, resulting in a more chaotic distortion.

Source revision 704b10a8e178
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.