class_light2d.rst 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the Light2D.xml source instead.
  3. .. The source is found in doc/classes or modules/<name>/doc_classes.
  4. .. _class_Light2D:
  5. Light2D
  6. =======
  7. **Inherits:** :ref:`Node2D<class_node2d>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
  8. **Category:** Core
  9. Brief Description
  10. -----------------
  11. Casts light in a 2D environment.
  12. Member Functions
  13. ----------------
  14. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  15. | :ref:`Color<class_color>` | :ref:`get_color<class_Light2D_get_color>` **(** **)** const |
  16. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  17. | :ref:`float<class_float>` | :ref:`get_energy<class_Light2D_get_energy>` **(** **)** const |
  18. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  19. | :ref:`float<class_float>` | :ref:`get_height<class_Light2D_get_height>` **(** **)** const |
  20. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  21. | :ref:`int<class_int>` | :ref:`get_item_cull_mask<class_Light2D_get_item_cull_mask>` **(** **)** const |
  22. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  23. | :ref:`int<class_int>` | :ref:`get_item_shadow_cull_mask<class_Light2D_get_item_shadow_cull_mask>` **(** **)** const |
  24. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  25. | :ref:`int<class_int>` | :ref:`get_layer_range_max<class_Light2D_get_layer_range_max>` **(** **)** const |
  26. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  27. | :ref:`int<class_int>` | :ref:`get_layer_range_min<class_Light2D_get_layer_range_min>` **(** **)** const |
  28. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  29. | :ref:`int<class_int>` | :ref:`get_mode<class_Light2D_get_mode>` **(** **)** const |
  30. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  31. | :ref:`int<class_int>` | :ref:`get_shadow_buffer_size<class_Light2D_get_shadow_buffer_size>` **(** **)** const |
  32. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  33. | :ref:`Color<class_color>` | :ref:`get_shadow_color<class_Light2D_get_shadow_color>` **(** **)** const |
  34. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`int<class_int>` | :ref:`get_shadow_filter<class_Light2D_get_shadow_filter>` **(** **)** const |
  36. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`float<class_float>` | :ref:`get_shadow_gradient_length<class_Light2D_get_shadow_gradient_length>` **(** **)** const |
  38. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`float<class_float>` | :ref:`get_shadow_smooth<class_Light2D_get_shadow_smooth>` **(** **)** const |
  40. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`Texture<class_texture>` | :ref:`get_texture<class_Light2D_get_texture>` **(** **)** const |
  42. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`Vector2<class_vector2>` | :ref:`get_texture_offset<class_Light2D_get_texture_offset>` **(** **)** const |
  44. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`float<class_float>` | :ref:`get_texture_scale<class_Light2D_get_texture_scale>` **(** **)** const |
  46. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`int<class_int>` | :ref:`get_z_range_max<class_Light2D_get_z_range_max>` **(** **)** const |
  48. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  49. | :ref:`int<class_int>` | :ref:`get_z_range_min<class_Light2D_get_z_range_min>` **(** **)** const |
  50. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  51. | :ref:`bool<class_bool>` | :ref:`is_editor_only<class_Light2D_is_editor_only>` **(** **)** const |
  52. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  53. | :ref:`bool<class_bool>` | :ref:`is_enabled<class_Light2D_is_enabled>` **(** **)** const |
  54. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  55. | :ref:`bool<class_bool>` | :ref:`is_shadow_enabled<class_Light2D_is_shadow_enabled>` **(** **)** const |
  56. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  57. | void | :ref:`set_color<class_Light2D_set_color>` **(** :ref:`Color<class_color>` color **)** |
  58. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  59. | void | :ref:`set_editor_only<class_Light2D_set_editor_only>` **(** :ref:`bool<class_bool>` editor_only **)** |
  60. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  61. | void | :ref:`set_enabled<class_Light2D_set_enabled>` **(** :ref:`bool<class_bool>` enabled **)** |
  62. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  63. | void | :ref:`set_energy<class_Light2D_set_energy>` **(** :ref:`float<class_float>` energy **)** |
  64. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  65. | void | :ref:`set_height<class_Light2D_set_height>` **(** :ref:`float<class_float>` height **)** |
  66. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  67. | void | :ref:`set_item_cull_mask<class_Light2D_set_item_cull_mask>` **(** :ref:`int<class_int>` item_cull_mask **)** |
  68. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  69. | void | :ref:`set_item_shadow_cull_mask<class_Light2D_set_item_shadow_cull_mask>` **(** :ref:`int<class_int>` item_shadow_cull_mask **)** |
  70. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  71. | void | :ref:`set_layer_range_max<class_Light2D_set_layer_range_max>` **(** :ref:`int<class_int>` layer **)** |
  72. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  73. | void | :ref:`set_layer_range_min<class_Light2D_set_layer_range_min>` **(** :ref:`int<class_int>` layer **)** |
  74. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  75. | void | :ref:`set_mode<class_Light2D_set_mode>` **(** :ref:`int<class_int>` mode **)** |
  76. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  77. | void | :ref:`set_shadow_buffer_size<class_Light2D_set_shadow_buffer_size>` **(** :ref:`int<class_int>` size **)** |
  78. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  79. | void | :ref:`set_shadow_color<class_Light2D_set_shadow_color>` **(** :ref:`Color<class_color>` shadow_color **)** |
  80. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  81. | void | :ref:`set_shadow_enabled<class_Light2D_set_shadow_enabled>` **(** :ref:`bool<class_bool>` enabled **)** |
  82. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  83. | void | :ref:`set_shadow_filter<class_Light2D_set_shadow_filter>` **(** :ref:`int<class_int>` filter **)** |
  84. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  85. | void | :ref:`set_shadow_gradient_length<class_Light2D_set_shadow_gradient_length>` **(** :ref:`float<class_float>` multiplier **)** |
  86. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  87. | void | :ref:`set_shadow_smooth<class_Light2D_set_shadow_smooth>` **(** :ref:`float<class_float>` smooth **)** |
  88. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  89. | void | :ref:`set_texture<class_Light2D_set_texture>` **(** :ref:`Texture<class_texture>` texture **)** |
  90. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  91. | void | :ref:`set_texture_offset<class_Light2D_set_texture_offset>` **(** :ref:`Vector2<class_vector2>` texture_offset **)** |
  92. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  93. | void | :ref:`set_texture_scale<class_Light2D_set_texture_scale>` **(** :ref:`float<class_float>` texture_scale **)** |
  94. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  95. | void | :ref:`set_z_range_max<class_Light2D_set_z_range_max>` **(** :ref:`int<class_int>` z **)** |
  96. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  97. | void | :ref:`set_z_range_min<class_Light2D_set_z_range_min>` **(** :ref:`int<class_int>` z **)** |
  98. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
  99. Member Variables
  100. ----------------
  101. - :ref:`Color<class_color>` **color** - The Light2D's :ref:`Color<class_color>`.
  102. - :ref:`bool<class_bool>` **editor_only** - If ``true`` Light2D will only appear when editing the scene. Default value: ``false``.
  103. - :ref:`bool<class_bool>` **enabled** - If ``true`` Light2D will emit light. Default value: ``true``.
  104. - :ref:`float<class_float>` **energy** - The Light2D's energy value. The larger the value, the stronger the light.
  105. - :ref:`int<class_int>` **mode** - The Light2D's mode. See MODE\_\* constants for values.
  106. - :ref:`Vector2<class_vector2>` **offset** - The offset of the Light2D's ``texture``.
  107. - :ref:`float<class_float>` **range_height** - The height of the Light2D. Used with 2D normal mapping.
  108. - :ref:`int<class_int>` **range_item_cull_mask** - The layer mask. Only objects with a matching mask will be affected by the Light2D.
  109. - :ref:`int<class_int>` **range_layer_max** - Maximum layer value of objects that are affected by the Light2D. Default value: ``0``.
  110. - :ref:`int<class_int>` **range_layer_min** - Minimum layer value of objects that are affected by the Light2D. Default value: ``0``.
  111. - :ref:`int<class_int>` **range_z_max** - Maximum ``Z`` value of objects that are affected by the Light2D. Default value: ``1024``.
  112. - :ref:`int<class_int>` **range_z_min** - Minimum ``z`` value of objects that are affected by the Light2D. Default value: ``-1024``.
  113. - :ref:`int<class_int>` **shadow_buffer_size** - Shadow buffer size. Default value: ``2048``.
  114. - :ref:`Color<class_color>` **shadow_color** - :ref:`Color<class_color>` of shadows cast by the Light2D.
  115. - :ref:`bool<class_bool>` **shadow_enabled** - If ``true`` the Light2D will cast shadows. Default value: ``false``.
  116. - :ref:`int<class_int>` **shadow_filter** - Shadow filter type. Use SHADOW_FILTER\_\* constants to set ``shadow_filter``. Default value: ``None``.
  117. - :ref:`float<class_float>` **shadow_filter_smooth** - Smoothing value for shadows.
  118. - :ref:`float<class_float>` **shadow_gradient_length** - Smooth shadow gradient length.
  119. - :ref:`int<class_int>` **shadow_item_cull_mask** - The shadow mask. Used with :ref:`LightOccluder2D<class_lightoccluder2d>` to cast shadows. Only occluders with a matching shadow mask will cast shadows.
  120. - :ref:`Texture<class_texture>` **texture** - :ref:`Texture<class_texture>` used for the Light2D's appearance.
  121. - :ref:`float<class_float>` **texture_scale** - The ``texture``'s scale factor.
  122. Numeric Constants
  123. -----------------
  124. - **MODE_ADD** = **0** --- Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behaviour of a light.
  125. - **MODE_SUB** = **1** --- Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.
  126. - **MODE_MIX** = **2** --- Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation.
  127. - **MODE_MASK** = **3** --- The light texture of the Light2D is used as a mask, hiding or revealing parts of the screen underneath depending on the value of each pixel of the light (mask) texture.
  128. - **SHADOW_FILTER_NONE** = **0** --- No filter applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
  129. - **SHADOW_FILTER_PCF3** = **1** --- Percentage closer filtering (3 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
  130. - **SHADOW_FILTER_PCF5** = **2** --- Percentage closer filtering (5 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
  131. - **SHADOW_FILTER_PCF7** = **3** --- Percentage closer filtering (7 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
  132. - **SHADOW_FILTER_PCF9** = **4** --- Percentage closer filtering (9 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
  133. - **SHADOW_FILTER_PCF13** = **5** --- Percentage closer filtering (13 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
  134. Description
  135. -----------
  136. Casts light in a 2D environment. Light is defined by a (usually grayscale) texture, a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related). Note that Light2D can be used as a mask.
  137. Member Function Description
  138. ---------------------------
  139. .. _class_Light2D_get_color:
  140. - :ref:`Color<class_color>` **get_color** **(** **)** const
  141. Return the color of the Light2D.
  142. .. _class_Light2D_get_energy:
  143. - :ref:`float<class_float>` **get_energy** **(** **)** const
  144. Return the energy value of the Light2D.
  145. .. _class_Light2D_get_height:
  146. - :ref:`float<class_float>` **get_height** **(** **)** const
  147. Return the height of the Light2D. Used with 2D normalmapping.
  148. .. _class_Light2D_get_item_cull_mask:
  149. - :ref:`int<class_int>` **get_item_cull_mask** **(** **)** const
  150. .. _class_Light2D_get_item_shadow_cull_mask:
  151. - :ref:`int<class_int>` **get_item_shadow_cull_mask** **(** **)** const
  152. .. _class_Light2D_get_layer_range_max:
  153. - :ref:`int<class_int>` **get_layer_range_max** **(** **)** const
  154. Set the maximum layer value of objects of the scene that are affected by the Light2D.
  155. .. _class_Light2D_get_layer_range_min:
  156. - :ref:`int<class_int>` **get_layer_range_min** **(** **)** const
  157. Get the minimum layer value of objects of the scene that are affected by the Light2D.
  158. .. _class_Light2D_get_mode:
  159. - :ref:`int<class_int>` **get_mode** **(** **)** const
  160. Return the current mode set to the Light2D.
  161. .. _class_Light2D_get_shadow_buffer_size:
  162. - :ref:`int<class_int>` **get_shadow_buffer_size** **(** **)** const
  163. Return the shadow buffer size.
  164. .. _class_Light2D_get_shadow_color:
  165. - :ref:`Color<class_color>` **get_shadow_color** **(** **)** const
  166. Return the color of casted shadows for this Light2D.
  167. .. _class_Light2D_get_shadow_filter:
  168. - :ref:`int<class_int>` **get_shadow_filter** **(** **)** const
  169. .. _class_Light2D_get_shadow_gradient_length:
  170. - :ref:`float<class_float>` **get_shadow_gradient_length** **(** **)** const
  171. .. _class_Light2D_get_shadow_smooth:
  172. - :ref:`float<class_float>` **get_shadow_smooth** **(** **)** const
  173. .. _class_Light2D_get_texture:
  174. - :ref:`Texture<class_texture>` **get_texture** **(** **)** const
  175. Return the texture of the Light2D.
  176. .. _class_Light2D_get_texture_offset:
  177. - :ref:`Vector2<class_vector2>` **get_texture_offset** **(** **)** const
  178. Return the offset of the light texture.
  179. .. _class_Light2D_get_texture_scale:
  180. - :ref:`float<class_float>` **get_texture_scale** **(** **)** const
  181. Return the scale value of the light texture.
  182. .. _class_Light2D_get_z_range_max:
  183. - :ref:`int<class_int>` **get_z_range_max** **(** **)** const
  184. Get the maximum Z value that objects of the scene can be in order to be affected by the Light2D.
  185. .. _class_Light2D_get_z_range_min:
  186. - :ref:`int<class_int>` **get_z_range_min** **(** **)** const
  187. Get the minimum Z value that objects of the scene have to be in order to be affected by the Light2D.
  188. .. _class_Light2D_is_editor_only:
  189. - :ref:`bool<class_bool>` **is_editor_only** **(** **)** const
  190. .. _class_Light2D_is_enabled:
  191. - :ref:`bool<class_bool>` **is_enabled** **(** **)** const
  192. Return true if the Light2D is enabled, false if it is not.
  193. .. _class_Light2D_is_shadow_enabled:
  194. - :ref:`bool<class_bool>` **is_shadow_enabled** **(** **)** const
  195. Return true if shadow casting is enabled for this Light2D, else return false.
  196. .. _class_Light2D_set_color:
  197. - void **set_color** **(** :ref:`Color<class_color>` color **)**
  198. Set the color of the Light2D.
  199. .. _class_Light2D_set_editor_only:
  200. - void **set_editor_only** **(** :ref:`bool<class_bool>` editor_only **)**
  201. .. _class_Light2D_set_enabled:
  202. - void **set_enabled** **(** :ref:`bool<class_bool>` enabled **)**
  203. Switches the Light2D on or off, depending on the 'enabled' parameter.
  204. .. _class_Light2D_set_energy:
  205. - void **set_energy** **(** :ref:`float<class_float>` energy **)**
  206. Set the energy value of the Light2D. The bigger the value, the stronger the light.
  207. .. _class_Light2D_set_height:
  208. - void **set_height** **(** :ref:`float<class_float>` height **)**
  209. Set the height of the Light2D. Used with 2D normalmapping.
  210. .. _class_Light2D_set_item_cull_mask:
  211. - void **set_item_cull_mask** **(** :ref:`int<class_int>` item_cull_mask **)**
  212. Set the item mask of the Light2D to 'item_mask' value.
  213. .. _class_Light2D_set_item_shadow_cull_mask:
  214. - void **set_item_shadow_cull_mask** **(** :ref:`int<class_int>` item_shadow_cull_mask **)**
  215. Set the item shadow mask to 'item_shadow_mask' value.
  216. .. _class_Light2D_set_layer_range_max:
  217. - void **set_layer_range_max** **(** :ref:`int<class_int>` layer **)**
  218. Set the maximum layer value of objects of the scene that are affected by the Light2D.
  219. .. _class_Light2D_set_layer_range_min:
  220. - void **set_layer_range_min** **(** :ref:`int<class_int>` layer **)**
  221. Set the minimum layer value of objects of the scene that are affected by the Light2D.
  222. .. _class_Light2D_set_mode:
  223. - void **set_mode** **(** :ref:`int<class_int>` mode **)**
  224. Set the behaviour mode of the Light2D. Use constants defined in the constants section.
  225. .. _class_Light2D_set_shadow_buffer_size:
  226. - void **set_shadow_buffer_size** **(** :ref:`int<class_int>` size **)**
  227. Set the shadow buffer size.
  228. .. _class_Light2D_set_shadow_color:
  229. - void **set_shadow_color** **(** :ref:`Color<class_color>` shadow_color **)**
  230. Set the color of casted shadows for this Light2D.
  231. .. _class_Light2D_set_shadow_enabled:
  232. - void **set_shadow_enabled** **(** :ref:`bool<class_bool>` enabled **)**
  233. Enable or disable shadows casting from this Light2D according to the 'enabled' parameter.
  234. .. _class_Light2D_set_shadow_filter:
  235. - void **set_shadow_filter** **(** :ref:`int<class_int>` filter **)**
  236. .. _class_Light2D_set_shadow_gradient_length:
  237. - void **set_shadow_gradient_length** **(** :ref:`float<class_float>` multiplier **)**
  238. .. _class_Light2D_set_shadow_smooth:
  239. - void **set_shadow_smooth** **(** :ref:`float<class_float>` smooth **)**
  240. .. _class_Light2D_set_texture:
  241. - void **set_texture** **(** :ref:`Texture<class_texture>` texture **)**
  242. Set the texture of the Light2D.
  243. .. _class_Light2D_set_texture_offset:
  244. - void **set_texture_offset** **(** :ref:`Vector2<class_vector2>` texture_offset **)**
  245. Set the offset of the light texture.
  246. .. _class_Light2D_set_texture_scale:
  247. - void **set_texture_scale** **(** :ref:`float<class_float>` texture_scale **)**
  248. Set the scale value of the light texture.
  249. .. _class_Light2D_set_z_range_max:
  250. - void **set_z_range_max** **(** :ref:`int<class_int>` z **)**
  251. Set the maximum Z value that objects of the scene can be in order to be affected by the Light2D.
  252. .. _class_Light2D_set_z_range_min:
  253. - void **set_z_range_min** **(** :ref:`int<class_int>` z **)**
  254. Set the minimum Z value that objects of the scene have to be in order to be affected by the Light2D.