FastNoiseLite
继承: Noise
< Resource
< RefCounted
< Object
Generates noise using the FastNoiseLite library.
描述
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
.
属性
枚举
enum NoiseType:
NoiseType TYPE_VALUE = 5
A lattice of points are assigned random values then interpolated based on neighboring values.
NoiseType TYPE_VALUE_CUBIC = 4
Similar to Value noise, 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.
NoiseType TYPE_PERLIN = 3
A lattice of random gradients. Their dot products are interpolated to obtain values in between the lattices.
NoiseType TYPE_CELLULAR = 2
Cellular includes both Worley noise and Voronoi diagrams which creates various regions of the same value.
NoiseType TYPE_SIMPLEX = 0
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.
NoiseType TYPE_SIMPLEX_SMOOTH = 1
Modified, higher quality version of TYPE_SIMPLEX
, but slower. Internally uses FastNoiseLite's OpenSimplex2S noise type.
enum FractalType:
FractalType FRACTAL_NONE = 0
No fractal noise.
FractalType FRACTAL_FBM = 1
Method using Fractional Brownian Motion to combine octaves into a fractal.
FractalType FRACTAL_RIDGED = 2
Method of combining octaves into a fractal resulting in a "ridged" look.
FractalType FRACTAL_PING_PONG = 3
Method of combining octaves into a fractal with a ping pong effect.
enum CellularDistanceFunction:
CellularDistanceFunction DISTANCE_EUCLIDEAN = 0
Euclidean distance to the nearest point.
CellularDistanceFunction DISTANCE_EUCLIDEAN_SQUARED = 1
Squared Euclidean distance to the nearest point.
CellularDistanceFunction DISTANCE_MANHATTAN = 2
Manhattan distance (taxicab metric) to the nearest point.
CellularDistanceFunction DISTANCE_HYBRID = 3
Blend of DISTANCE_EUCLIDEAN
and DISTANCE_MANHATTAN
to give curved cell boundaries
enum CellularReturnType:
CellularReturnType RETURN_CELL_VALUE = 0
The cellular distance function will return the same value for all points within a cell.
CellularReturnType RETURN_DISTANCE = 1
The cellular distance function will return a value determined by the distance to the nearest point.
CellularReturnType RETURN_DISTANCE2 = 2
The cellular distance function returns the distance to the second-nearest point.
CellularReturnType RETURN_DISTANCE2_ADD = 3
The distance to the nearest point is added to the distance to the second-nearest point.
CellularReturnType RETURN_DISTANCE2_SUB = 4
The distance to the nearest point is subtracted from the distance to the second-nearest point.
CellularReturnType RETURN_DISTANCE2_MUL = 5
The distance to the nearest point is multiplied with the distance to the second-nearest point.
CellularReturnType RETURN_DISTANCE2_DIV = 6
The distance to the nearest point is divided by the distance to the second-nearest point.
enum DomainWarpType:
DomainWarpType DOMAIN_WARP_SIMPLEX = 0
The domain is warped using the simplex noise algorithm.
DomainWarpType DOMAIN_WARP_SIMPLEX_REDUCED = 1
The domain is warped using a simplified version of the simplex noise algorithm.
DomainWarpType DOMAIN_WARP_BASIC_GRID = 2
The domain is warped using a simple noise grid (not as smooth as the other methods, but more performant).
enum DomainWarpFractalType:
DomainWarpFractalType DOMAIN_WARP_FRACTAL_NONE = 0
No fractal noise for warping the space.
DomainWarpFractalType DOMAIN_WARP_FRACTAL_PROGRESSIVE = 1
Warping the space progressively, octave for octave, resulting in a more "liquified" distortion.
DomainWarpFractalType DOMAIN_WARP_FRACTAL_INDEPENDENT = 2
Warping the space independently for each octave, resulting in a more chaotic distortion.
属性说明
CellularDistanceFunction cellular_distance_function = 0
void
set_cellular_distance_function ( value: CellularDistanceFunction )- CellularDistanceFunction get_cellular_distance_function ( )
Determines how the distance to the nearest/second-nearest point is computed. See CellularDistanceFunction for options.
float
cellular_jitter = 1.0
Maximum distance a point can move off of its grid position. Set to 0
for an even grid.
CellularReturnType cellular_return_type = 1
void
set_cellular_return_type ( value: CellularReturnType )- CellularReturnType get_cellular_return_type ( )
Return type from cellular noise calculations. See CellularReturnType.
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
void
set_domain_warp_fractal_lacunarity ( value:float
)float
get_domain_warp_fractal_lacunarity ( )
Octave 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.
DomainWarpFractalType domain_warp_fractal_type = 1
void
set_domain_warp_fractal_type ( value: DomainWarpFractalType )- DomainWarpFractalType get_domain_warp_fractal_type ( )
The method for combining octaves into a fractal which is used to warp the space. See DomainWarpFractalType.
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.
DomainWarpType domain_warp_type = 0
void
set_domain_warp_type ( value: DomainWarpType )- DomainWarpType get_domain_warp_type ( )
Sets the warp algorithm. See DomainWarpType.
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.
FractalType fractal_type = 1
void
set_fractal_type ( value: FractalType )- FractalType get_fractal_type ( )
The method for combining octaves into a fractal. See FractalType.
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.
NoiseType noise_type = 1
The noise algorithm used. See NoiseType.
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.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。