class_light.rst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/Light.xml.
  6. .. _class_Light:
  7. Light
  8. =====
  9. **Inherits:** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`CullInstance<class_CullInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. **Inherited By:** :ref:`DirectionalLight<class_DirectionalLight>`, :ref:`OmniLight<class_OmniLight>`, :ref:`SpotLight<class_SpotLight>`
  11. Provides a base class for different kinds of light nodes.
  12. .. rst-class:: classref-introduction-group
  13. Description
  14. -----------
  15. Light is the *abstract* base class for light nodes. As it can't be instanced, it shouldn't be used directly. Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`3D lights and shadows <../tutorials/3d/lights_and_shadows>`
  20. - `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
  21. .. rst-class:: classref-reftable-group
  22. Properties
  23. ----------
  24. .. table::
  25. :widths: auto
  26. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  27. | :ref:`bool<class_bool>` | :ref:`editor_only<class_Light_property_editor_only>` | ``false`` |
  28. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  29. | :ref:`BakeMode<enum_Light_BakeMode>` | :ref:`light_bake_mode<class_Light_property_light_bake_mode>` | ``1`` |
  30. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  31. | :ref:`Color<class_Color>` | :ref:`light_color<class_Light_property_light_color>` | ``Color( 1, 1, 1, 1 )`` |
  32. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  33. | :ref:`int<class_int>` | :ref:`light_cull_mask<class_Light_property_light_cull_mask>` | ``4294967295`` |
  34. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  35. | :ref:`float<class_float>` | :ref:`light_energy<class_Light_property_light_energy>` | ``1.0`` |
  36. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  37. | :ref:`float<class_float>` | :ref:`light_indirect_energy<class_Light_property_light_indirect_energy>` | ``1.0`` |
  38. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  39. | :ref:`bool<class_bool>` | :ref:`light_negative<class_Light_property_light_negative>` | ``false`` |
  40. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  41. | :ref:`float<class_float>` | :ref:`light_size<class_Light_property_light_size>` | ``0.0`` |
  42. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  43. | :ref:`float<class_float>` | :ref:`light_specular<class_Light_property_light_specular>` | ``0.5`` |
  44. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  45. | :ref:`float<class_float>` | :ref:`shadow_bias<class_Light_property_shadow_bias>` | ``0.15`` |
  46. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  47. | :ref:`Color<class_Color>` | :ref:`shadow_color<class_Light_property_shadow_color>` | ``Color( 0, 0, 0, 1 )`` |
  48. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  49. | :ref:`float<class_float>` | :ref:`shadow_contact<class_Light_property_shadow_contact>` | ``0.0`` |
  50. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  51. | :ref:`bool<class_bool>` | :ref:`shadow_enabled<class_Light_property_shadow_enabled>` | ``false`` |
  52. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  53. | :ref:`bool<class_bool>` | :ref:`shadow_reverse_cull_face<class_Light_property_shadow_reverse_cull_face>` | ``false`` |
  54. +--------------------------------------+--------------------------------------------------------------------------------+-------------------------+
  55. .. rst-class:: classref-reftable-group
  56. Methods
  57. -------
  58. .. table::
  59. :widths: auto
  60. +---------------------------+----------------------------------------------------------------------------------------------------------------------------------+
  61. | :ref:`float<class_float>` | :ref:`get_param<class_Light_method_get_param>` **(** :ref:`Param<enum_Light_Param>` param **)** |const| |
  62. +---------------------------+----------------------------------------------------------------------------------------------------------------------------------+
  63. | void | :ref:`set_param<class_Light_method_set_param>` **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)** |
  64. +---------------------------+----------------------------------------------------------------------------------------------------------------------------------+
  65. .. rst-class:: classref-section-separator
  66. ----
  67. .. rst-class:: classref-descriptions-group
  68. Enumerations
  69. ------------
  70. .. _enum_Light_Param:
  71. .. rst-class:: classref-enumeration
  72. enum **Param**:
  73. .. _class_Light_constant_PARAM_ENERGY:
  74. .. rst-class:: classref-enumeration-constant
  75. :ref:`Param<enum_Light_Param>` **PARAM_ENERGY** = ``0``
  76. Constant for accessing :ref:`light_energy<class_Light_property_light_energy>`.
  77. .. _class_Light_constant_PARAM_INDIRECT_ENERGY:
  78. .. rst-class:: classref-enumeration-constant
  79. :ref:`Param<enum_Light_Param>` **PARAM_INDIRECT_ENERGY** = ``1``
  80. Constant for accessing :ref:`light_indirect_energy<class_Light_property_light_indirect_energy>`.
  81. .. _class_Light_constant_PARAM_SIZE:
  82. .. rst-class:: classref-enumeration-constant
  83. :ref:`Param<enum_Light_Param>` **PARAM_SIZE** = ``2``
  84. Constant for accessing :ref:`light_size<class_Light_property_light_size>`.
  85. .. _class_Light_constant_PARAM_SPECULAR:
  86. .. rst-class:: classref-enumeration-constant
  87. :ref:`Param<enum_Light_Param>` **PARAM_SPECULAR** = ``3``
  88. Constant for accessing :ref:`light_specular<class_Light_property_light_specular>`.
  89. .. _class_Light_constant_PARAM_RANGE:
  90. .. rst-class:: classref-enumeration-constant
  91. :ref:`Param<enum_Light_Param>` **PARAM_RANGE** = ``4``
  92. Constant for accessing :ref:`OmniLight.omni_range<class_OmniLight_property_omni_range>` or :ref:`SpotLight.spot_range<class_SpotLight_property_spot_range>`.
  93. .. _class_Light_constant_PARAM_ATTENUATION:
  94. .. rst-class:: classref-enumeration-constant
  95. :ref:`Param<enum_Light_Param>` **PARAM_ATTENUATION** = ``5``
  96. Constant for accessing :ref:`OmniLight.omni_attenuation<class_OmniLight_property_omni_attenuation>` or :ref:`SpotLight.spot_attenuation<class_SpotLight_property_spot_attenuation>`.
  97. .. _class_Light_constant_PARAM_SPOT_ANGLE:
  98. .. rst-class:: classref-enumeration-constant
  99. :ref:`Param<enum_Light_Param>` **PARAM_SPOT_ANGLE** = ``6``
  100. Constant for accessing :ref:`SpotLight.spot_angle<class_SpotLight_property_spot_angle>`.
  101. .. _class_Light_constant_PARAM_SPOT_ATTENUATION:
  102. .. rst-class:: classref-enumeration-constant
  103. :ref:`Param<enum_Light_Param>` **PARAM_SPOT_ATTENUATION** = ``7``
  104. Constant for accessing :ref:`SpotLight.spot_angle_attenuation<class_SpotLight_property_spot_angle_attenuation>`.
  105. .. _class_Light_constant_PARAM_CONTACT_SHADOW_SIZE:
  106. .. rst-class:: classref-enumeration-constant
  107. :ref:`Param<enum_Light_Param>` **PARAM_CONTACT_SHADOW_SIZE** = ``8``
  108. Constant for accessing :ref:`shadow_contact<class_Light_property_shadow_contact>`.
  109. .. _class_Light_constant_PARAM_SHADOW_MAX_DISTANCE:
  110. .. rst-class:: classref-enumeration-constant
  111. :ref:`Param<enum_Light_Param>` **PARAM_SHADOW_MAX_DISTANCE** = ``9``
  112. Constant for accessing :ref:`DirectionalLight.directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`.
  113. .. _class_Light_constant_PARAM_SHADOW_SPLIT_1_OFFSET:
  114. .. rst-class:: classref-enumeration-constant
  115. :ref:`Param<enum_Light_Param>` **PARAM_SHADOW_SPLIT_1_OFFSET** = ``10``
  116. Constant for accessing :ref:`DirectionalLight.directional_shadow_split_1<class_DirectionalLight_property_directional_shadow_split_1>`.
  117. .. _class_Light_constant_PARAM_SHADOW_SPLIT_2_OFFSET:
  118. .. rst-class:: classref-enumeration-constant
  119. :ref:`Param<enum_Light_Param>` **PARAM_SHADOW_SPLIT_2_OFFSET** = ``11``
  120. Constant for accessing :ref:`DirectionalLight.directional_shadow_split_2<class_DirectionalLight_property_directional_shadow_split_2>`.
  121. .. _class_Light_constant_PARAM_SHADOW_SPLIT_3_OFFSET:
  122. .. rst-class:: classref-enumeration-constant
  123. :ref:`Param<enum_Light_Param>` **PARAM_SHADOW_SPLIT_3_OFFSET** = ``12``
  124. Constant for accessing :ref:`DirectionalLight.directional_shadow_split_3<class_DirectionalLight_property_directional_shadow_split_3>`.
  125. .. _class_Light_constant_PARAM_SHADOW_NORMAL_BIAS:
  126. .. rst-class:: classref-enumeration-constant
  127. :ref:`Param<enum_Light_Param>` **PARAM_SHADOW_NORMAL_BIAS** = ``13``
  128. Constant for accessing :ref:`DirectionalLight.directional_shadow_normal_bias<class_DirectionalLight_property_directional_shadow_normal_bias>`.
  129. .. _class_Light_constant_PARAM_SHADOW_BIAS:
  130. .. rst-class:: classref-enumeration-constant
  131. :ref:`Param<enum_Light_Param>` **PARAM_SHADOW_BIAS** = ``14``
  132. Constant for accessing :ref:`shadow_bias<class_Light_property_shadow_bias>`.
  133. .. _class_Light_constant_PARAM_SHADOW_BIAS_SPLIT_SCALE:
  134. .. rst-class:: classref-enumeration-constant
  135. :ref:`Param<enum_Light_Param>` **PARAM_SHADOW_BIAS_SPLIT_SCALE** = ``15``
  136. Constant for accessing :ref:`DirectionalLight.directional_shadow_bias_split_scale<class_DirectionalLight_property_directional_shadow_bias_split_scale>`.
  137. .. _class_Light_constant_PARAM_MAX:
  138. .. rst-class:: classref-enumeration-constant
  139. :ref:`Param<enum_Light_Param>` **PARAM_MAX** = ``16``
  140. Represents the size of the :ref:`Param<enum_Light_Param>` enum.
  141. .. rst-class:: classref-item-separator
  142. ----
  143. .. _enum_Light_BakeMode:
  144. .. rst-class:: classref-enumeration
  145. enum **BakeMode**:
  146. .. _class_Light_constant_BAKE_DISABLED:
  147. .. rst-class:: classref-enumeration-constant
  148. :ref:`BakeMode<enum_Light_BakeMode>` **BAKE_DISABLED** = ``0``
  149. Light is ignored when baking.
  150. \ **Note:** Hiding a light does *not* affect baking.
  151. .. _class_Light_constant_BAKE_INDIRECT:
  152. .. rst-class:: classref-enumeration-constant
  153. :ref:`BakeMode<enum_Light_BakeMode>` **BAKE_INDIRECT** = ``1``
  154. Only indirect lighting will be baked (default).
  155. .. _class_Light_constant_BAKE_ALL:
  156. .. rst-class:: classref-enumeration-constant
  157. :ref:`BakeMode<enum_Light_BakeMode>` **BAKE_ALL** = ``2``
  158. Both direct and indirect light will be baked.
  159. \ **Note:** You should hide the light if you don't want it to appear twice (dynamic and baked).
  160. .. rst-class:: classref-section-separator
  161. ----
  162. .. rst-class:: classref-descriptions-group
  163. Property Descriptions
  164. ---------------------
  165. .. _class_Light_property_editor_only:
  166. .. rst-class:: classref-property
  167. :ref:`bool<class_bool>` **editor_only** = ``false``
  168. .. rst-class:: classref-property-setget
  169. - void **set_editor_only** **(** :ref:`bool<class_bool>` value **)**
  170. - :ref:`bool<class_bool>` **is_editor_only** **(** **)**
  171. If ``true``, the light only appears in the editor and will not be visible at runtime.
  172. .. rst-class:: classref-item-separator
  173. ----
  174. .. _class_Light_property_light_bake_mode:
  175. .. rst-class:: classref-property
  176. :ref:`BakeMode<enum_Light_BakeMode>` **light_bake_mode** = ``1``
  177. .. rst-class:: classref-property-setget
  178. - void **set_bake_mode** **(** :ref:`BakeMode<enum_Light_BakeMode>` value **)**
  179. - :ref:`BakeMode<enum_Light_BakeMode>` **get_bake_mode** **(** **)**
  180. The light's bake mode. See :ref:`BakeMode<enum_Light_BakeMode>`.
  181. .. rst-class:: classref-item-separator
  182. ----
  183. .. _class_Light_property_light_color:
  184. .. rst-class:: classref-property
  185. :ref:`Color<class_Color>` **light_color** = ``Color( 1, 1, 1, 1 )``
  186. .. rst-class:: classref-property-setget
  187. - void **set_color** **(** :ref:`Color<class_Color>` value **)**
  188. - :ref:`Color<class_Color>` **get_color** **(** **)**
  189. The light's color. An *overbright* color can be used to achieve a result equivalent to increasing the light's :ref:`light_energy<class_Light_property_light_energy>`.
  190. .. rst-class:: classref-item-separator
  191. ----
  192. .. _class_Light_property_light_cull_mask:
  193. .. rst-class:: classref-property
  194. :ref:`int<class_int>` **light_cull_mask** = ``4294967295``
  195. .. rst-class:: classref-property-setget
  196. - void **set_cull_mask** **(** :ref:`int<class_int>` value **)**
  197. - :ref:`int<class_int>` **get_cull_mask** **(** **)**
  198. The light will affect objects in the selected layers.
  199. .. rst-class:: classref-item-separator
  200. ----
  201. .. _class_Light_property_light_energy:
  202. .. rst-class:: classref-property
  203. :ref:`float<class_float>` **light_energy** = ``1.0``
  204. .. rst-class:: classref-property-setget
  205. - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
  206. - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** |const|
  207. The light's strength multiplier (this is not a physical unit). For :ref:`OmniLight<class_OmniLight>` and :ref:`SpotLight<class_SpotLight>`, changing this value will only change the light color's intensity, not the light's radius.
  208. .. rst-class:: classref-item-separator
  209. ----
  210. .. _class_Light_property_light_indirect_energy:
  211. .. rst-class:: classref-property
  212. :ref:`float<class_float>` **light_indirect_energy** = ``1.0``
  213. .. rst-class:: classref-property-setget
  214. - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
  215. - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** |const|
  216. Secondary multiplier used with indirect light (light bounces). This works on both :ref:`BakedLightmap<class_BakedLightmap>` and :ref:`GIProbe<class_GIProbe>`.
  217. .. rst-class:: classref-item-separator
  218. ----
  219. .. _class_Light_property_light_negative:
  220. .. rst-class:: classref-property
  221. :ref:`bool<class_bool>` **light_negative** = ``false``
  222. .. rst-class:: classref-property-setget
  223. - void **set_negative** **(** :ref:`bool<class_bool>` value **)**
  224. - :ref:`bool<class_bool>` **is_negative** **(** **)**
  225. If ``true``, the light's effect is reversed, darkening areas and casting bright shadows.
  226. .. rst-class:: classref-item-separator
  227. ----
  228. .. _class_Light_property_light_size:
  229. .. rst-class:: classref-property
  230. :ref:`float<class_float>` **light_size** = ``0.0``
  231. .. rst-class:: classref-property-setget
  232. - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
  233. - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** |const|
  234. The size of the light in Godot units. Only considered in baked lightmaps and only if :ref:`light_bake_mode<class_Light_property_light_bake_mode>` is set to :ref:`BAKE_ALL<class_Light_constant_BAKE_ALL>`. Increasing this value will make the shadows appear blurrier. This can be used to simulate area lights to an extent.
  235. \ **Note:** :ref:`light_size<class_Light_property_light_size>` is not affected by :ref:`Spatial.scale<class_Spatial_property_scale>` (the light's scale or its parent's scale).
  236. .. rst-class:: classref-item-separator
  237. ----
  238. .. _class_Light_property_light_specular:
  239. .. rst-class:: classref-property
  240. :ref:`float<class_float>` **light_specular** = ``0.5``
  241. .. rst-class:: classref-property-setget
  242. - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
  243. - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** |const|
  244. The intensity of the specular blob in objects affected by the light. At ``0``, the light becomes a pure diffuse light. When not baking emission, this can be used to avoid unrealistic reflections when placing lights above an emissive surface.
  245. .. rst-class:: classref-item-separator
  246. ----
  247. .. _class_Light_property_shadow_bias:
  248. .. rst-class:: classref-property
  249. :ref:`float<class_float>` **shadow_bias** = ``0.15``
  250. .. rst-class:: classref-property-setget
  251. - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
  252. - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** |const|
  253. Used to adjust shadow appearance. Too small a value results in self-shadowing ("shadow acne"), while too large a value causes shadows to separate from casters ("peter-panning"). Adjust as needed.
  254. .. rst-class:: classref-item-separator
  255. ----
  256. .. _class_Light_property_shadow_color:
  257. .. rst-class:: classref-property
  258. :ref:`Color<class_Color>` **shadow_color** = ``Color( 0, 0, 0, 1 )``
  259. .. rst-class:: classref-property-setget
  260. - void **set_shadow_color** **(** :ref:`Color<class_Color>` value **)**
  261. - :ref:`Color<class_Color>` **get_shadow_color** **(** **)**
  262. The color of shadows cast by this light.
  263. .. rst-class:: classref-item-separator
  264. ----
  265. .. _class_Light_property_shadow_contact:
  266. .. rst-class:: classref-property
  267. :ref:`float<class_float>` **shadow_contact** = ``0.0``
  268. .. rst-class:: classref-property-setget
  269. - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
  270. - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** |const|
  271. Attempts to reduce :ref:`shadow_bias<class_Light_property_shadow_bias>` gap by rendering screen-space contact shadows. This has a performance impact, especially at higher values.
  272. \ **Note:** Contact shadows can look broken, so leaving this property to ``0.0`` is recommended.
  273. .. rst-class:: classref-item-separator
  274. ----
  275. .. _class_Light_property_shadow_enabled:
  276. .. rst-class:: classref-property
  277. :ref:`bool<class_bool>` **shadow_enabled** = ``false``
  278. .. rst-class:: classref-property-setget
  279. - void **set_shadow** **(** :ref:`bool<class_bool>` value **)**
  280. - :ref:`bool<class_bool>` **has_shadow** **(** **)**
  281. If ``true``, the light will cast shadows.
  282. .. rst-class:: classref-item-separator
  283. ----
  284. .. _class_Light_property_shadow_reverse_cull_face:
  285. .. rst-class:: classref-property
  286. :ref:`bool<class_bool>` **shadow_reverse_cull_face** = ``false``
  287. .. rst-class:: classref-property-setget
  288. - void **set_shadow_reverse_cull_face** **(** :ref:`bool<class_bool>` value **)**
  289. - :ref:`bool<class_bool>` **get_shadow_reverse_cull_face** **(** **)**
  290. If ``true``, reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double-sided shadows with :ref:`GeometryInstance.SHADOW_CASTING_SETTING_DOUBLE_SIDED<class_GeometryInstance_constant_SHADOW_CASTING_SETTING_DOUBLE_SIDED>`.
  291. .. rst-class:: classref-section-separator
  292. ----
  293. .. rst-class:: classref-descriptions-group
  294. Method Descriptions
  295. -------------------
  296. .. _class_Light_method_get_param:
  297. .. rst-class:: classref-method
  298. :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** |const|
  299. Returns the value of the specified :ref:`Param<enum_Light_Param>` parameter.
  300. .. rst-class:: classref-item-separator
  301. ----
  302. .. _class_Light_method_set_param:
  303. .. rst-class:: classref-method
  304. void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
  305. Sets the value of the specified :ref:`Param<enum_Light_Param>` parameter.
  306. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  307. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  308. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  309. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`