OpenSimplexNoise¶
Inherits: Resource < Reference < Object
Noise generator based on Open Simplex.
Description¶
This resource allows you to configure and sample a fractal noise space. Here is a brief usage example that configures an OpenSimplexNoise and gets samples at various positions and dimensions:
var noise = OpenSimplexNoise.new()
# Configure
noise.seed = randi()
noise.octaves = 4
noise.period = 20.0
noise.persistence = 0.8
# Sample
print("Values:")
print(noise.get_noise_2d(1.0, 1.0))
print(noise.get_noise_3d(0.5, 3.0, 15.0))
print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))
Properties¶
|
||
|
||
|
||
|
||
|
Methods¶
get_image ( int width, int height, Vector2 noise_offset=Vector2( 0, 0 ) ) const |
|
get_noise_1d ( float x ) const |
|
get_noise_2d ( float x, float y ) const |
|
get_noise_2dv ( Vector2 pos ) const |
|
get_noise_3d ( float x, float y, float z ) const |
|
get_noise_3dv ( Vector3 pos ) const |
|
get_noise_4d ( float x, float y, float z, float w ) const |
|
get_seamless_image ( int size ) const |
Property Descriptions¶
float lacunarity = 2.0
Difference in period between octaves.
int octaves = 3
Number of OpenSimplex noise layers that are sampled to get the fractal noise. Higher values result in more detailed noise but take more time to generate.
Note: The maximum allowed value is 9.
float period = 64.0
Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
float persistence = 0.5
Contribution factor of the different octaves. A persistence
value of 1 means all the octaves have the same contribution, a value of 0.5 means each octave contributes half as much as the previous one.
int seed = 0
Seed used to generate random values, different seeds will generate different noise maps.
Method Descriptions¶
Image get_image ( int width, int height, Vector2 noise_offset=Vector2( 0, 0 ) ) const
Generate a noise image in Image.FORMAT_L8 format with the requested width
and height
, based on the current noise parameters. If noise_offset
is specified, then the offset value is used as the coordinates of the top-left corner of the generated noise.
float get_noise_1d ( float x ) const
Returns the 1D noise value [-1,1]
at the given x-coordinate.
Note: This method actually returns the 2D noise value [-1,1]
with fixed y-coordinate value 0.0.
float get_noise_2d ( float x, float y ) const
Returns the 2D noise value [-1,1]
at the given position.
float get_noise_2dv ( Vector2 pos ) const
Returns the 2D noise value [-1,1]
at the given position.
float get_noise_3d ( float x, float y, float z ) const
Returns the 3D noise value [-1,1]
at the given position.
float get_noise_3dv ( Vector3 pos ) const
Returns the 3D noise value [-1,1]
at the given position.
float get_noise_4d ( float x, float y, float z, float w ) const
Returns the 4D noise value [-1,1]
at the given position.
Image get_seamless_image ( int size ) const
Generate a tileable noise image in Image.FORMAT_L8 format, based on the current noise parameters. Generated seamless images are always square (size
× size
).
Note: Seamless noise has a lower contrast compared to non-seamless noise. This is due to the way noise uses higher dimensions for generating seamless noise.