:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.5/modules/opensimplex/doc_classes/OpenSimplexNoise.xml. .. _class_OpenSimplexNoise: OpenSimplexNoise ================ **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`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 ---------- +---------------------------+-----------------------------------------------------------------+----------+ | :ref:`float` | :ref:`lacunarity` | ``2.0`` | +---------------------------+-----------------------------------------------------------------+----------+ | :ref:`int` | :ref:`octaves` | ``3`` | +---------------------------+-----------------------------------------------------------------+----------+ | :ref:`float` | :ref:`period` | ``64.0`` | +---------------------------+-----------------------------------------------------------------+----------+ | :ref:`float` | :ref:`persistence` | ``0.5`` | +---------------------------+-----------------------------------------------------------------+----------+ | :ref:`int` | :ref:`seed` | ``0`` | +---------------------------+-----------------------------------------------------------------+----------+ Methods ------- +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`get_image` **(** :ref:`int` width, :ref:`int` height, :ref:`Vector2` noise_offset=Vector2( 0, 0 ) **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_noise_1d` **(** :ref:`float` x **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_noise_2d` **(** :ref:`float` x, :ref:`float` y **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_noise_2dv` **(** :ref:`Vector2` pos **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_noise_3d` **(** :ref:`float` x, :ref:`float` y, :ref:`float` z **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_noise_3dv` **(** :ref:`Vector3` pos **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_noise_4d` **(** :ref:`float` x, :ref:`float` y, :ref:`float` z, :ref:`float` w **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`get_seamless_image` **(** :ref:`int` size **)** |const| | +---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Property Descriptions --------------------- .. _class_OpenSimplexNoise_property_lacunarity: - :ref:`float` **lacunarity** +-----------+-----------------------+ | *Default* | ``2.0`` | +-----------+-----------------------+ | *Setter* | set_lacunarity(value) | +-----------+-----------------------+ | *Getter* | get_lacunarity() | +-----------+-----------------------+ Difference in period between :ref:`octaves`. ---- .. _class_OpenSimplexNoise_property_octaves: - :ref:`int` **octaves** +-----------+--------------------+ | *Default* | ``3`` | +-----------+--------------------+ | *Setter* | set_octaves(value) | +-----------+--------------------+ | *Getter* | get_octaves() | +-----------+--------------------+ 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. ---- .. _class_OpenSimplexNoise_property_period: - :ref:`float` **period** +-----------+-------------------+ | *Default* | ``64.0`` | +-----------+-------------------+ | *Setter* | set_period(value) | +-----------+-------------------+ | *Getter* | get_period() | +-----------+-------------------+ Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance). ---- .. _class_OpenSimplexNoise_property_persistence: - :ref:`float` **persistence** +-----------+------------------------+ | *Default* | ``0.5`` | +-----------+------------------------+ | *Setter* | set_persistence(value) | +-----------+------------------------+ | *Getter* | get_persistence() | +-----------+------------------------+ 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. ---- .. _class_OpenSimplexNoise_property_seed: - :ref:`int` **seed** +-----------+-----------------+ | *Default* | ``0`` | +-----------+-----------------+ | *Setter* | set_seed(value) | +-----------+-----------------+ | *Getter* | get_seed() | +-----------+-----------------+ Seed used to generate random values, different seeds will generate different noise maps. Method Descriptions ------------------- .. _class_OpenSimplexNoise_method_get_image: - :ref:`Image` **get_image** **(** :ref:`int` width, :ref:`int` height, :ref:`Vector2` noise_offset=Vector2( 0, 0 ) **)** |const| Generate a noise image in :ref:`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. ---- .. _class_OpenSimplexNoise_method_get_noise_1d: - :ref:`float` **get_noise_1d** **(** :ref:`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. ---- .. _class_OpenSimplexNoise_method_get_noise_2d: - :ref:`float` **get_noise_2d** **(** :ref:`float` x, :ref:`float` y **)** |const| Returns the 2D noise value ``[-1,1]`` at the given position. ---- .. _class_OpenSimplexNoise_method_get_noise_2dv: - :ref:`float` **get_noise_2dv** **(** :ref:`Vector2` pos **)** |const| Returns the 2D noise value ``[-1,1]`` at the given position. ---- .. _class_OpenSimplexNoise_method_get_noise_3d: - :ref:`float` **get_noise_3d** **(** :ref:`float` x, :ref:`float` y, :ref:`float` z **)** |const| Returns the 3D noise value ``[-1,1]`` at the given position. ---- .. _class_OpenSimplexNoise_method_get_noise_3dv: - :ref:`float` **get_noise_3dv** **(** :ref:`Vector3` pos **)** |const| Returns the 3D noise value ``[-1,1]`` at the given position. ---- .. _class_OpenSimplexNoise_method_get_noise_4d: - :ref:`float` **get_noise_4d** **(** :ref:`float` x, :ref:`float` y, :ref:`float` z, :ref:`float` w **)** |const| Returns the 4D noise value ``[-1,1]`` at the given position. ---- .. _class_OpenSimplexNoise_method_get_seamless_image: - :ref:`Image` **get_seamless_image** **(** :ref:`int` size **)** |const| Generate a tileable noise image in :ref:`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. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`