2018-08-25 00:25:06 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
<class name= "SimplexNoise" inherits= "Resource" category= "Core" version= "3.1" >
<brief_description >
Noise generator based on Open Simplex.
</brief_description>
<description >
This resource allows you to configure and sample a fractal noise space.
Here is a brief usage example that configures a SimplexNoise and gets samples at various positions and dimensions:
[codeblock]
var noise = SimplexNoise.new()
# Configure
noise.seed = randi()
noise.octaves = 4
noise.period = 20.0
noise.persistance = 0.8
2018-09-19 20:05:55 +02:00
# Sample
2018-08-25 00:25:06 +02:00
print("Values:")
2018-09-19 20:05:55 +02:00
print(noise.get_noise_2d(1.0, 1.0))
print(noise.get_noise_3d(0.5, 3.0, 15.0))
2018-09-20 11:03:23 +02:00
print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))
2018-08-25 00:25:06 +02:00
[/codeblock]
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "get_image" >
<return type= "Image" >
</return>
<argument index= "0" name= "width" type= "int" >
</argument>
<argument index= "1" name= "height" type= "int" >
</argument>
<description >
Generate a noise image with the requested [code]width[/code] and [code]height[/code], based on the current noise parameters.
</description>
</method>
<method name= "get_noise_2d" >
<return type= "float" >
</return>
<argument index= "0" name= "x" type= "float" >
</argument>
<argument index= "1" name= "y" type= "float" >
</argument>
<description >
2018-09-19 21:00:10 +02:00
Returns the 2D noise value [code][-1,1][/code] at the given position.
2018-08-25 00:25:06 +02:00
</description>
</method>
<method name= "get_noise_2dv" >
<return type= "float" >
</return>
<argument index= "0" name= "pos" type= "Vector2" >
</argument>
<description >
2018-09-19 21:00:10 +02:00
Returns the 2D noise value [code][-1,1][/code] at the given position.
2018-08-25 00:25:06 +02:00
</description>
</method>
<method name= "get_noise_3d" >
<return type= "float" >
</return>
<argument index= "0" name= "x" type= "float" >
</argument>
<argument index= "1" name= "y" type= "float" >
</argument>
<argument index= "2" name= "z" type= "float" >
</argument>
<description >
2018-09-19 21:00:10 +02:00
Returns the 3D noise value [code][-1,1][/code] at the given position.
2018-08-25 00:25:06 +02:00
</description>
</method>
<method name= "get_noise_3dv" >
<return type= "float" >
</return>
<argument index= "0" name= "pos" type= "Vector3" >
</argument>
<description >
2018-09-19 21:00:10 +02:00
Returns the 3D noise value [code][-1,1][/code] at the given position.
2018-08-25 00:25:06 +02:00
</description>
</method>
<method name= "get_noise_4d" >
<return type= "float" >
</return>
<argument index= "0" name= "x" type= "float" >
</argument>
<argument index= "1" name= "y" type= "float" >
</argument>
<argument index= "2" name= "z" type= "float" >
</argument>
<argument index= "3" name= "w" type= "float" >
</argument>
<description >
2018-09-19 21:00:10 +02:00
Returns the 4D noise value [code][-1,1][/code] at the given position.
2018-08-25 00:25:06 +02:00
</description>
</method>
<method name= "get_seamless_image" >
<return type= "Image" >
</return>
<argument index= "0" name= "size" type= "int" >
</argument>
<description >
2018-09-19 20:05:55 +02:00
Generate a tileable noise image, based on the current noise parameters.
Generated seamless images are always square ([code]size[/code] x [code]size[/code]).
2018-08-25 00:25:06 +02:00
</description>
</method>
</methods>
<members >
<member name= "lacunarity" type= "float" setter= "set_lacunarity" getter= "get_lacunarity" >
Difference in period between [member octaves].
</member>
<member name= "octaves" type= "int" setter= "set_octaves" getter= "get_octaves" >
2018-09-19 20:05:55 +02:00
Number of Simplex noise layers that are sampled to get the fractal noise.
2018-08-25 00:25:06 +02:00
</member>
<member name= "period" type= "float" setter= "set_period" getter= "get_period" >
2018-09-19 20:05:55 +02:00
Period of the base octave.
A lower period results in a higher-frequency noise (more value changes across the same distance).
2018-08-25 00:25:06 +02:00
</member>
<member name= "persistance" type= "float" setter= "set_persistance" getter= "get_persistance" >
2018-09-19 20:05:55 +02:00
Contribution factor of the different octaves.
2018-08-25 00:25:06 +02:00
A [code]persistance[/code] 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.
</member>
<member name= "seed" type= "int" setter= "set_seed" getter= "get_seed" >
Seed used to generate random values, different seeds will generate different noise maps.
</member>
</members>
<constants >
</constants>
</class>