class_opensimplexnoise.rst 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the OpenSimplexNoise.xml source instead.
  3. .. The source is found in doc/classes or modules/<name>/doc_classes.
  4. .. _class_OpenSimplexNoise:
  5. OpenSimplexNoise
  6. ================
  7. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  8. **Category:** Core
  9. Brief Description
  10. -----------------
  11. Noise generator based on Open Simplex.
  12. Properties
  13. ----------
  14. +---------------------------+--------------------------------------------------------+
  15. | :ref:`float<class_float>` | :ref:`lacunarity<class_OpenSimplexNoise_lacunarity>` |
  16. +---------------------------+--------------------------------------------------------+
  17. | :ref:`int<class_int>` | :ref:`octaves<class_OpenSimplexNoise_octaves>` |
  18. +---------------------------+--------------------------------------------------------+
  19. | :ref:`float<class_float>` | :ref:`period<class_OpenSimplexNoise_period>` |
  20. +---------------------------+--------------------------------------------------------+
  21. | :ref:`float<class_float>` | :ref:`persistence<class_OpenSimplexNoise_persistence>` |
  22. +---------------------------+--------------------------------------------------------+
  23. | :ref:`int<class_int>` | :ref:`seed<class_OpenSimplexNoise_seed>` |
  24. +---------------------------+--------------------------------------------------------+
  25. Methods
  26. -------
  27. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`Image<class_Image>` | :ref:`get_image<class_OpenSimplexNoise_get_image>` **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)** |
  29. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | :ref:`float<class_float>` | :ref:`get_noise_2d<class_OpenSimplexNoise_get_noise_2d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  31. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | :ref:`float<class_float>` | :ref:`get_noise_2dv<class_OpenSimplexNoise_get_noise_2dv>` **(** :ref:`Vector2<class_Vector2>` pos **)** |
  33. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | :ref:`float<class_float>` | :ref:`get_noise_3d<class_OpenSimplexNoise_get_noise_3d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z **)** |
  35. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`get_noise_3dv<class_OpenSimplexNoise_get_noise_3dv>` **(** :ref:`Vector3<class_Vector3>` pos **)** |
  37. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | :ref:`float<class_float>` | :ref:`get_noise_4d<class_OpenSimplexNoise_get_noise_4d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)** |
  39. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`Image<class_Image>` | :ref:`get_seamless_image<class_OpenSimplexNoise_get_seamless_image>` **(** :ref:`int<class_int>` size **)** |
  41. +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. Description
  43. -----------
  44. 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:
  45. ::
  46. var noise = OpenSimplexNoise.new()
  47. # Configure
  48. noise.seed = randi()
  49. noise.octaves = 4
  50. noise.period = 20.0
  51. noise.persistence = 0.8
  52. # Sample
  53. print("Values:")
  54. print(noise.get_noise_2d(1.0, 1.0))
  55. print(noise.get_noise_3d(0.5, 3.0, 15.0))
  56. print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))
  57. Property Descriptions
  58. ---------------------
  59. .. _class_OpenSimplexNoise_lacunarity:
  60. - :ref:`float<class_float>` **lacunarity**
  61. +----------+-----------------------+
  62. | *Setter* | set_lacunarity(value) |
  63. +----------+-----------------------+
  64. | *Getter* | get_lacunarity() |
  65. +----------+-----------------------+
  66. Difference in period between :ref:`octaves<class_OpenSimplexNoise_octaves>`.
  67. .. _class_OpenSimplexNoise_octaves:
  68. - :ref:`int<class_int>` **octaves**
  69. +----------+--------------------+
  70. | *Setter* | set_octaves(value) |
  71. +----------+--------------------+
  72. | *Getter* | get_octaves() |
  73. +----------+--------------------+
  74. Number of OpenSimplex noise layers that are sampled to get the fractal noise.
  75. .. _class_OpenSimplexNoise_period:
  76. - :ref:`float<class_float>` **period**
  77. +----------+-------------------+
  78. | *Setter* | set_period(value) |
  79. +----------+-------------------+
  80. | *Getter* | get_period() |
  81. +----------+-------------------+
  82. Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
  83. .. _class_OpenSimplexNoise_persistence:
  84. - :ref:`float<class_float>` **persistence**
  85. +----------+------------------------+
  86. | *Setter* | set_persistence(value) |
  87. +----------+------------------------+
  88. | *Getter* | get_persistence() |
  89. +----------+------------------------+
  90. 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.
  91. .. _class_OpenSimplexNoise_seed:
  92. - :ref:`int<class_int>` **seed**
  93. +----------+-----------------+
  94. | *Setter* | set_seed(value) |
  95. +----------+-----------------+
  96. | *Getter* | get_seed() |
  97. +----------+-----------------+
  98. Seed used to generate random values, different seeds will generate different noise maps.
  99. Method Descriptions
  100. -------------------
  101. .. _class_OpenSimplexNoise_get_image:
  102. - :ref:`Image<class_Image>` **get_image** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
  103. Generate a noise image with the requested ``width`` and ``height``, based on the current noise parameters.
  104. .. _class_OpenSimplexNoise_get_noise_2d:
  105. - :ref:`float<class_float>` **get_noise_2d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  106. Returns the 2D noise value ``[-1,1]`` at the given position.
  107. .. _class_OpenSimplexNoise_get_noise_2dv:
  108. - :ref:`float<class_float>` **get_noise_2dv** **(** :ref:`Vector2<class_Vector2>` pos **)**
  109. Returns the 2D noise value ``[-1,1]`` at the given position.
  110. .. _class_OpenSimplexNoise_get_noise_3d:
  111. - :ref:`float<class_float>` **get_noise_3d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z **)**
  112. Returns the 3D noise value ``[-1,1]`` at the given position.
  113. .. _class_OpenSimplexNoise_get_noise_3dv:
  114. - :ref:`float<class_float>` **get_noise_3dv** **(** :ref:`Vector3<class_Vector3>` pos **)**
  115. Returns the 3D noise value ``[-1,1]`` at the given position.
  116. .. _class_OpenSimplexNoise_get_noise_4d:
  117. - :ref:`float<class_float>` **get_noise_4d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)**
  118. Returns the 4D noise value ``[-1,1]`` at the given position.
  119. .. _class_OpenSimplexNoise_get_seamless_image:
  120. - :ref:`Image<class_Image>` **get_seamless_image** **(** :ref:`int<class_int>` size **)**
  121. Generate a tileable noise image, based on the current noise parameters. Generated seamless images are always square (``size`` x ``size``).