class_opensimplexnoise.rst 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the OpenSimplexNoise.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_OpenSimplexNoise:
  6. OpenSimplexNoise
  7. ================
  8. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. **Category:** Core
  10. Brief Description
  11. -----------------
  12. Noise generator based on Open Simplex.
  13. Properties
  14. ----------
  15. +---------------------------+-----------------------------------------------------------------+------+
  16. | :ref:`float<class_float>` | :ref:`lacunarity<class_OpenSimplexNoise_property_lacunarity>` | 2.0 |
  17. +---------------------------+-----------------------------------------------------------------+------+
  18. | :ref:`int<class_int>` | :ref:`octaves<class_OpenSimplexNoise_property_octaves>` | 3 |
  19. +---------------------------+-----------------------------------------------------------------+------+
  20. | :ref:`float<class_float>` | :ref:`period<class_OpenSimplexNoise_property_period>` | 64.0 |
  21. +---------------------------+-----------------------------------------------------------------+------+
  22. | :ref:`float<class_float>` | :ref:`persistence<class_OpenSimplexNoise_property_persistence>` | 0.5 |
  23. +---------------------------+-----------------------------------------------------------------+------+
  24. | :ref:`int<class_int>` | :ref:`seed<class_OpenSimplexNoise_property_seed>` | 0 |
  25. +---------------------------+-----------------------------------------------------------------+------+
  26. Methods
  27. -------
  28. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | :ref:`Image<class_Image>` | :ref:`get_image<class_OpenSimplexNoise_method_get_image>` **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)** |
  30. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | :ref:`float<class_float>` | :ref:`get_noise_1d<class_OpenSimplexNoise_method_get_noise_1d>` **(** :ref:`float<class_float>` x **)** |
  32. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | :ref:`float<class_float>` | :ref:`get_noise_2d<class_OpenSimplexNoise_method_get_noise_2d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  34. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`float<class_float>` | :ref:`get_noise_2dv<class_OpenSimplexNoise_method_get_noise_2dv>` **(** :ref:`Vector2<class_Vector2>` pos **)** |
  36. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`float<class_float>` | :ref:`get_noise_3d<class_OpenSimplexNoise_method_get_noise_3d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z **)** |
  38. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`float<class_float>` | :ref:`get_noise_3dv<class_OpenSimplexNoise_method_get_noise_3dv>` **(** :ref:`Vector3<class_Vector3>` pos **)** |
  40. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`float<class_float>` | :ref:`get_noise_4d<class_OpenSimplexNoise_method_get_noise_4d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)** |
  42. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`Image<class_Image>` | :ref:`get_seamless_image<class_OpenSimplexNoise_method_get_seamless_image>` **(** :ref:`int<class_int>` size **)** |
  44. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. Description
  46. -----------
  47. 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:
  48. ::
  49. var noise = OpenSimplexNoise.new()
  50. # Configure
  51. noise.seed = randi()
  52. noise.octaves = 4
  53. noise.period = 20.0
  54. noise.persistence = 0.8
  55. # Sample
  56. print("Values:")
  57. print(noise.get_noise_2d(1.0, 1.0))
  58. print(noise.get_noise_3d(0.5, 3.0, 15.0))
  59. print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))
  60. Property Descriptions
  61. ---------------------
  62. .. _class_OpenSimplexNoise_property_lacunarity:
  63. - :ref:`float<class_float>` **lacunarity**
  64. +-----------+-----------------------+
  65. | *Default* | 2.0 |
  66. +-----------+-----------------------+
  67. | *Setter* | set_lacunarity(value) |
  68. +-----------+-----------------------+
  69. | *Getter* | get_lacunarity() |
  70. +-----------+-----------------------+
  71. Difference in period between :ref:`octaves<class_OpenSimplexNoise_property_octaves>`.
  72. .. _class_OpenSimplexNoise_property_octaves:
  73. - :ref:`int<class_int>` **octaves**
  74. +-----------+--------------------+
  75. | *Default* | 3 |
  76. +-----------+--------------------+
  77. | *Setter* | set_octaves(value) |
  78. +-----------+--------------------+
  79. | *Getter* | get_octaves() |
  80. +-----------+--------------------+
  81. Number of OpenSimplex noise layers that are sampled to get the fractal noise.
  82. .. _class_OpenSimplexNoise_property_period:
  83. - :ref:`float<class_float>` **period**
  84. +-----------+-------------------+
  85. | *Default* | 64.0 |
  86. +-----------+-------------------+
  87. | *Setter* | set_period(value) |
  88. +-----------+-------------------+
  89. | *Getter* | get_period() |
  90. +-----------+-------------------+
  91. Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
  92. .. _class_OpenSimplexNoise_property_persistence:
  93. - :ref:`float<class_float>` **persistence**
  94. +-----------+------------------------+
  95. | *Default* | 0.5 |
  96. +-----------+------------------------+
  97. | *Setter* | set_persistence(value) |
  98. +-----------+------------------------+
  99. | *Getter* | get_persistence() |
  100. +-----------+------------------------+
  101. 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.
  102. .. _class_OpenSimplexNoise_property_seed:
  103. - :ref:`int<class_int>` **seed**
  104. +-----------+-----------------+
  105. | *Default* | 0 |
  106. +-----------+-----------------+
  107. | *Setter* | set_seed(value) |
  108. +-----------+-----------------+
  109. | *Getter* | get_seed() |
  110. +-----------+-----------------+
  111. Seed used to generate random values, different seeds will generate different noise maps.
  112. Method Descriptions
  113. -------------------
  114. .. _class_OpenSimplexNoise_method_get_image:
  115. - :ref:`Image<class_Image>` **get_image** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
  116. Generate a noise image with the requested ``width`` and ``height``, based on the current noise parameters.
  117. .. _class_OpenSimplexNoise_method_get_noise_1d:
  118. - :ref:`float<class_float>` **get_noise_1d** **(** :ref:`float<class_float>` x **)**
  119. Returns the 1D noise value ``[-1,1]`` at the given x-coordinate.
  120. **Note:** This method actually returns the 2D noise value ``[-1,1]`` with fixed y-coordinate value 0.0.
  121. .. _class_OpenSimplexNoise_method_get_noise_2d:
  122. - :ref:`float<class_float>` **get_noise_2d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  123. Returns the 2D noise value ``[-1,1]`` at the given position.
  124. .. _class_OpenSimplexNoise_method_get_noise_2dv:
  125. - :ref:`float<class_float>` **get_noise_2dv** **(** :ref:`Vector2<class_Vector2>` pos **)**
  126. Returns the 2D noise value ``[-1,1]`` at the given position.
  127. .. _class_OpenSimplexNoise_method_get_noise_3d:
  128. - :ref:`float<class_float>` **get_noise_3d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z **)**
  129. Returns the 3D noise value ``[-1,1]`` at the given position.
  130. .. _class_OpenSimplexNoise_method_get_noise_3dv:
  131. - :ref:`float<class_float>` **get_noise_3dv** **(** :ref:`Vector3<class_Vector3>` pos **)**
  132. Returns the 3D noise value ``[-1,1]`` at the given position.
  133. .. _class_OpenSimplexNoise_method_get_noise_4d:
  134. - :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 **)**
  135. Returns the 4D noise value ``[-1,1]`` at the given position.
  136. .. _class_OpenSimplexNoise_method_get_seamless_image:
  137. - :ref:`Image<class_Image>` **get_seamless_image** **(** :ref:`int<class_int>` size **)**
  138. Generate a tileable noise image, based on the current noise parameters. Generated seamless images are always square (``size`` × ``size``).