class_opensimplexnoise.rst 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  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_property_lacunarity>` |
  16. +---------------------------+-----------------------------------------------------------------+
  17. | :ref:`int<class_int>` | :ref:`octaves<class_OpenSimplexNoise_property_octaves>` |
  18. +---------------------------+-----------------------------------------------------------------+
  19. | :ref:`float<class_float>` | :ref:`period<class_OpenSimplexNoise_property_period>` |
  20. +---------------------------+-----------------------------------------------------------------+
  21. | :ref:`float<class_float>` | :ref:`persistence<class_OpenSimplexNoise_property_persistence>` |
  22. +---------------------------+-----------------------------------------------------------------+
  23. | :ref:`int<class_int>` | :ref:`seed<class_OpenSimplexNoise_property_seed>` |
  24. +---------------------------+-----------------------------------------------------------------+
  25. Methods
  26. -------
  27. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`Image<class_Image>` | :ref:`get_image<class_OpenSimplexNoise_method_get_image>` **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)** |
  29. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | :ref:`float<class_float>` | :ref:`get_noise_1d<class_OpenSimplexNoise_method_get_noise_1d>` **(** :ref:`float<class_float>` x **)** |
  31. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | :ref:`float<class_float>` | :ref:`get_noise_2d<class_OpenSimplexNoise_method_get_noise_2d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  33. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | :ref:`float<class_float>` | :ref:`get_noise_2dv<class_OpenSimplexNoise_method_get_noise_2dv>` **(** :ref:`Vector2<class_Vector2>` pos **)** |
  35. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | :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 **)** |
  37. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | :ref:`float<class_float>` | :ref:`get_noise_3dv<class_OpenSimplexNoise_method_get_noise_3dv>` **(** :ref:`Vector3<class_Vector3>` pos **)** |
  39. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :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 **)** |
  41. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | :ref:`Image<class_Image>` | :ref:`get_seamless_image<class_OpenSimplexNoise_method_get_seamless_image>` **(** :ref:`int<class_int>` size **)** |
  43. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. Description
  45. -----------
  46. 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:
  47. ::
  48. var noise = OpenSimplexNoise.new()
  49. # Configure
  50. noise.seed = randi()
  51. noise.octaves = 4
  52. noise.period = 20.0
  53. noise.persistence = 0.8
  54. # Sample
  55. print("Values:")
  56. print(noise.get_noise_2d(1.0, 1.0))
  57. print(noise.get_noise_3d(0.5, 3.0, 15.0))
  58. print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))
  59. Property Descriptions
  60. ---------------------
  61. .. _class_OpenSimplexNoise_property_lacunarity:
  62. - :ref:`float<class_float>` **lacunarity**
  63. +----------+-----------------------+
  64. | *Setter* | set_lacunarity(value) |
  65. +----------+-----------------------+
  66. | *Getter* | get_lacunarity() |
  67. +----------+-----------------------+
  68. Difference in period between :ref:`octaves<class_OpenSimplexNoise_property_octaves>`.
  69. .. _class_OpenSimplexNoise_property_octaves:
  70. - :ref:`int<class_int>` **octaves**
  71. +----------+--------------------+
  72. | *Setter* | set_octaves(value) |
  73. +----------+--------------------+
  74. | *Getter* | get_octaves() |
  75. +----------+--------------------+
  76. Number of OpenSimplex noise layers that are sampled to get the fractal noise.
  77. .. _class_OpenSimplexNoise_property_period:
  78. - :ref:`float<class_float>` **period**
  79. +----------+-------------------+
  80. | *Setter* | set_period(value) |
  81. +----------+-------------------+
  82. | *Getter* | get_period() |
  83. +----------+-------------------+
  84. Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
  85. .. _class_OpenSimplexNoise_property_persistence:
  86. - :ref:`float<class_float>` **persistence**
  87. +----------+------------------------+
  88. | *Setter* | set_persistence(value) |
  89. +----------+------------------------+
  90. | *Getter* | get_persistence() |
  91. +----------+------------------------+
  92. 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.
  93. .. _class_OpenSimplexNoise_property_seed:
  94. - :ref:`int<class_int>` **seed**
  95. +----------+-----------------+
  96. | *Setter* | set_seed(value) |
  97. +----------+-----------------+
  98. | *Getter* | get_seed() |
  99. +----------+-----------------+
  100. Seed used to generate random values, different seeds will generate different noise maps.
  101. Method Descriptions
  102. -------------------
  103. .. _class_OpenSimplexNoise_method_get_image:
  104. - :ref:`Image<class_Image>` **get_image** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
  105. Generate a noise image with the requested ``width`` and ``height``, based on the current noise parameters.
  106. .. _class_OpenSimplexNoise_method_get_noise_1d:
  107. - :ref:`float<class_float>` **get_noise_1d** **(** :ref:`float<class_float>` x **)**
  108. .. _class_OpenSimplexNoise_method_get_noise_2d:
  109. - :ref:`float<class_float>` **get_noise_2d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  110. Returns the 2D noise value ``[-1,1]`` at the given position.
  111. .. _class_OpenSimplexNoise_method_get_noise_2dv:
  112. - :ref:`float<class_float>` **get_noise_2dv** **(** :ref:`Vector2<class_Vector2>` pos **)**
  113. Returns the 2D noise value ``[-1,1]`` at the given position.
  114. .. _class_OpenSimplexNoise_method_get_noise_3d:
  115. - :ref:`float<class_float>` **get_noise_3d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z **)**
  116. Returns the 3D noise value ``[-1,1]`` at the given position.
  117. .. _class_OpenSimplexNoise_method_get_noise_3dv:
  118. - :ref:`float<class_float>` **get_noise_3dv** **(** :ref:`Vector3<class_Vector3>` pos **)**
  119. Returns the 3D noise value ``[-1,1]`` at the given position.
  120. .. _class_OpenSimplexNoise_method_get_noise_4d:
  121. - :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 **)**
  122. Returns the 4D noise value ``[-1,1]`` at the given position.
  123. .. _class_OpenSimplexNoise_method_get_seamless_image:
  124. - :ref:`Image<class_Image>` **get_seamless_image** **(** :ref:`int<class_int>` size **)**
  125. Generate a tileable noise image, based on the current noise parameters. Generated seamless images are always square (``size`` x ``size``).