class_particlesmaterial.rst 70 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the ParticlesMaterial.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_ParticlesMaterial:
  6. ParticlesMaterial
  7. =================
  8. **Inherits:** :ref:`Material<class_Material>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  9. Particle properties for :ref:`GPUParticles3D<class_GPUParticles3D>` and :ref:`GPUParticles2D<class_GPUParticles2D>` nodes.
  10. Description
  11. -----------
  12. ParticlesMaterial defines particle properties and behavior. It is used in the ``process_material`` of :ref:`GPUParticles3D<class_GPUParticles3D>` and :ref:`GPUParticles2D<class_GPUParticles2D>` emitter nodes.
  13. Some of this material's properties are applied to each particle when emitted, while others can have a :ref:`CurveTexture<class_CurveTexture>` applied to vary values over the lifetime of the particle.
  14. When a randomness ratio is applied to a property it is used to scale that property by a random amount. The random ratio is used to interpolate between ``1.0`` and a random number less than one, the result is multiplied by the property to obtain the randomized property. For example a random ratio of ``0.4`` would scale the original property between ``0.4-1.0`` of its original value.
  15. Properties
  16. ----------
  17. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  18. | :ref:`Texture2D<class_Texture2D>` | :ref:`angle_curve<class_ParticlesMaterial_property_angle_curve>` | |
  19. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  20. | :ref:`float<class_float>` | :ref:`angle_max<class_ParticlesMaterial_property_angle_max>` | ``0.0`` |
  21. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  22. | :ref:`float<class_float>` | :ref:`angle_min<class_ParticlesMaterial_property_angle_min>` | ``0.0`` |
  23. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  24. | :ref:`Texture2D<class_Texture2D>` | :ref:`angular_velocity_curve<class_ParticlesMaterial_property_angular_velocity_curve>` | |
  25. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  26. | :ref:`float<class_float>` | :ref:`angular_velocity_max<class_ParticlesMaterial_property_angular_velocity_max>` | ``0.0`` |
  27. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  28. | :ref:`float<class_float>` | :ref:`angular_velocity_min<class_ParticlesMaterial_property_angular_velocity_min>` | ``0.0`` |
  29. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  30. | :ref:`Texture2D<class_Texture2D>` | :ref:`anim_offset_curve<class_ParticlesMaterial_property_anim_offset_curve>` | |
  31. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  32. | :ref:`float<class_float>` | :ref:`anim_offset_max<class_ParticlesMaterial_property_anim_offset_max>` | ``0.0`` |
  33. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  34. | :ref:`float<class_float>` | :ref:`anim_offset_min<class_ParticlesMaterial_property_anim_offset_min>` | ``0.0`` |
  35. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  36. | :ref:`Texture2D<class_Texture2D>` | :ref:`anim_speed_curve<class_ParticlesMaterial_property_anim_speed_curve>` | |
  37. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  38. | :ref:`float<class_float>` | :ref:`anim_speed_max<class_ParticlesMaterial_property_anim_speed_max>` | ``0.0`` |
  39. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  40. | :ref:`float<class_float>` | :ref:`anim_speed_min<class_ParticlesMaterial_property_anim_speed_min>` | ``0.0`` |
  41. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  42. | :ref:`bool<class_bool>` | :ref:`attractor_interaction_enabled<class_ParticlesMaterial_property_attractor_interaction_enabled>` | ``true`` |
  43. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  44. | :ref:`float<class_float>` | :ref:`collision_bounce<class_ParticlesMaterial_property_collision_bounce>` | ``0.0`` |
  45. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  46. | :ref:`bool<class_bool>` | :ref:`collision_enabled<class_ParticlesMaterial_property_collision_enabled>` | ``false`` |
  47. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  48. | :ref:`float<class_float>` | :ref:`collision_friction<class_ParticlesMaterial_property_collision_friction>` | ``0.0`` |
  49. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  50. | :ref:`bool<class_bool>` | :ref:`collision_use_scale<class_ParticlesMaterial_property_collision_use_scale>` | ``false`` |
  51. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  52. | :ref:`Color<class_Color>` | :ref:`color<class_ParticlesMaterial_property_color>` | ``Color(1, 1, 1, 1)`` |
  53. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  54. | :ref:`Texture2D<class_Texture2D>` | :ref:`color_ramp<class_ParticlesMaterial_property_color_ramp>` | |
  55. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  56. | :ref:`Texture2D<class_Texture2D>` | :ref:`damping_curve<class_ParticlesMaterial_property_damping_curve>` | |
  57. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  58. | :ref:`float<class_float>` | :ref:`damping_max<class_ParticlesMaterial_property_damping_max>` | ``0.0`` |
  59. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  60. | :ref:`float<class_float>` | :ref:`damping_min<class_ParticlesMaterial_property_damping_min>` | ``0.0`` |
  61. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  62. | :ref:`Vector3<class_Vector3>` | :ref:`direction<class_ParticlesMaterial_property_direction>` | ``Vector3(1, 0, 0)`` |
  63. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  64. | :ref:`Vector3<class_Vector3>` | :ref:`emission_box_extents<class_ParticlesMaterial_property_emission_box_extents>` | |
  65. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  66. | :ref:`Texture2D<class_Texture2D>` | :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>` | |
  67. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  68. | :ref:`Texture2D<class_Texture2D>` | :ref:`emission_normal_texture<class_ParticlesMaterial_property_emission_normal_texture>` | |
  69. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  70. | :ref:`int<class_int>` | :ref:`emission_point_count<class_ParticlesMaterial_property_emission_point_count>` | |
  71. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  72. | :ref:`Texture2D<class_Texture2D>` | :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>` | |
  73. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  74. | :ref:`Vector3<class_Vector3>` | :ref:`emission_ring_axis<class_ParticlesMaterial_property_emission_ring_axis>` | |
  75. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  76. | :ref:`float<class_float>` | :ref:`emission_ring_height<class_ParticlesMaterial_property_emission_ring_height>` | |
  77. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  78. | :ref:`float<class_float>` | :ref:`emission_ring_inner_radius<class_ParticlesMaterial_property_emission_ring_inner_radius>` | |
  79. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  80. | :ref:`float<class_float>` | :ref:`emission_ring_radius<class_ParticlesMaterial_property_emission_ring_radius>` | |
  81. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  82. | :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` | :ref:`emission_shape<class_ParticlesMaterial_property_emission_shape>` | ``0`` |
  83. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  84. | :ref:`float<class_float>` | :ref:`emission_sphere_radius<class_ParticlesMaterial_property_emission_sphere_radius>` | |
  85. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  86. | :ref:`float<class_float>` | :ref:`flatness<class_ParticlesMaterial_property_flatness>` | ``0.0`` |
  87. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  88. | :ref:`Vector3<class_Vector3>` | :ref:`gravity<class_ParticlesMaterial_property_gravity>` | ``Vector3(0, -9.8, 0)`` |
  89. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  90. | :ref:`Texture2D<class_Texture2D>` | :ref:`hue_variation_curve<class_ParticlesMaterial_property_hue_variation_curve>` | |
  91. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  92. | :ref:`float<class_float>` | :ref:`hue_variation_max<class_ParticlesMaterial_property_hue_variation_max>` | ``0.0`` |
  93. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  94. | :ref:`float<class_float>` | :ref:`hue_variation_min<class_ParticlesMaterial_property_hue_variation_min>` | ``0.0`` |
  95. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  96. | :ref:`float<class_float>` | :ref:`initial_velocity_max<class_ParticlesMaterial_property_initial_velocity_max>` | ``0.0`` |
  97. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  98. | :ref:`float<class_float>` | :ref:`initial_velocity_min<class_ParticlesMaterial_property_initial_velocity_min>` | ``0.0`` |
  99. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  100. | :ref:`float<class_float>` | :ref:`lifetime_randomness<class_ParticlesMaterial_property_lifetime_randomness>` | ``0.0`` |
  101. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  102. | :ref:`Texture2D<class_Texture2D>` | :ref:`linear_accel_curve<class_ParticlesMaterial_property_linear_accel_curve>` | |
  103. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  104. | :ref:`float<class_float>` | :ref:`linear_accel_max<class_ParticlesMaterial_property_linear_accel_max>` | ``0.0`` |
  105. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  106. | :ref:`float<class_float>` | :ref:`linear_accel_min<class_ParticlesMaterial_property_linear_accel_min>` | ``0.0`` |
  107. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  108. | :ref:`Texture2D<class_Texture2D>` | :ref:`orbit_velocity_curve<class_ParticlesMaterial_property_orbit_velocity_curve>` | |
  109. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  110. | :ref:`float<class_float>` | :ref:`orbit_velocity_max<class_ParticlesMaterial_property_orbit_velocity_max>` | |
  111. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  112. | :ref:`float<class_float>` | :ref:`orbit_velocity_min<class_ParticlesMaterial_property_orbit_velocity_min>` | |
  113. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  114. | :ref:`bool<class_bool>` | :ref:`particle_flag_align_y<class_ParticlesMaterial_property_particle_flag_align_y>` | ``false`` |
  115. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  116. | :ref:`bool<class_bool>` | :ref:`particle_flag_disable_z<class_ParticlesMaterial_property_particle_flag_disable_z>` | ``false`` |
  117. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  118. | :ref:`bool<class_bool>` | :ref:`particle_flag_rotate_y<class_ParticlesMaterial_property_particle_flag_rotate_y>` | ``false`` |
  119. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  120. | :ref:`Texture2D<class_Texture2D>` | :ref:`radial_accel_curve<class_ParticlesMaterial_property_radial_accel_curve>` | |
  121. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  122. | :ref:`float<class_float>` | :ref:`radial_accel_max<class_ParticlesMaterial_property_radial_accel_max>` | ``0.0`` |
  123. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  124. | :ref:`float<class_float>` | :ref:`radial_accel_min<class_ParticlesMaterial_property_radial_accel_min>` | ``0.0`` |
  125. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  126. | :ref:`Texture2D<class_Texture2D>` | :ref:`scale_curve<class_ParticlesMaterial_property_scale_curve>` | |
  127. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  128. | :ref:`float<class_float>` | :ref:`scale_max<class_ParticlesMaterial_property_scale_max>` | ``1.0`` |
  129. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  130. | :ref:`float<class_float>` | :ref:`scale_min<class_ParticlesMaterial_property_scale_min>` | ``1.0`` |
  131. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  132. | :ref:`float<class_float>` | :ref:`spread<class_ParticlesMaterial_property_spread>` | ``45.0`` |
  133. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  134. | :ref:`int<class_int>` | :ref:`sub_emitter_amount_at_end<class_ParticlesMaterial_property_sub_emitter_amount_at_end>` | |
  135. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  136. | :ref:`float<class_float>` | :ref:`sub_emitter_frequency<class_ParticlesMaterial_property_sub_emitter_frequency>` | |
  137. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  138. | :ref:`bool<class_bool>` | :ref:`sub_emitter_keep_velocity<class_ParticlesMaterial_property_sub_emitter_keep_velocity>` | ``false`` |
  139. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  140. | :ref:`SubEmitterMode<enum_ParticlesMaterial_SubEmitterMode>` | :ref:`sub_emitter_mode<class_ParticlesMaterial_property_sub_emitter_mode>` | ``0`` |
  141. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  142. | :ref:`Texture2D<class_Texture2D>` | :ref:`tangential_accel_curve<class_ParticlesMaterial_property_tangential_accel_curve>` | |
  143. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  144. | :ref:`float<class_float>` | :ref:`tangential_accel_max<class_ParticlesMaterial_property_tangential_accel_max>` | ``0.0`` |
  145. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  146. | :ref:`float<class_float>` | :ref:`tangential_accel_min<class_ParticlesMaterial_property_tangential_accel_min>` | ``0.0`` |
  147. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+
  148. Methods
  149. -------
  150. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  151. | :ref:`float<class_float>` | :ref:`get_param_max<class_ParticlesMaterial_method_get_param_max>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** |const| |
  152. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  153. | :ref:`float<class_float>` | :ref:`get_param_min<class_ParticlesMaterial_method_get_param_min>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** |const| |
  154. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  155. | :ref:`Texture2D<class_Texture2D>` | :ref:`get_param_texture<class_ParticlesMaterial_method_get_param_texture>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** |const| |
  156. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  157. | :ref:`bool<class_bool>` | :ref:`get_particle_flag<class_ParticlesMaterial_method_get_particle_flag>` **(** :ref:`ParticleFlags<enum_ParticlesMaterial_ParticleFlags>` particle_flag **)** |const| |
  158. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  159. | void | :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` value **)** |
  160. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  161. | void | :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` value **)** |
  162. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  163. | void | :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`Texture2D<class_Texture2D>` texture **)** |
  164. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  165. | void | :ref:`set_particle_flag<class_ParticlesMaterial_method_set_particle_flag>` **(** :ref:`ParticleFlags<enum_ParticlesMaterial_ParticleFlags>` particle_flag, :ref:`bool<class_bool>` enable **)** |
  166. +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  167. Enumerations
  168. ------------
  169. .. _enum_ParticlesMaterial_Parameter:
  170. .. _class_ParticlesMaterial_constant_PARAM_INITIAL_LINEAR_VELOCITY:
  171. .. _class_ParticlesMaterial_constant_PARAM_ANGULAR_VELOCITY:
  172. .. _class_ParticlesMaterial_constant_PARAM_ORBIT_VELOCITY:
  173. .. _class_ParticlesMaterial_constant_PARAM_LINEAR_ACCEL:
  174. .. _class_ParticlesMaterial_constant_PARAM_RADIAL_ACCEL:
  175. .. _class_ParticlesMaterial_constant_PARAM_TANGENTIAL_ACCEL:
  176. .. _class_ParticlesMaterial_constant_PARAM_DAMPING:
  177. .. _class_ParticlesMaterial_constant_PARAM_ANGLE:
  178. .. _class_ParticlesMaterial_constant_PARAM_SCALE:
  179. .. _class_ParticlesMaterial_constant_PARAM_HUE_VARIATION:
  180. .. _class_ParticlesMaterial_constant_PARAM_ANIM_SPEED:
  181. .. _class_ParticlesMaterial_constant_PARAM_ANIM_OFFSET:
  182. .. _class_ParticlesMaterial_constant_PARAM_MAX:
  183. enum **Parameter**:
  184. - **PARAM_INITIAL_LINEAR_VELOCITY** = **0** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set initial velocity properties.
  185. - **PARAM_ANGULAR_VELOCITY** = **1** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set angular velocity properties.
  186. - **PARAM_ORBIT_VELOCITY** = **2** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set orbital velocity properties.
  187. - **PARAM_LINEAR_ACCEL** = **3** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set linear acceleration properties.
  188. - **PARAM_RADIAL_ACCEL** = **4** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set radial acceleration properties.
  189. - **PARAM_TANGENTIAL_ACCEL** = **5** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set tangential acceleration properties.
  190. - **PARAM_DAMPING** = **6** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set damping properties.
  191. - **PARAM_ANGLE** = **7** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set angle properties.
  192. - **PARAM_SCALE** = **8** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set scale properties.
  193. - **PARAM_HUE_VARIATION** = **9** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set hue variation properties.
  194. - **PARAM_ANIM_SPEED** = **10** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set animation speed properties.
  195. - **PARAM_ANIM_OFFSET** = **11** --- Use with :ref:`set_param_min<class_ParticlesMaterial_method_set_param_min>`, :ref:`set_param_max<class_ParticlesMaterial_method_set_param_max>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set animation offset properties.
  196. - **PARAM_MAX** = **12** --- Represents the size of the :ref:`Parameter<enum_ParticlesMaterial_Parameter>` enum.
  197. ----
  198. .. _enum_ParticlesMaterial_ParticleFlags:
  199. .. _class_ParticlesMaterial_constant_PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY:
  200. .. _class_ParticlesMaterial_constant_PARTICLE_FLAG_ROTATE_Y:
  201. .. _class_ParticlesMaterial_constant_PARTICLE_FLAG_DISABLE_Z:
  202. .. _class_ParticlesMaterial_constant_PARTICLE_FLAG_MAX:
  203. enum **ParticleFlags**:
  204. - **PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY** = **0** --- Use with :ref:`set_particle_flag<class_ParticlesMaterial_method_set_particle_flag>` to set :ref:`particle_flag_align_y<class_ParticlesMaterial_property_particle_flag_align_y>`.
  205. - **PARTICLE_FLAG_ROTATE_Y** = **1** --- Use with :ref:`set_particle_flag<class_ParticlesMaterial_method_set_particle_flag>` to set :ref:`particle_flag_rotate_y<class_ParticlesMaterial_property_particle_flag_rotate_y>`.
  206. - **PARTICLE_FLAG_DISABLE_Z** = **2** --- Use with :ref:`set_particle_flag<class_ParticlesMaterial_method_set_particle_flag>` to set :ref:`particle_flag_disable_z<class_ParticlesMaterial_property_particle_flag_disable_z>`.
  207. - **PARTICLE_FLAG_MAX** = **3** --- Represents the size of the :ref:`ParticleFlags<enum_ParticlesMaterial_ParticleFlags>` enum.
  208. ----
  209. .. _enum_ParticlesMaterial_EmissionShape:
  210. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_POINT:
  211. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_SPHERE:
  212. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_BOX:
  213. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_POINTS:
  214. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS:
  215. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_RING:
  216. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_MAX:
  217. enum **EmissionShape**:
  218. - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
  219. - **EMISSION_SHAPE_SPHERE** = **1** --- Particles will be emitted in the volume of a sphere.
  220. - **EMISSION_SHAPE_BOX** = **2** --- Particles will be emitted in the volume of a box.
  221. - **EMISSION_SHAPE_POINTS** = **3** --- Particles will be emitted at a position determined by sampling a random point on the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Particle color will be modulated by :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>`.
  222. - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position determined by sampling a random point on the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Particle velocity and rotation will be set based on :ref:`emission_normal_texture<class_ParticlesMaterial_property_emission_normal_texture>`. Particle color will be modulated by :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>`.
  223. - **EMISSION_SHAPE_RING** = **5** --- Particles will be emitted in a ring or cylinder.
  224. - **EMISSION_SHAPE_MAX** = **6** --- Represents the size of the :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` enum.
  225. ----
  226. .. _enum_ParticlesMaterial_SubEmitterMode:
  227. .. _class_ParticlesMaterial_constant_SUB_EMITTER_DISABLED:
  228. .. _class_ParticlesMaterial_constant_SUB_EMITTER_CONSTANT:
  229. .. _class_ParticlesMaterial_constant_SUB_EMITTER_AT_END:
  230. .. _class_ParticlesMaterial_constant_SUB_EMITTER_AT_COLLISION:
  231. .. _class_ParticlesMaterial_constant_SUB_EMITTER_MAX:
  232. enum **SubEmitterMode**:
  233. - **SUB_EMITTER_DISABLED** = **0**
  234. - **SUB_EMITTER_CONSTANT** = **1**
  235. - **SUB_EMITTER_AT_END** = **2**
  236. - **SUB_EMITTER_AT_COLLISION** = **3**
  237. - **SUB_EMITTER_MAX** = **4**
  238. Property Descriptions
  239. ---------------------
  240. .. _class_ParticlesMaterial_property_angle_curve:
  241. - :ref:`Texture2D<class_Texture2D>` **angle_curve**
  242. +----------+--------------------------+
  243. | *Setter* | set_param_texture(value) |
  244. +----------+--------------------------+
  245. | *Getter* | get_param_texture() |
  246. +----------+--------------------------+
  247. Each particle's rotation will be animated along this :ref:`CurveTexture<class_CurveTexture>`.
  248. ----
  249. .. _class_ParticlesMaterial_property_angle_max:
  250. - :ref:`float<class_float>` **angle_max**
  251. +-----------+----------------------+
  252. | *Default* | ``0.0`` |
  253. +-----------+----------------------+
  254. | *Setter* | set_param_max(value) |
  255. +-----------+----------------------+
  256. | *Getter* | get_param_max() |
  257. +-----------+----------------------+
  258. Maximum angle.
  259. ----
  260. .. _class_ParticlesMaterial_property_angle_min:
  261. - :ref:`float<class_float>` **angle_min**
  262. +-----------+----------------------+
  263. | *Default* | ``0.0`` |
  264. +-----------+----------------------+
  265. | *Setter* | set_param_min(value) |
  266. +-----------+----------------------+
  267. | *Getter* | get_param_min() |
  268. +-----------+----------------------+
  269. Minimum angle.
  270. ----
  271. .. _class_ParticlesMaterial_property_angular_velocity_curve:
  272. - :ref:`Texture2D<class_Texture2D>` **angular_velocity_curve**
  273. +----------+--------------------------+
  274. | *Setter* | set_param_texture(value) |
  275. +----------+--------------------------+
  276. | *Getter* | get_param_texture() |
  277. +----------+--------------------------+
  278. Each particle's angular velocity will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  279. ----
  280. .. _class_ParticlesMaterial_property_angular_velocity_max:
  281. - :ref:`float<class_float>` **angular_velocity_max**
  282. +-----------+----------------------+
  283. | *Default* | ``0.0`` |
  284. +-----------+----------------------+
  285. | *Setter* | set_param_max(value) |
  286. +-----------+----------------------+
  287. | *Getter* | get_param_max() |
  288. +-----------+----------------------+
  289. Maximum angular velocity.
  290. ----
  291. .. _class_ParticlesMaterial_property_angular_velocity_min:
  292. - :ref:`float<class_float>` **angular_velocity_min**
  293. +-----------+----------------------+
  294. | *Default* | ``0.0`` |
  295. +-----------+----------------------+
  296. | *Setter* | set_param_min(value) |
  297. +-----------+----------------------+
  298. | *Getter* | get_param_min() |
  299. +-----------+----------------------+
  300. Minimum angular velocity.
  301. ----
  302. .. _class_ParticlesMaterial_property_anim_offset_curve:
  303. - :ref:`Texture2D<class_Texture2D>` **anim_offset_curve**
  304. +----------+--------------------------+
  305. | *Setter* | set_param_texture(value) |
  306. +----------+--------------------------+
  307. | *Getter* | get_param_texture() |
  308. +----------+--------------------------+
  309. Each particle's animation offset will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  310. ----
  311. .. _class_ParticlesMaterial_property_anim_offset_max:
  312. - :ref:`float<class_float>` **anim_offset_max**
  313. +-----------+----------------------+
  314. | *Default* | ``0.0`` |
  315. +-----------+----------------------+
  316. | *Setter* | set_param_max(value) |
  317. +-----------+----------------------+
  318. | *Getter* | get_param_max() |
  319. +-----------+----------------------+
  320. Maximum animation offset.
  321. ----
  322. .. _class_ParticlesMaterial_property_anim_offset_min:
  323. - :ref:`float<class_float>` **anim_offset_min**
  324. +-----------+----------------------+
  325. | *Default* | ``0.0`` |
  326. +-----------+----------------------+
  327. | *Setter* | set_param_min(value) |
  328. +-----------+----------------------+
  329. | *Getter* | get_param_min() |
  330. +-----------+----------------------+
  331. Minimum animation offset.
  332. ----
  333. .. _class_ParticlesMaterial_property_anim_speed_curve:
  334. - :ref:`Texture2D<class_Texture2D>` **anim_speed_curve**
  335. +----------+--------------------------+
  336. | *Setter* | set_param_texture(value) |
  337. +----------+--------------------------+
  338. | *Getter* | get_param_texture() |
  339. +----------+--------------------------+
  340. Each particle's animation speed will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  341. ----
  342. .. _class_ParticlesMaterial_property_anim_speed_max:
  343. - :ref:`float<class_float>` **anim_speed_max**
  344. +-----------+----------------------+
  345. | *Default* | ``0.0`` |
  346. +-----------+----------------------+
  347. | *Setter* | set_param_max(value) |
  348. +-----------+----------------------+
  349. | *Getter* | get_param_max() |
  350. +-----------+----------------------+
  351. Maximum particle animation speed.
  352. ----
  353. .. _class_ParticlesMaterial_property_anim_speed_min:
  354. - :ref:`float<class_float>` **anim_speed_min**
  355. +-----------+----------------------+
  356. | *Default* | ``0.0`` |
  357. +-----------+----------------------+
  358. | *Setter* | set_param_min(value) |
  359. +-----------+----------------------+
  360. | *Getter* | get_param_min() |
  361. +-----------+----------------------+
  362. Minimum particle animation speed.
  363. ----
  364. .. _class_ParticlesMaterial_property_attractor_interaction_enabled:
  365. - :ref:`bool<class_bool>` **attractor_interaction_enabled**
  366. +-----------+------------------------------------------+
  367. | *Default* | ``true`` |
  368. +-----------+------------------------------------------+
  369. | *Setter* | set_attractor_interaction_enabled(value) |
  370. +-----------+------------------------------------------+
  371. | *Getter* | is_attractor_interaction_enabled() |
  372. +-----------+------------------------------------------+
  373. True if the interaction with particle attractors is enabled.
  374. ----
  375. .. _class_ParticlesMaterial_property_collision_bounce:
  376. - :ref:`float<class_float>` **collision_bounce**
  377. +-----------+-----------------------------+
  378. | *Default* | ``0.0`` |
  379. +-----------+-----------------------------+
  380. | *Setter* | set_collision_bounce(value) |
  381. +-----------+-----------------------------+
  382. | *Getter* | get_collision_bounce() |
  383. +-----------+-----------------------------+
  384. Collision bouncyness.
  385. ----
  386. .. _class_ParticlesMaterial_property_collision_enabled:
  387. - :ref:`bool<class_bool>` **collision_enabled**
  388. +-----------+------------------------------+
  389. | *Default* | ``false`` |
  390. +-----------+------------------------------+
  391. | *Setter* | set_collision_enabled(value) |
  392. +-----------+------------------------------+
  393. | *Getter* | is_collision_enabled() |
  394. +-----------+------------------------------+
  395. True if collisions are enabled for this particle system.
  396. ----
  397. .. _class_ParticlesMaterial_property_collision_friction:
  398. - :ref:`float<class_float>` **collision_friction**
  399. +-----------+-------------------------------+
  400. | *Default* | ``0.0`` |
  401. +-----------+-------------------------------+
  402. | *Setter* | set_collision_friction(value) |
  403. +-----------+-------------------------------+
  404. | *Getter* | get_collision_friction() |
  405. +-----------+-------------------------------+
  406. Collision friction.
  407. ----
  408. .. _class_ParticlesMaterial_property_collision_use_scale:
  409. - :ref:`bool<class_bool>` **collision_use_scale**
  410. +-----------+--------------------------------+
  411. | *Default* | ``false`` |
  412. +-----------+--------------------------------+
  413. | *Setter* | set_collision_use_scale(value) |
  414. +-----------+--------------------------------+
  415. | *Getter* | is_collision_using_scale() |
  416. +-----------+--------------------------------+
  417. Should collision take scale into account.
  418. ----
  419. .. _class_ParticlesMaterial_property_color:
  420. - :ref:`Color<class_Color>` **color**
  421. +-----------+-----------------------+
  422. | *Default* | ``Color(1, 1, 1, 1)`` |
  423. +-----------+-----------------------+
  424. | *Setter* | set_color(value) |
  425. +-----------+-----------------------+
  426. | *Getter* | get_color() |
  427. +-----------+-----------------------+
  428. Each particle's initial color. If the :ref:`GPUParticles2D<class_GPUParticles2D>`'s ``texture`` is defined, it will be multiplied by this color. To have particle display color in a :ref:`BaseMaterial3D<class_BaseMaterial3D>` make sure to set :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` to ``true``.
  429. ----
  430. .. _class_ParticlesMaterial_property_color_ramp:
  431. - :ref:`Texture2D<class_Texture2D>` **color_ramp**
  432. +----------+-----------------------+
  433. | *Setter* | set_color_ramp(value) |
  434. +----------+-----------------------+
  435. | *Getter* | get_color_ramp() |
  436. +----------+-----------------------+
  437. Each particle's color will vary along this :ref:`GradientTexture1D<class_GradientTexture1D>` over its lifetime (multiplied with :ref:`color<class_ParticlesMaterial_property_color>`).
  438. ----
  439. .. _class_ParticlesMaterial_property_damping_curve:
  440. - :ref:`Texture2D<class_Texture2D>` **damping_curve**
  441. +----------+--------------------------+
  442. | *Setter* | set_param_texture(value) |
  443. +----------+--------------------------+
  444. | *Getter* | get_param_texture() |
  445. +----------+--------------------------+
  446. Damping will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  447. ----
  448. .. _class_ParticlesMaterial_property_damping_max:
  449. - :ref:`float<class_float>` **damping_max**
  450. +-----------+----------------------+
  451. | *Default* | ``0.0`` |
  452. +-----------+----------------------+
  453. | *Setter* | set_param_max(value) |
  454. +-----------+----------------------+
  455. | *Getter* | get_param_max() |
  456. +-----------+----------------------+
  457. ----
  458. .. _class_ParticlesMaterial_property_damping_min:
  459. - :ref:`float<class_float>` **damping_min**
  460. +-----------+----------------------+
  461. | *Default* | ``0.0`` |
  462. +-----------+----------------------+
  463. | *Setter* | set_param_min(value) |
  464. +-----------+----------------------+
  465. | *Getter* | get_param_min() |
  466. +-----------+----------------------+
  467. ----
  468. .. _class_ParticlesMaterial_property_direction:
  469. - :ref:`Vector3<class_Vector3>` **direction**
  470. +-----------+----------------------+
  471. | *Default* | ``Vector3(1, 0, 0)`` |
  472. +-----------+----------------------+
  473. | *Setter* | set_direction(value) |
  474. +-----------+----------------------+
  475. | *Getter* | get_direction() |
  476. +-----------+----------------------+
  477. Unit vector specifying the particles' emission direction.
  478. ----
  479. .. _class_ParticlesMaterial_property_emission_box_extents:
  480. - :ref:`Vector3<class_Vector3>` **emission_box_extents**
  481. +----------+---------------------------------+
  482. | *Setter* | set_emission_box_extents(value) |
  483. +----------+---------------------------------+
  484. | *Getter* | get_emission_box_extents() |
  485. +----------+---------------------------------+
  486. The box's extents if ``emission_shape`` is set to :ref:`EMISSION_SHAPE_BOX<class_ParticlesMaterial_constant_EMISSION_SHAPE_BOX>`.
  487. ----
  488. .. _class_ParticlesMaterial_property_emission_color_texture:
  489. - :ref:`Texture2D<class_Texture2D>` **emission_color_texture**
  490. +----------+-----------------------------------+
  491. | *Setter* | set_emission_color_texture(value) |
  492. +----------+-----------------------------------+
  493. | *Getter* | get_emission_color_texture() |
  494. +----------+-----------------------------------+
  495. Particle color will be modulated by color determined by sampling this texture at the same point as the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`.
  496. ----
  497. .. _class_ParticlesMaterial_property_emission_normal_texture:
  498. - :ref:`Texture2D<class_Texture2D>` **emission_normal_texture**
  499. +----------+------------------------------------+
  500. | *Setter* | set_emission_normal_texture(value) |
  501. +----------+------------------------------------+
  502. | *Getter* | get_emission_normal_texture() |
  503. +----------+------------------------------------+
  504. Particle velocity and rotation will be set by sampling this texture at the same point as the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Used only in :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS>`. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
  505. ----
  506. .. _class_ParticlesMaterial_property_emission_point_count:
  507. - :ref:`int<class_int>` **emission_point_count**
  508. +----------+---------------------------------+
  509. | *Setter* | set_emission_point_count(value) |
  510. +----------+---------------------------------+
  511. | *Getter* | get_emission_point_count() |
  512. +----------+---------------------------------+
  513. The number of emission points if ``emission_shape`` is set to :ref:`EMISSION_SHAPE_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
  514. ----
  515. .. _class_ParticlesMaterial_property_emission_point_texture:
  516. - :ref:`Texture2D<class_Texture2D>` **emission_point_texture**
  517. +----------+-----------------------------------+
  518. | *Setter* | set_emission_point_texture(value) |
  519. +----------+-----------------------------------+
  520. | *Getter* | get_emission_point_texture() |
  521. +----------+-----------------------------------+
  522. Particles will be emitted at positions determined by sampling this texture at a random position. Used with :ref:`EMISSION_SHAPE_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_POINTS>` and :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS>`. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
  523. ----
  524. .. _class_ParticlesMaterial_property_emission_ring_axis:
  525. - :ref:`Vector3<class_Vector3>` **emission_ring_axis**
  526. +----------+-------------------------------+
  527. | *Setter* | set_emission_ring_axis(value) |
  528. +----------+-------------------------------+
  529. | *Getter* | get_emission_ring_axis() |
  530. +----------+-------------------------------+
  531. The axis of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_ParticlesMaterial_constant_EMISSION_SHAPE_RING>`.
  532. ----
  533. .. _class_ParticlesMaterial_property_emission_ring_height:
  534. - :ref:`float<class_float>` **emission_ring_height**
  535. +----------+---------------------------------+
  536. | *Setter* | set_emission_ring_height(value) |
  537. +----------+---------------------------------+
  538. | *Getter* | get_emission_ring_height() |
  539. +----------+---------------------------------+
  540. The height of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_ParticlesMaterial_constant_EMISSION_SHAPE_RING>`.
  541. ----
  542. .. _class_ParticlesMaterial_property_emission_ring_inner_radius:
  543. - :ref:`float<class_float>` **emission_ring_inner_radius**
  544. +----------+---------------------------------------+
  545. | *Setter* | set_emission_ring_inner_radius(value) |
  546. +----------+---------------------------------------+
  547. | *Getter* | get_emission_ring_inner_radius() |
  548. +----------+---------------------------------------+
  549. The inner radius of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_ParticlesMaterial_constant_EMISSION_SHAPE_RING>`.
  550. ----
  551. .. _class_ParticlesMaterial_property_emission_ring_radius:
  552. - :ref:`float<class_float>` **emission_ring_radius**
  553. +----------+---------------------------------+
  554. | *Setter* | set_emission_ring_radius(value) |
  555. +----------+---------------------------------+
  556. | *Getter* | get_emission_ring_radius() |
  557. +----------+---------------------------------+
  558. The radius of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_ParticlesMaterial_constant_EMISSION_SHAPE_RING>`.
  559. ----
  560. .. _class_ParticlesMaterial_property_emission_shape:
  561. - :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` **emission_shape**
  562. +-----------+---------------------------+
  563. | *Default* | ``0`` |
  564. +-----------+---------------------------+
  565. | *Setter* | set_emission_shape(value) |
  566. +-----------+---------------------------+
  567. | *Getter* | get_emission_shape() |
  568. +-----------+---------------------------+
  569. Particles will be emitted inside this region. Use :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` constants for values.
  570. ----
  571. .. _class_ParticlesMaterial_property_emission_sphere_radius:
  572. - :ref:`float<class_float>` **emission_sphere_radius**
  573. +----------+-----------------------------------+
  574. | *Setter* | set_emission_sphere_radius(value) |
  575. +----------+-----------------------------------+
  576. | *Getter* | get_emission_sphere_radius() |
  577. +----------+-----------------------------------+
  578. The sphere's radius if ``emission_shape`` is set to :ref:`EMISSION_SHAPE_SPHERE<class_ParticlesMaterial_constant_EMISSION_SHAPE_SPHERE>`.
  579. ----
  580. .. _class_ParticlesMaterial_property_flatness:
  581. - :ref:`float<class_float>` **flatness**
  582. +-----------+---------------------+
  583. | *Default* | ``0.0`` |
  584. +-----------+---------------------+
  585. | *Setter* | set_flatness(value) |
  586. +-----------+---------------------+
  587. | *Getter* | get_flatness() |
  588. +-----------+---------------------+
  589. Amount of :ref:`spread<class_ParticlesMaterial_property_spread>` along the Y axis.
  590. ----
  591. .. _class_ParticlesMaterial_property_gravity:
  592. - :ref:`Vector3<class_Vector3>` **gravity**
  593. +-----------+-------------------------+
  594. | *Default* | ``Vector3(0, -9.8, 0)`` |
  595. +-----------+-------------------------+
  596. | *Setter* | set_gravity(value) |
  597. +-----------+-------------------------+
  598. | *Getter* | get_gravity() |
  599. +-----------+-------------------------+
  600. Gravity applied to every particle.
  601. ----
  602. .. _class_ParticlesMaterial_property_hue_variation_curve:
  603. - :ref:`Texture2D<class_Texture2D>` **hue_variation_curve**
  604. +----------+--------------------------+
  605. | *Setter* | set_param_texture(value) |
  606. +----------+--------------------------+
  607. | *Getter* | get_param_texture() |
  608. +----------+--------------------------+
  609. Each particle's hue will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  610. ----
  611. .. _class_ParticlesMaterial_property_hue_variation_max:
  612. - :ref:`float<class_float>` **hue_variation_max**
  613. +-----------+----------------------+
  614. | *Default* | ``0.0`` |
  615. +-----------+----------------------+
  616. | *Setter* | set_param_max(value) |
  617. +-----------+----------------------+
  618. | *Getter* | get_param_max() |
  619. +-----------+----------------------+
  620. Maximum hue variation.
  621. ----
  622. .. _class_ParticlesMaterial_property_hue_variation_min:
  623. - :ref:`float<class_float>` **hue_variation_min**
  624. +-----------+----------------------+
  625. | *Default* | ``0.0`` |
  626. +-----------+----------------------+
  627. | *Setter* | set_param_min(value) |
  628. +-----------+----------------------+
  629. | *Getter* | get_param_min() |
  630. +-----------+----------------------+
  631. Minimum hue variation.
  632. ----
  633. .. _class_ParticlesMaterial_property_initial_velocity_max:
  634. - :ref:`float<class_float>` **initial_velocity_max**
  635. +-----------+----------------------+
  636. | *Default* | ``0.0`` |
  637. +-----------+----------------------+
  638. | *Setter* | set_param_max(value) |
  639. +-----------+----------------------+
  640. | *Getter* | get_param_max() |
  641. +-----------+----------------------+
  642. Maximum initial velocity.
  643. ----
  644. .. _class_ParticlesMaterial_property_initial_velocity_min:
  645. - :ref:`float<class_float>` **initial_velocity_min**
  646. +-----------+----------------------+
  647. | *Default* | ``0.0`` |
  648. +-----------+----------------------+
  649. | *Setter* | set_param_min(value) |
  650. +-----------+----------------------+
  651. | *Getter* | get_param_min() |
  652. +-----------+----------------------+
  653. Minimum initial velocity.
  654. ----
  655. .. _class_ParticlesMaterial_property_lifetime_randomness:
  656. - :ref:`float<class_float>` **lifetime_randomness**
  657. +-----------+--------------------------------+
  658. | *Default* | ``0.0`` |
  659. +-----------+--------------------------------+
  660. | *Setter* | set_lifetime_randomness(value) |
  661. +-----------+--------------------------------+
  662. | *Getter* | get_lifetime_randomness() |
  663. +-----------+--------------------------------+
  664. Particle lifetime randomness ratio.
  665. ----
  666. .. _class_ParticlesMaterial_property_linear_accel_curve:
  667. - :ref:`Texture2D<class_Texture2D>` **linear_accel_curve**
  668. +----------+--------------------------+
  669. | *Setter* | set_param_texture(value) |
  670. +----------+--------------------------+
  671. | *Getter* | get_param_texture() |
  672. +----------+--------------------------+
  673. Each particle's linear acceleration will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  674. ----
  675. .. _class_ParticlesMaterial_property_linear_accel_max:
  676. - :ref:`float<class_float>` **linear_accel_max**
  677. +-----------+----------------------+
  678. | *Default* | ``0.0`` |
  679. +-----------+----------------------+
  680. | *Setter* | set_param_max(value) |
  681. +-----------+----------------------+
  682. | *Getter* | get_param_max() |
  683. +-----------+----------------------+
  684. Maximum linear acceleration.
  685. ----
  686. .. _class_ParticlesMaterial_property_linear_accel_min:
  687. - :ref:`float<class_float>` **linear_accel_min**
  688. +-----------+----------------------+
  689. | *Default* | ``0.0`` |
  690. +-----------+----------------------+
  691. | *Setter* | set_param_min(value) |
  692. +-----------+----------------------+
  693. | *Getter* | get_param_min() |
  694. +-----------+----------------------+
  695. Minimum linear acceleration.
  696. ----
  697. .. _class_ParticlesMaterial_property_orbit_velocity_curve:
  698. - :ref:`Texture2D<class_Texture2D>` **orbit_velocity_curve**
  699. +----------+--------------------------+
  700. | *Setter* | set_param_texture(value) |
  701. +----------+--------------------------+
  702. | *Getter* | get_param_texture() |
  703. +----------+--------------------------+
  704. Each particle's orbital velocity will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  705. ----
  706. .. _class_ParticlesMaterial_property_orbit_velocity_max:
  707. - :ref:`float<class_float>` **orbit_velocity_max**
  708. +----------+----------------------+
  709. | *Setter* | set_param_max(value) |
  710. +----------+----------------------+
  711. | *Getter* | get_param_max() |
  712. +----------+----------------------+
  713. Maximum orbit velocity.
  714. ----
  715. .. _class_ParticlesMaterial_property_orbit_velocity_min:
  716. - :ref:`float<class_float>` **orbit_velocity_min**
  717. +----------+----------------------+
  718. | *Setter* | set_param_min(value) |
  719. +----------+----------------------+
  720. | *Getter* | get_param_min() |
  721. +----------+----------------------+
  722. Minimum orbit velocity.
  723. ----
  724. .. _class_ParticlesMaterial_property_particle_flag_align_y:
  725. - :ref:`bool<class_bool>` **particle_flag_align_y**
  726. +-----------+--------------------------+
  727. | *Default* | ``false`` |
  728. +-----------+--------------------------+
  729. | *Setter* | set_particle_flag(value) |
  730. +-----------+--------------------------+
  731. | *Getter* | get_particle_flag() |
  732. +-----------+--------------------------+
  733. Align Y axis of particle with the direction of its velocity.
  734. ----
  735. .. _class_ParticlesMaterial_property_particle_flag_disable_z:
  736. - :ref:`bool<class_bool>` **particle_flag_disable_z**
  737. +-----------+--------------------------+
  738. | *Default* | ``false`` |
  739. +-----------+--------------------------+
  740. | *Setter* | set_particle_flag(value) |
  741. +-----------+--------------------------+
  742. | *Getter* | get_particle_flag() |
  743. +-----------+--------------------------+
  744. If ``true``, particles will not move on the z axis.
  745. ----
  746. .. _class_ParticlesMaterial_property_particle_flag_rotate_y:
  747. - :ref:`bool<class_bool>` **particle_flag_rotate_y**
  748. +-----------+--------------------------+
  749. | *Default* | ``false`` |
  750. +-----------+--------------------------+
  751. | *Setter* | set_particle_flag(value) |
  752. +-----------+--------------------------+
  753. | *Getter* | get_particle_flag() |
  754. +-----------+--------------------------+
  755. If ``true``, particles rotate around Y axis by :ref:`angle_min<class_ParticlesMaterial_property_angle_min>`.
  756. ----
  757. .. _class_ParticlesMaterial_property_radial_accel_curve:
  758. - :ref:`Texture2D<class_Texture2D>` **radial_accel_curve**
  759. +----------+--------------------------+
  760. | *Setter* | set_param_texture(value) |
  761. +----------+--------------------------+
  762. | *Getter* | get_param_texture() |
  763. +----------+--------------------------+
  764. Each particle's radial acceleration will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  765. ----
  766. .. _class_ParticlesMaterial_property_radial_accel_max:
  767. - :ref:`float<class_float>` **radial_accel_max**
  768. +-----------+----------------------+
  769. | *Default* | ``0.0`` |
  770. +-----------+----------------------+
  771. | *Setter* | set_param_max(value) |
  772. +-----------+----------------------+
  773. | *Getter* | get_param_max() |
  774. +-----------+----------------------+
  775. Maximum radial acceleration.
  776. ----
  777. .. _class_ParticlesMaterial_property_radial_accel_min:
  778. - :ref:`float<class_float>` **radial_accel_min**
  779. +-----------+----------------------+
  780. | *Default* | ``0.0`` |
  781. +-----------+----------------------+
  782. | *Setter* | set_param_min(value) |
  783. +-----------+----------------------+
  784. | *Getter* | get_param_min() |
  785. +-----------+----------------------+
  786. Minimum radial acceleration.
  787. ----
  788. .. _class_ParticlesMaterial_property_scale_curve:
  789. - :ref:`Texture2D<class_Texture2D>` **scale_curve**
  790. +----------+--------------------------+
  791. | *Setter* | set_param_texture(value) |
  792. +----------+--------------------------+
  793. | *Getter* | get_param_texture() |
  794. +----------+--------------------------+
  795. Each particle's scale will vary along this :ref:`CurveTexture<class_CurveTexture>`. If a :ref:`CurveXYZTexture<class_CurveXYZTexture>` is supplied instead, the scale will be separated per-axis.
  796. ----
  797. .. _class_ParticlesMaterial_property_scale_max:
  798. - :ref:`float<class_float>` **scale_max**
  799. +-----------+----------------------+
  800. | *Default* | ``1.0`` |
  801. +-----------+----------------------+
  802. | *Setter* | set_param_max(value) |
  803. +-----------+----------------------+
  804. | *Getter* | get_param_max() |
  805. +-----------+----------------------+
  806. Maximum scale.
  807. ----
  808. .. _class_ParticlesMaterial_property_scale_min:
  809. - :ref:`float<class_float>` **scale_min**
  810. +-----------+----------------------+
  811. | *Default* | ``1.0`` |
  812. +-----------+----------------------+
  813. | *Setter* | set_param_min(value) |
  814. +-----------+----------------------+
  815. | *Getter* | get_param_min() |
  816. +-----------+----------------------+
  817. Minimum scale.
  818. ----
  819. .. _class_ParticlesMaterial_property_spread:
  820. - :ref:`float<class_float>` **spread**
  821. +-----------+-------------------+
  822. | *Default* | ``45.0`` |
  823. +-----------+-------------------+
  824. | *Setter* | set_spread(value) |
  825. +-----------+-------------------+
  826. | *Getter* | get_spread() |
  827. +-----------+-------------------+
  828. Each particle's initial direction range from ``+spread`` to ``-spread`` degrees.
  829. ----
  830. .. _class_ParticlesMaterial_property_sub_emitter_amount_at_end:
  831. - :ref:`int<class_int>` **sub_emitter_amount_at_end**
  832. +----------+--------------------------------------+
  833. | *Setter* | set_sub_emitter_amount_at_end(value) |
  834. +----------+--------------------------------------+
  835. | *Getter* | get_sub_emitter_amount_at_end() |
  836. +----------+--------------------------------------+
  837. ----
  838. .. _class_ParticlesMaterial_property_sub_emitter_frequency:
  839. - :ref:`float<class_float>` **sub_emitter_frequency**
  840. +----------+----------------------------------+
  841. | *Setter* | set_sub_emitter_frequency(value) |
  842. +----------+----------------------------------+
  843. | *Getter* | get_sub_emitter_frequency() |
  844. +----------+----------------------------------+
  845. ----
  846. .. _class_ParticlesMaterial_property_sub_emitter_keep_velocity:
  847. - :ref:`bool<class_bool>` **sub_emitter_keep_velocity**
  848. +-----------+--------------------------------------+
  849. | *Default* | ``false`` |
  850. +-----------+--------------------------------------+
  851. | *Setter* | set_sub_emitter_keep_velocity(value) |
  852. +-----------+--------------------------------------+
  853. | *Getter* | get_sub_emitter_keep_velocity() |
  854. +-----------+--------------------------------------+
  855. ----
  856. .. _class_ParticlesMaterial_property_sub_emitter_mode:
  857. - :ref:`SubEmitterMode<enum_ParticlesMaterial_SubEmitterMode>` **sub_emitter_mode**
  858. +-----------+-----------------------------+
  859. | *Default* | ``0`` |
  860. +-----------+-----------------------------+
  861. | *Setter* | set_sub_emitter_mode(value) |
  862. +-----------+-----------------------------+
  863. | *Getter* | get_sub_emitter_mode() |
  864. +-----------+-----------------------------+
  865. ----
  866. .. _class_ParticlesMaterial_property_tangential_accel_curve:
  867. - :ref:`Texture2D<class_Texture2D>` **tangential_accel_curve**
  868. +----------+--------------------------+
  869. | *Setter* | set_param_texture(value) |
  870. +----------+--------------------------+
  871. | *Getter* | get_param_texture() |
  872. +----------+--------------------------+
  873. Each particle's tangential acceleration will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  874. ----
  875. .. _class_ParticlesMaterial_property_tangential_accel_max:
  876. - :ref:`float<class_float>` **tangential_accel_max**
  877. +-----------+----------------------+
  878. | *Default* | ``0.0`` |
  879. +-----------+----------------------+
  880. | *Setter* | set_param_max(value) |
  881. +-----------+----------------------+
  882. | *Getter* | get_param_max() |
  883. +-----------+----------------------+
  884. Maximum tangential acceleration.
  885. ----
  886. .. _class_ParticlesMaterial_property_tangential_accel_min:
  887. - :ref:`float<class_float>` **tangential_accel_min**
  888. +-----------+----------------------+
  889. | *Default* | ``0.0`` |
  890. +-----------+----------------------+
  891. | *Setter* | set_param_min(value) |
  892. +-----------+----------------------+
  893. | *Getter* | get_param_min() |
  894. +-----------+----------------------+
  895. Minimum tangential acceleration.
  896. Method Descriptions
  897. -------------------
  898. .. _class_ParticlesMaterial_method_get_param_max:
  899. - :ref:`float<class_float>` **get_param_max** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** |const|
  900. Return the maximum value range for the given prameter.
  901. ----
  902. .. _class_ParticlesMaterial_method_get_param_min:
  903. - :ref:`float<class_float>` **get_param_min** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** |const|
  904. Return the minimum value range for the given parameter.
  905. ----
  906. .. _class_ParticlesMaterial_method_get_param_texture:
  907. - :ref:`Texture2D<class_Texture2D>` **get_param_texture** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** |const|
  908. Returns the :ref:`Texture2D<class_Texture2D>` used by the specified parameter.
  909. ----
  910. .. _class_ParticlesMaterial_method_get_particle_flag:
  911. - :ref:`bool<class_bool>` **get_particle_flag** **(** :ref:`ParticleFlags<enum_ParticlesMaterial_ParticleFlags>` particle_flag **)** |const|
  912. Returns ``true`` if the specified particle flag is enabled. See :ref:`ParticleFlags<enum_ParticlesMaterial_ParticleFlags>` for options.
  913. ----
  914. .. _class_ParticlesMaterial_method_set_param_max:
  915. - void **set_param_max** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
  916. Sets the maximum value range for the given parameter.
  917. ----
  918. .. _class_ParticlesMaterial_method_set_param_min:
  919. - void **set_param_min** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
  920. Sets the minimum value range for the given parameter.
  921. ----
  922. .. _class_ParticlesMaterial_method_set_param_texture:
  923. - void **set_param_texture** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`Texture2D<class_Texture2D>` texture **)**
  924. Sets the :ref:`Texture2D<class_Texture2D>` for the specified :ref:`Parameter<enum_ParticlesMaterial_Parameter>`.
  925. ----
  926. .. _class_ParticlesMaterial_method_set_particle_flag:
  927. - void **set_particle_flag** **(** :ref:`ParticleFlags<enum_ParticlesMaterial_ParticleFlags>` particle_flag, :ref:`bool<class_bool>` enable **)**
  928. If ``true``, enables the specified particle flag. See :ref:`ParticleFlags<enum_ParticlesMaterial_ParticleFlags>` for options.
  929. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  930. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  931. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  932. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  933. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  934. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`