class_cpuparticles2d.rst 99 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832
  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/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CPUParticles2D.xml.
  6. .. _class_CPUParticles2D:
  7. CPUParticles2D
  8. ==============
  9. **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. A CPU-based 2D particle emitter.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. CPU-based 2D particle node used to create a variety of particle systems and effects.
  15. See also :ref:`GPUParticles2D<class_GPUParticles2D>`, which provides the same functionality with hardware acceleration, but may not run on older devices.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`Particle systems (2D) <../tutorials/2d/particle_systems_2d>`
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  26. | :ref:`int<class_int>` | :ref:`amount<class_CPUParticles2D_property_amount>` | ``8`` |
  27. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  28. | :ref:`Curve<class_Curve>` | :ref:`angle_curve<class_CPUParticles2D_property_angle_curve>` | |
  29. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  30. | :ref:`float<class_float>` | :ref:`angle_max<class_CPUParticles2D_property_angle_max>` | ``0.0`` |
  31. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  32. | :ref:`float<class_float>` | :ref:`angle_min<class_CPUParticles2D_property_angle_min>` | ``0.0`` |
  33. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  34. | :ref:`Curve<class_Curve>` | :ref:`angular_velocity_curve<class_CPUParticles2D_property_angular_velocity_curve>` | |
  35. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`angular_velocity_max<class_CPUParticles2D_property_angular_velocity_max>` | ``0.0`` |
  37. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  38. | :ref:`float<class_float>` | :ref:`angular_velocity_min<class_CPUParticles2D_property_angular_velocity_min>` | ``0.0`` |
  39. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  40. | :ref:`Curve<class_Curve>` | :ref:`anim_offset_curve<class_CPUParticles2D_property_anim_offset_curve>` | |
  41. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  42. | :ref:`float<class_float>` | :ref:`anim_offset_max<class_CPUParticles2D_property_anim_offset_max>` | ``0.0`` |
  43. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  44. | :ref:`float<class_float>` | :ref:`anim_offset_min<class_CPUParticles2D_property_anim_offset_min>` | ``0.0`` |
  45. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  46. | :ref:`Curve<class_Curve>` | :ref:`anim_speed_curve<class_CPUParticles2D_property_anim_speed_curve>` | |
  47. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  48. | :ref:`float<class_float>` | :ref:`anim_speed_max<class_CPUParticles2D_property_anim_speed_max>` | ``0.0`` |
  49. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  50. | :ref:`float<class_float>` | :ref:`anim_speed_min<class_CPUParticles2D_property_anim_speed_min>` | ``0.0`` |
  51. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  52. | :ref:`Color<class_Color>` | :ref:`color<class_CPUParticles2D_property_color>` | ``Color(1, 1, 1, 1)`` |
  53. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  54. | :ref:`Gradient<class_Gradient>` | :ref:`color_initial_ramp<class_CPUParticles2D_property_color_initial_ramp>` | |
  55. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  56. | :ref:`Gradient<class_Gradient>` | :ref:`color_ramp<class_CPUParticles2D_property_color_ramp>` | |
  57. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  58. | :ref:`Curve<class_Curve>` | :ref:`damping_curve<class_CPUParticles2D_property_damping_curve>` | |
  59. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  60. | :ref:`float<class_float>` | :ref:`damping_max<class_CPUParticles2D_property_damping_max>` | ``0.0`` |
  61. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  62. | :ref:`float<class_float>` | :ref:`damping_min<class_CPUParticles2D_property_damping_min>` | ``0.0`` |
  63. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  64. | :ref:`Vector2<class_Vector2>` | :ref:`direction<class_CPUParticles2D_property_direction>` | ``Vector2(1, 0)`` |
  65. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  66. | :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>` | :ref:`draw_order<class_CPUParticles2D_property_draw_order>` | ``0`` |
  67. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  68. | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>` | |
  69. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  70. | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>` | |
  71. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  72. | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`emission_points<class_CPUParticles2D_property_emission_points>` | |
  73. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  74. | :ref:`Vector2<class_Vector2>` | :ref:`emission_rect_extents<class_CPUParticles2D_property_emission_rect_extents>` | |
  75. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  76. | :ref:`float<class_float>` | :ref:`emission_ring_inner_radius<class_CPUParticles2D_property_emission_ring_inner_radius>` | |
  77. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  78. | :ref:`float<class_float>` | :ref:`emission_ring_radius<class_CPUParticles2D_property_emission_ring_radius>` | |
  79. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  80. | :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` | :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>` | ``0`` |
  81. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  82. | :ref:`float<class_float>` | :ref:`emission_sphere_radius<class_CPUParticles2D_property_emission_sphere_radius>` | |
  83. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  84. | :ref:`bool<class_bool>` | :ref:`emitting<class_CPUParticles2D_property_emitting>` | ``true`` |
  85. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  86. | :ref:`float<class_float>` | :ref:`explosiveness<class_CPUParticles2D_property_explosiveness>` | ``0.0`` |
  87. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  88. | :ref:`int<class_int>` | :ref:`fixed_fps<class_CPUParticles2D_property_fixed_fps>` | ``0`` |
  89. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  90. | :ref:`bool<class_bool>` | :ref:`fract_delta<class_CPUParticles2D_property_fract_delta>` | ``true`` |
  91. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  92. | :ref:`Vector2<class_Vector2>` | :ref:`gravity<class_CPUParticles2D_property_gravity>` | ``Vector2(0, 980)`` |
  93. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  94. | :ref:`Curve<class_Curve>` | :ref:`hue_variation_curve<class_CPUParticles2D_property_hue_variation_curve>` | |
  95. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  96. | :ref:`float<class_float>` | :ref:`hue_variation_max<class_CPUParticles2D_property_hue_variation_max>` | ``0.0`` |
  97. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  98. | :ref:`float<class_float>` | :ref:`hue_variation_min<class_CPUParticles2D_property_hue_variation_min>` | ``0.0`` |
  99. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  100. | :ref:`float<class_float>` | :ref:`initial_velocity_max<class_CPUParticles2D_property_initial_velocity_max>` | ``0.0`` |
  101. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  102. | :ref:`float<class_float>` | :ref:`initial_velocity_min<class_CPUParticles2D_property_initial_velocity_min>` | ``0.0`` |
  103. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  104. | :ref:`float<class_float>` | :ref:`lifetime<class_CPUParticles2D_property_lifetime>` | ``1.0`` |
  105. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  106. | :ref:`float<class_float>` | :ref:`lifetime_randomness<class_CPUParticles2D_property_lifetime_randomness>` | ``0.0`` |
  107. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  108. | :ref:`Curve<class_Curve>` | :ref:`linear_accel_curve<class_CPUParticles2D_property_linear_accel_curve>` | |
  109. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  110. | :ref:`float<class_float>` | :ref:`linear_accel_max<class_CPUParticles2D_property_linear_accel_max>` | ``0.0`` |
  111. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  112. | :ref:`float<class_float>` | :ref:`linear_accel_min<class_CPUParticles2D_property_linear_accel_min>` | ``0.0`` |
  113. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  114. | :ref:`bool<class_bool>` | :ref:`local_coords<class_CPUParticles2D_property_local_coords>` | ``false`` |
  115. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  116. | :ref:`bool<class_bool>` | :ref:`one_shot<class_CPUParticles2D_property_one_shot>` | ``false`` |
  117. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  118. | :ref:`Curve<class_Curve>` | :ref:`orbit_velocity_curve<class_CPUParticles2D_property_orbit_velocity_curve>` | |
  119. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  120. | :ref:`float<class_float>` | :ref:`orbit_velocity_max<class_CPUParticles2D_property_orbit_velocity_max>` | ``0.0`` |
  121. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  122. | :ref:`float<class_float>` | :ref:`orbit_velocity_min<class_CPUParticles2D_property_orbit_velocity_min>` | ``0.0`` |
  123. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  124. | :ref:`bool<class_bool>` | :ref:`particle_flag_align_y<class_CPUParticles2D_property_particle_flag_align_y>` | ``false`` |
  125. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  126. | :ref:`PhysicsInterpolationMode<enum_Node_PhysicsInterpolationMode>` | physics_interpolation_mode | ``2`` (overrides :ref:`Node<class_Node_property_physics_interpolation_mode>`) |
  127. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  128. | :ref:`float<class_float>` | :ref:`preprocess<class_CPUParticles2D_property_preprocess>` | ``0.0`` |
  129. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  130. | :ref:`Curve<class_Curve>` | :ref:`radial_accel_curve<class_CPUParticles2D_property_radial_accel_curve>` | |
  131. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  132. | :ref:`float<class_float>` | :ref:`radial_accel_max<class_CPUParticles2D_property_radial_accel_max>` | ``0.0`` |
  133. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  134. | :ref:`float<class_float>` | :ref:`radial_accel_min<class_CPUParticles2D_property_radial_accel_min>` | ``0.0`` |
  135. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  136. | :ref:`float<class_float>` | :ref:`randomness<class_CPUParticles2D_property_randomness>` | ``0.0`` |
  137. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  138. | :ref:`Curve<class_Curve>` | :ref:`scale_amount_curve<class_CPUParticles2D_property_scale_amount_curve>` | |
  139. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  140. | :ref:`float<class_float>` | :ref:`scale_amount_max<class_CPUParticles2D_property_scale_amount_max>` | ``1.0`` |
  141. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  142. | :ref:`float<class_float>` | :ref:`scale_amount_min<class_CPUParticles2D_property_scale_amount_min>` | ``1.0`` |
  143. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  144. | :ref:`Curve<class_Curve>` | :ref:`scale_curve_x<class_CPUParticles2D_property_scale_curve_x>` | |
  145. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  146. | :ref:`Curve<class_Curve>` | :ref:`scale_curve_y<class_CPUParticles2D_property_scale_curve_y>` | |
  147. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  148. | :ref:`int<class_int>` | :ref:`seed<class_CPUParticles2D_property_seed>` | ``0`` |
  149. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  150. | :ref:`float<class_float>` | :ref:`speed_scale<class_CPUParticles2D_property_speed_scale>` | ``1.0`` |
  151. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  152. | :ref:`bool<class_bool>` | :ref:`split_scale<class_CPUParticles2D_property_split_scale>` | ``false`` |
  153. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  154. | :ref:`float<class_float>` | :ref:`spread<class_CPUParticles2D_property_spread>` | ``45.0`` |
  155. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  156. | :ref:`Curve<class_Curve>` | :ref:`tangential_accel_curve<class_CPUParticles2D_property_tangential_accel_curve>` | |
  157. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  158. | :ref:`float<class_float>` | :ref:`tangential_accel_max<class_CPUParticles2D_property_tangential_accel_max>` | ``0.0`` |
  159. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  160. | :ref:`float<class_float>` | :ref:`tangential_accel_min<class_CPUParticles2D_property_tangential_accel_min>` | ``0.0`` |
  161. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  162. | :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_CPUParticles2D_property_texture>` | |
  163. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  164. | :ref:`bool<class_bool>` | :ref:`use_fixed_seed<class_CPUParticles2D_property_use_fixed_seed>` | ``false`` |
  165. +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  166. .. rst-class:: classref-reftable-group
  167. Methods
  168. -------
  169. .. table::
  170. :widths: auto
  171. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | |void| | :ref:`convert_from_particles<class_CPUParticles2D_method_convert_from_particles>`\ (\ particles\: :ref:`Node<class_Node>`\ ) |
  173. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | :ref:`Curve<class_Curve>` | :ref:`get_param_curve<class_CPUParticles2D_method_get_param_curve>`\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const| |
  175. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | :ref:`float<class_float>` | :ref:`get_param_max<class_CPUParticles2D_method_get_param_max>`\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const| |
  177. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | :ref:`float<class_float>` | :ref:`get_param_min<class_CPUParticles2D_method_get_param_min>`\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const| |
  179. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | :ref:`bool<class_bool>` | :ref:`get_particle_flag<class_CPUParticles2D_method_get_particle_flag>`\ (\ particle_flag\: :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>`\ ) |const| |
  181. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | |void| | :ref:`request_particles_process<class_CPUParticles2D_method_request_particles_process>`\ (\ process_time\: :ref:`float<class_float>`\ ) |
  183. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | |void| | :ref:`restart<class_CPUParticles2D_method_restart>`\ (\ keep_seed\: :ref:`bool<class_bool>` = false\ ) |
  185. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | |void| | :ref:`set_param_curve<class_CPUParticles2D_method_set_param_curve>`\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ ) |
  187. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | |void| | :ref:`set_param_max<class_CPUParticles2D_method_set_param_max>`\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ ) |
  189. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | |void| | :ref:`set_param_min<class_CPUParticles2D_method_set_param_min>`\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ ) |
  191. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | |void| | :ref:`set_particle_flag<class_CPUParticles2D_method_set_particle_flag>`\ (\ particle_flag\: :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>`, enable\: :ref:`bool<class_bool>`\ ) |
  193. +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. .. rst-class:: classref-section-separator
  195. ----
  196. .. rst-class:: classref-descriptions-group
  197. Signals
  198. -------
  199. .. _class_CPUParticles2D_signal_finished:
  200. .. rst-class:: classref-signal
  201. **finished**\ (\ ) :ref:`🔗<class_CPUParticles2D_signal_finished>`
  202. Emitted when all active particles have finished processing. When :ref:`one_shot<class_CPUParticles2D_property_one_shot>` is disabled, particles will process continuously, so this is never emitted.
  203. .. rst-class:: classref-section-separator
  204. ----
  205. .. rst-class:: classref-descriptions-group
  206. Enumerations
  207. ------------
  208. .. _enum_CPUParticles2D_DrawOrder:
  209. .. rst-class:: classref-enumeration
  210. enum **DrawOrder**: :ref:`🔗<enum_CPUParticles2D_DrawOrder>`
  211. .. _class_CPUParticles2D_constant_DRAW_ORDER_INDEX:
  212. .. rst-class:: classref-enumeration-constant
  213. :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>` **DRAW_ORDER_INDEX** = ``0``
  214. Particles are drawn in the order emitted.
  215. .. _class_CPUParticles2D_constant_DRAW_ORDER_LIFETIME:
  216. .. rst-class:: classref-enumeration-constant
  217. :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>` **DRAW_ORDER_LIFETIME** = ``1``
  218. Particles are drawn in order of remaining lifetime. In other words, the particle with the highest lifetime is drawn at the front.
  219. .. rst-class:: classref-item-separator
  220. ----
  221. .. _enum_CPUParticles2D_Parameter:
  222. .. rst-class:: classref-enumeration
  223. enum **Parameter**: :ref:`🔗<enum_CPUParticles2D_Parameter>`
  224. .. _class_CPUParticles2D_constant_PARAM_INITIAL_LINEAR_VELOCITY:
  225. .. rst-class:: classref-enumeration-constant
  226. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_INITIAL_LINEAR_VELOCITY** = ``0``
  227. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set initial velocity properties.
  228. .. _class_CPUParticles2D_constant_PARAM_ANGULAR_VELOCITY:
  229. .. rst-class:: classref-enumeration-constant
  230. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_ANGULAR_VELOCITY** = ``1``
  231. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set angular velocity properties.
  232. .. _class_CPUParticles2D_constant_PARAM_ORBIT_VELOCITY:
  233. .. rst-class:: classref-enumeration-constant
  234. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_ORBIT_VELOCITY** = ``2``
  235. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set orbital velocity properties.
  236. .. _class_CPUParticles2D_constant_PARAM_LINEAR_ACCEL:
  237. .. rst-class:: classref-enumeration-constant
  238. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_LINEAR_ACCEL** = ``3``
  239. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set linear acceleration properties.
  240. .. _class_CPUParticles2D_constant_PARAM_RADIAL_ACCEL:
  241. .. rst-class:: classref-enumeration-constant
  242. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_RADIAL_ACCEL** = ``4``
  243. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set radial acceleration properties.
  244. .. _class_CPUParticles2D_constant_PARAM_TANGENTIAL_ACCEL:
  245. .. rst-class:: classref-enumeration-constant
  246. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_TANGENTIAL_ACCEL** = ``5``
  247. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set tangential acceleration properties.
  248. .. _class_CPUParticles2D_constant_PARAM_DAMPING:
  249. .. rst-class:: classref-enumeration-constant
  250. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_DAMPING** = ``6``
  251. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set damping properties.
  252. .. _class_CPUParticles2D_constant_PARAM_ANGLE:
  253. .. rst-class:: classref-enumeration-constant
  254. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_ANGLE** = ``7``
  255. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set angle properties.
  256. .. _class_CPUParticles2D_constant_PARAM_SCALE:
  257. .. rst-class:: classref-enumeration-constant
  258. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_SCALE** = ``8``
  259. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set scale properties.
  260. .. _class_CPUParticles2D_constant_PARAM_HUE_VARIATION:
  261. .. rst-class:: classref-enumeration-constant
  262. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_HUE_VARIATION** = ``9``
  263. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set hue variation properties.
  264. .. _class_CPUParticles2D_constant_PARAM_ANIM_SPEED:
  265. .. rst-class:: classref-enumeration-constant
  266. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_ANIM_SPEED** = ``10``
  267. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set animation speed properties.
  268. .. _class_CPUParticles2D_constant_PARAM_ANIM_OFFSET:
  269. .. rst-class:: classref-enumeration-constant
  270. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_ANIM_OFFSET** = ``11``
  271. Use with :ref:`set_param_min()<class_CPUParticles2D_method_set_param_min>`, :ref:`set_param_max()<class_CPUParticles2D_method_set_param_max>`, and :ref:`set_param_curve()<class_CPUParticles2D_method_set_param_curve>` to set animation offset properties.
  272. .. _class_CPUParticles2D_constant_PARAM_MAX:
  273. .. rst-class:: classref-enumeration-constant
  274. :ref:`Parameter<enum_CPUParticles2D_Parameter>` **PARAM_MAX** = ``12``
  275. Represents the size of the :ref:`Parameter<enum_CPUParticles2D_Parameter>` enum.
  276. .. rst-class:: classref-item-separator
  277. ----
  278. .. _enum_CPUParticles2D_ParticleFlags:
  279. .. rst-class:: classref-enumeration
  280. enum **ParticleFlags**: :ref:`🔗<enum_CPUParticles2D_ParticleFlags>`
  281. .. _class_CPUParticles2D_constant_PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY:
  282. .. rst-class:: classref-enumeration-constant
  283. :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>` **PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY** = ``0``
  284. Use with :ref:`set_particle_flag()<class_CPUParticles2D_method_set_particle_flag>` to set :ref:`particle_flag_align_y<class_CPUParticles2D_property_particle_flag_align_y>`.
  285. .. _class_CPUParticles2D_constant_PARTICLE_FLAG_ROTATE_Y:
  286. .. rst-class:: classref-enumeration-constant
  287. :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>` **PARTICLE_FLAG_ROTATE_Y** = ``1``
  288. Present for consistency with 3D particle nodes, not used in 2D.
  289. .. _class_CPUParticles2D_constant_PARTICLE_FLAG_DISABLE_Z:
  290. .. rst-class:: classref-enumeration-constant
  291. :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>` **PARTICLE_FLAG_DISABLE_Z** = ``2``
  292. Present for consistency with 3D particle nodes, not used in 2D.
  293. .. _class_CPUParticles2D_constant_PARTICLE_FLAG_MAX:
  294. .. rst-class:: classref-enumeration-constant
  295. :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>` **PARTICLE_FLAG_MAX** = ``3``
  296. Represents the size of the :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>` enum.
  297. .. rst-class:: classref-item-separator
  298. ----
  299. .. _enum_CPUParticles2D_EmissionShape:
  300. .. rst-class:: classref-enumeration
  301. enum **EmissionShape**: :ref:`🔗<enum_CPUParticles2D_EmissionShape>`
  302. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_POINT:
  303. .. rst-class:: classref-enumeration-constant
  304. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_POINT** = ``0``
  305. All particles will be emitted from a single point.
  306. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_SPHERE:
  307. .. rst-class:: classref-enumeration-constant
  308. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_SPHERE** = ``1``
  309. Particles will be emitted in the volume of a sphere flattened to two dimensions.
  310. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_SPHERE_SURFACE:
  311. .. rst-class:: classref-enumeration-constant
  312. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_SPHERE_SURFACE** = ``2``
  313. Particles will be emitted on the surface of a sphere flattened to two dimensions.
  314. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_RECTANGLE:
  315. .. rst-class:: classref-enumeration-constant
  316. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_RECTANGLE** = ``3``
  317. Particles will be emitted in the area of a rectangle.
  318. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_POINTS:
  319. .. rst-class:: classref-enumeration-constant
  320. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_POINTS** = ``4``
  321. Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles2D_property_emission_points>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`.
  322. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS:
  323. .. rst-class:: classref-enumeration-constant
  324. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_DIRECTED_POINTS** = ``5``
  325. Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles2D_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`.
  326. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_RING:
  327. .. rst-class:: classref-enumeration-constant
  328. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_RING** = ``6``
  329. Particles will be emitted in the area of a ring parameterized by its outer and inner radius.
  330. .. _class_CPUParticles2D_constant_EMISSION_SHAPE_MAX:
  331. .. rst-class:: classref-enumeration-constant
  332. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **EMISSION_SHAPE_MAX** = ``7``
  333. Represents the size of the :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` enum.
  334. .. rst-class:: classref-section-separator
  335. ----
  336. .. rst-class:: classref-descriptions-group
  337. Property Descriptions
  338. ---------------------
  339. .. _class_CPUParticles2D_property_amount:
  340. .. rst-class:: classref-property
  341. :ref:`int<class_int>` **amount** = ``8`` :ref:`🔗<class_CPUParticles2D_property_amount>`
  342. .. rst-class:: classref-property-setget
  343. - |void| **set_amount**\ (\ value\: :ref:`int<class_int>`\ )
  344. - :ref:`int<class_int>` **get_amount**\ (\ )
  345. Number of particles emitted in one emission cycle.
  346. .. rst-class:: classref-item-separator
  347. ----
  348. .. _class_CPUParticles2D_property_angle_curve:
  349. .. rst-class:: classref-property
  350. :ref:`Curve<class_Curve>` **angle_curve** :ref:`🔗<class_CPUParticles2D_property_angle_curve>`
  351. .. rst-class:: classref-property-setget
  352. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  353. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  354. Each particle's rotation will be animated along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  355. .. rst-class:: classref-item-separator
  356. ----
  357. .. _class_CPUParticles2D_property_angle_max:
  358. .. rst-class:: classref-property
  359. :ref:`float<class_float>` **angle_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_angle_max>`
  360. .. rst-class:: classref-property-setget
  361. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  362. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  363. Maximum initial rotation applied to each particle, in degrees.
  364. .. rst-class:: classref-item-separator
  365. ----
  366. .. _class_CPUParticles2D_property_angle_min:
  367. .. rst-class:: classref-property
  368. :ref:`float<class_float>` **angle_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_angle_min>`
  369. .. rst-class:: classref-property-setget
  370. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  371. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  372. Minimum equivalent of :ref:`angle_max<class_CPUParticles2D_property_angle_max>`.
  373. .. rst-class:: classref-item-separator
  374. ----
  375. .. _class_CPUParticles2D_property_angular_velocity_curve:
  376. .. rst-class:: classref-property
  377. :ref:`Curve<class_Curve>` **angular_velocity_curve** :ref:`🔗<class_CPUParticles2D_property_angular_velocity_curve>`
  378. .. rst-class:: classref-property-setget
  379. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  380. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  381. Each particle's angular velocity will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  382. .. rst-class:: classref-item-separator
  383. ----
  384. .. _class_CPUParticles2D_property_angular_velocity_max:
  385. .. rst-class:: classref-property
  386. :ref:`float<class_float>` **angular_velocity_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_angular_velocity_max>`
  387. .. rst-class:: classref-property-setget
  388. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  389. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  390. Maximum initial angular velocity (rotation speed) applied to each particle in *degrees* per second.
  391. .. rst-class:: classref-item-separator
  392. ----
  393. .. _class_CPUParticles2D_property_angular_velocity_min:
  394. .. rst-class:: classref-property
  395. :ref:`float<class_float>` **angular_velocity_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_angular_velocity_min>`
  396. .. rst-class:: classref-property-setget
  397. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  398. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  399. Minimum equivalent of :ref:`angular_velocity_max<class_CPUParticles2D_property_angular_velocity_max>`.
  400. .. rst-class:: classref-item-separator
  401. ----
  402. .. _class_CPUParticles2D_property_anim_offset_curve:
  403. .. rst-class:: classref-property
  404. :ref:`Curve<class_Curve>` **anim_offset_curve** :ref:`🔗<class_CPUParticles2D_property_anim_offset_curve>`
  405. .. rst-class:: classref-property-setget
  406. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  407. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  408. Each particle's animation offset will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  409. .. rst-class:: classref-item-separator
  410. ----
  411. .. _class_CPUParticles2D_property_anim_offset_max:
  412. .. rst-class:: classref-property
  413. :ref:`float<class_float>` **anim_offset_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_anim_offset_max>`
  414. .. rst-class:: classref-property-setget
  415. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  416. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  417. Maximum animation offset that corresponds to frame index in the texture. ``0`` is the first frame, ``1`` is the last one. See :ref:`CanvasItemMaterial.particles_animation<class_CanvasItemMaterial_property_particles_animation>`.
  418. .. rst-class:: classref-item-separator
  419. ----
  420. .. _class_CPUParticles2D_property_anim_offset_min:
  421. .. rst-class:: classref-property
  422. :ref:`float<class_float>` **anim_offset_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_anim_offset_min>`
  423. .. rst-class:: classref-property-setget
  424. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  425. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  426. Minimum equivalent of :ref:`anim_offset_max<class_CPUParticles2D_property_anim_offset_max>`.
  427. .. rst-class:: classref-item-separator
  428. ----
  429. .. _class_CPUParticles2D_property_anim_speed_curve:
  430. .. rst-class:: classref-property
  431. :ref:`Curve<class_Curve>` **anim_speed_curve** :ref:`🔗<class_CPUParticles2D_property_anim_speed_curve>`
  432. .. rst-class:: classref-property-setget
  433. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  434. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  435. Each particle's animation speed will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  436. .. rst-class:: classref-item-separator
  437. ----
  438. .. _class_CPUParticles2D_property_anim_speed_max:
  439. .. rst-class:: classref-property
  440. :ref:`float<class_float>` **anim_speed_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_anim_speed_max>`
  441. .. rst-class:: classref-property-setget
  442. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  443. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  444. Maximum particle animation speed. Animation speed of ``1`` means that the particles will make full ``0`` to ``1`` offset cycle during lifetime, ``2`` means ``2`` cycles etc.
  445. With animation speed greater than ``1``, remember to enable :ref:`CanvasItemMaterial.particles_anim_loop<class_CanvasItemMaterial_property_particles_anim_loop>` property if you want the animation to repeat.
  446. .. rst-class:: classref-item-separator
  447. ----
  448. .. _class_CPUParticles2D_property_anim_speed_min:
  449. .. rst-class:: classref-property
  450. :ref:`float<class_float>` **anim_speed_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_anim_speed_min>`
  451. .. rst-class:: classref-property-setget
  452. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  453. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  454. Minimum equivalent of :ref:`anim_speed_max<class_CPUParticles2D_property_anim_speed_max>`.
  455. .. rst-class:: classref-item-separator
  456. ----
  457. .. _class_CPUParticles2D_property_color:
  458. .. rst-class:: classref-property
  459. :ref:`Color<class_Color>` **color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_CPUParticles2D_property_color>`
  460. .. rst-class:: classref-property-setget
  461. - |void| **set_color**\ (\ value\: :ref:`Color<class_Color>`\ )
  462. - :ref:`Color<class_Color>` **get_color**\ (\ )
  463. Each particle's initial color. If :ref:`texture<class_CPUParticles2D_property_texture>` is defined, it will be multiplied by this color.
  464. .. rst-class:: classref-item-separator
  465. ----
  466. .. _class_CPUParticles2D_property_color_initial_ramp:
  467. .. rst-class:: classref-property
  468. :ref:`Gradient<class_Gradient>` **color_initial_ramp** :ref:`🔗<class_CPUParticles2D_property_color_initial_ramp>`
  469. .. rst-class:: classref-property-setget
  470. - |void| **set_color_initial_ramp**\ (\ value\: :ref:`Gradient<class_Gradient>`\ )
  471. - :ref:`Gradient<class_Gradient>` **get_color_initial_ramp**\ (\ )
  472. Each particle's initial color will vary along this :ref:`Gradient<class_Gradient>` (multiplied with :ref:`color<class_CPUParticles2D_property_color>`).
  473. .. rst-class:: classref-item-separator
  474. ----
  475. .. _class_CPUParticles2D_property_color_ramp:
  476. .. rst-class:: classref-property
  477. :ref:`Gradient<class_Gradient>` **color_ramp** :ref:`🔗<class_CPUParticles2D_property_color_ramp>`
  478. .. rst-class:: classref-property-setget
  479. - |void| **set_color_ramp**\ (\ value\: :ref:`Gradient<class_Gradient>`\ )
  480. - :ref:`Gradient<class_Gradient>` **get_color_ramp**\ (\ )
  481. Each particle's color will vary along this :ref:`Gradient<class_Gradient>` over its lifetime (multiplied with :ref:`color<class_CPUParticles2D_property_color>`).
  482. .. rst-class:: classref-item-separator
  483. ----
  484. .. _class_CPUParticles2D_property_damping_curve:
  485. .. rst-class:: classref-property
  486. :ref:`Curve<class_Curve>` **damping_curve** :ref:`🔗<class_CPUParticles2D_property_damping_curve>`
  487. .. rst-class:: classref-property-setget
  488. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  489. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  490. Damping will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  491. .. rst-class:: classref-item-separator
  492. ----
  493. .. _class_CPUParticles2D_property_damping_max:
  494. .. rst-class:: classref-property
  495. :ref:`float<class_float>` **damping_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_damping_max>`
  496. .. rst-class:: classref-property-setget
  497. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  498. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  499. The maximum rate at which particles lose velocity. For example value of ``100`` means that the particle will go from ``100`` velocity to ``0`` in ``1`` second.
  500. .. rst-class:: classref-item-separator
  501. ----
  502. .. _class_CPUParticles2D_property_damping_min:
  503. .. rst-class:: classref-property
  504. :ref:`float<class_float>` **damping_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_damping_min>`
  505. .. rst-class:: classref-property-setget
  506. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  507. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  508. Minimum equivalent of :ref:`damping_max<class_CPUParticles2D_property_damping_max>`.
  509. .. rst-class:: classref-item-separator
  510. ----
  511. .. _class_CPUParticles2D_property_direction:
  512. .. rst-class:: classref-property
  513. :ref:`Vector2<class_Vector2>` **direction** = ``Vector2(1, 0)`` :ref:`🔗<class_CPUParticles2D_property_direction>`
  514. .. rst-class:: classref-property-setget
  515. - |void| **set_direction**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  516. - :ref:`Vector2<class_Vector2>` **get_direction**\ (\ )
  517. Unit vector specifying the particles' emission direction.
  518. .. rst-class:: classref-item-separator
  519. ----
  520. .. _class_CPUParticles2D_property_draw_order:
  521. .. rst-class:: classref-property
  522. :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>` **draw_order** = ``0`` :ref:`🔗<class_CPUParticles2D_property_draw_order>`
  523. .. rst-class:: classref-property-setget
  524. - |void| **set_draw_order**\ (\ value\: :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>`\ )
  525. - :ref:`DrawOrder<enum_CPUParticles2D_DrawOrder>` **get_draw_order**\ (\ )
  526. Particle draw order.
  527. .. rst-class:: classref-item-separator
  528. ----
  529. .. _class_CPUParticles2D_property_emission_colors:
  530. .. rst-class:: classref-property
  531. :ref:`PackedColorArray<class_PackedColorArray>` **emission_colors** :ref:`🔗<class_CPUParticles2D_property_emission_colors>`
  532. .. rst-class:: classref-property-setget
  533. - |void| **set_emission_colors**\ (\ value\: :ref:`PackedColorArray<class_PackedColorArray>`\ )
  534. - :ref:`PackedColorArray<class_PackedColorArray>` **get_emission_colors**\ (\ )
  535. Sets the :ref:`Color<class_Color>`\ s to modulate particles by when using :ref:`EMISSION_SHAPE_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
  536. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray<class_PackedColorArray>` for more details.
  537. .. rst-class:: classref-item-separator
  538. ----
  539. .. _class_CPUParticles2D_property_emission_normals:
  540. .. rst-class:: classref-property
  541. :ref:`PackedVector2Array<class_PackedVector2Array>` **emission_normals** :ref:`🔗<class_CPUParticles2D_property_emission_normals>`
  542. .. rst-class:: classref-property-setget
  543. - |void| **set_emission_normals**\ (\ value\: :ref:`PackedVector2Array<class_PackedVector2Array>`\ )
  544. - :ref:`PackedVector2Array<class_PackedVector2Array>` **get_emission_normals**\ (\ )
  545. Sets the direction the particles will be emitted in when using :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
  546. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
  547. .. rst-class:: classref-item-separator
  548. ----
  549. .. _class_CPUParticles2D_property_emission_points:
  550. .. rst-class:: classref-property
  551. :ref:`PackedVector2Array<class_PackedVector2Array>` **emission_points** :ref:`🔗<class_CPUParticles2D_property_emission_points>`
  552. .. rst-class:: classref-property-setget
  553. - |void| **set_emission_points**\ (\ value\: :ref:`PackedVector2Array<class_PackedVector2Array>`\ )
  554. - :ref:`PackedVector2Array<class_PackedVector2Array>` **get_emission_points**\ (\ )
  555. Sets the initial positions to spawn particles when using :ref:`EMISSION_SHAPE_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
  556. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
  557. .. rst-class:: classref-item-separator
  558. ----
  559. .. _class_CPUParticles2D_property_emission_rect_extents:
  560. .. rst-class:: classref-property
  561. :ref:`Vector2<class_Vector2>` **emission_rect_extents** :ref:`🔗<class_CPUParticles2D_property_emission_rect_extents>`
  562. .. rst-class:: classref-property-setget
  563. - |void| **set_emission_rect_extents**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  564. - :ref:`Vector2<class_Vector2>` **get_emission_rect_extents**\ (\ )
  565. The rectangle's extents if :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>` is set to :ref:`EMISSION_SHAPE_RECTANGLE<class_CPUParticles2D_constant_EMISSION_SHAPE_RECTANGLE>`.
  566. .. rst-class:: classref-item-separator
  567. ----
  568. .. _class_CPUParticles2D_property_emission_ring_inner_radius:
  569. .. rst-class:: classref-property
  570. :ref:`float<class_float>` **emission_ring_inner_radius** :ref:`🔗<class_CPUParticles2D_property_emission_ring_inner_radius>`
  571. .. rst-class:: classref-property-setget
  572. - |void| **set_emission_ring_inner_radius**\ (\ value\: :ref:`float<class_float>`\ )
  573. - :ref:`float<class_float>` **get_emission_ring_inner_radius**\ (\ )
  574. The ring's inner radius if :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>` is set to :ref:`EMISSION_SHAPE_RING<class_CPUParticles2D_constant_EMISSION_SHAPE_RING>`.
  575. .. rst-class:: classref-item-separator
  576. ----
  577. .. _class_CPUParticles2D_property_emission_ring_radius:
  578. .. rst-class:: classref-property
  579. :ref:`float<class_float>` **emission_ring_radius** :ref:`🔗<class_CPUParticles2D_property_emission_ring_radius>`
  580. .. rst-class:: classref-property-setget
  581. - |void| **set_emission_ring_radius**\ (\ value\: :ref:`float<class_float>`\ )
  582. - :ref:`float<class_float>` **get_emission_ring_radius**\ (\ )
  583. The ring's outer radius if :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>` is set to :ref:`EMISSION_SHAPE_RING<class_CPUParticles2D_constant_EMISSION_SHAPE_RING>`.
  584. .. rst-class:: classref-item-separator
  585. ----
  586. .. _class_CPUParticles2D_property_emission_shape:
  587. .. rst-class:: classref-property
  588. :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **emission_shape** = ``0`` :ref:`🔗<class_CPUParticles2D_property_emission_shape>`
  589. .. rst-class:: classref-property-setget
  590. - |void| **set_emission_shape**\ (\ value\: :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>`\ )
  591. - :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` **get_emission_shape**\ (\ )
  592. Particles will be emitted inside this region.
  593. .. rst-class:: classref-item-separator
  594. ----
  595. .. _class_CPUParticles2D_property_emission_sphere_radius:
  596. .. rst-class:: classref-property
  597. :ref:`float<class_float>` **emission_sphere_radius** :ref:`🔗<class_CPUParticles2D_property_emission_sphere_radius>`
  598. .. rst-class:: classref-property-setget
  599. - |void| **set_emission_sphere_radius**\ (\ value\: :ref:`float<class_float>`\ )
  600. - :ref:`float<class_float>` **get_emission_sphere_radius**\ (\ )
  601. The sphere's radius if :ref:`emission_shape<class_CPUParticles2D_property_emission_shape>` is set to :ref:`EMISSION_SHAPE_SPHERE<class_CPUParticles2D_constant_EMISSION_SHAPE_SPHERE>`.
  602. .. rst-class:: classref-item-separator
  603. ----
  604. .. _class_CPUParticles2D_property_emitting:
  605. .. rst-class:: classref-property
  606. :ref:`bool<class_bool>` **emitting** = ``true`` :ref:`🔗<class_CPUParticles2D_property_emitting>`
  607. .. rst-class:: classref-property-setget
  608. - |void| **set_emitting**\ (\ value\: :ref:`bool<class_bool>`\ )
  609. - :ref:`bool<class_bool>` **is_emitting**\ (\ )
  610. If ``true``, particles are being emitted. :ref:`emitting<class_CPUParticles2D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_CPUParticles2D_property_one_shot>` is ``true`` setting :ref:`emitting<class_CPUParticles2D_property_emitting>` to ``true`` will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_CPUParticles2D_signal_finished>` signal to be notified once all active particles finish processing.
  611. .. rst-class:: classref-item-separator
  612. ----
  613. .. _class_CPUParticles2D_property_explosiveness:
  614. .. rst-class:: classref-property
  615. :ref:`float<class_float>` **explosiveness** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_explosiveness>`
  616. .. rst-class:: classref-property-setget
  617. - |void| **set_explosiveness_ratio**\ (\ value\: :ref:`float<class_float>`\ )
  618. - :ref:`float<class_float>` **get_explosiveness_ratio**\ (\ )
  619. How rapidly particles in an emission cycle are emitted. If greater than ``0``, there will be a gap in emissions before the next cycle begins.
  620. .. rst-class:: classref-item-separator
  621. ----
  622. .. _class_CPUParticles2D_property_fixed_fps:
  623. .. rst-class:: classref-property
  624. :ref:`int<class_int>` **fixed_fps** = ``0`` :ref:`🔗<class_CPUParticles2D_property_fixed_fps>`
  625. .. rst-class:: classref-property-setget
  626. - |void| **set_fixed_fps**\ (\ value\: :ref:`int<class_int>`\ )
  627. - :ref:`int<class_int>` **get_fixed_fps**\ (\ )
  628. The particle system's frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
  629. .. rst-class:: classref-item-separator
  630. ----
  631. .. _class_CPUParticles2D_property_fract_delta:
  632. .. rst-class:: classref-property
  633. :ref:`bool<class_bool>` **fract_delta** = ``true`` :ref:`🔗<class_CPUParticles2D_property_fract_delta>`
  634. .. rst-class:: classref-property-setget
  635. - |void| **set_fractional_delta**\ (\ value\: :ref:`bool<class_bool>`\ )
  636. - :ref:`bool<class_bool>` **get_fractional_delta**\ (\ )
  637. If ``true``, results in fractional delta calculation which has a smoother particles display effect.
  638. .. rst-class:: classref-item-separator
  639. ----
  640. .. _class_CPUParticles2D_property_gravity:
  641. .. rst-class:: classref-property
  642. :ref:`Vector2<class_Vector2>` **gravity** = ``Vector2(0, 980)`` :ref:`🔗<class_CPUParticles2D_property_gravity>`
  643. .. rst-class:: classref-property-setget
  644. - |void| **set_gravity**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  645. - :ref:`Vector2<class_Vector2>` **get_gravity**\ (\ )
  646. Gravity applied to every particle.
  647. .. rst-class:: classref-item-separator
  648. ----
  649. .. _class_CPUParticles2D_property_hue_variation_curve:
  650. .. rst-class:: classref-property
  651. :ref:`Curve<class_Curve>` **hue_variation_curve** :ref:`🔗<class_CPUParticles2D_property_hue_variation_curve>`
  652. .. rst-class:: classref-property-setget
  653. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  654. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  655. Each particle's hue will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  656. .. rst-class:: classref-item-separator
  657. ----
  658. .. _class_CPUParticles2D_property_hue_variation_max:
  659. .. rst-class:: classref-property
  660. :ref:`float<class_float>` **hue_variation_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_hue_variation_max>`
  661. .. rst-class:: classref-property-setget
  662. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  663. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  664. Maximum initial hue variation applied to each particle. It will shift the particle color's hue.
  665. .. rst-class:: classref-item-separator
  666. ----
  667. .. _class_CPUParticles2D_property_hue_variation_min:
  668. .. rst-class:: classref-property
  669. :ref:`float<class_float>` **hue_variation_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_hue_variation_min>`
  670. .. rst-class:: classref-property-setget
  671. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  672. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  673. Minimum equivalent of :ref:`hue_variation_max<class_CPUParticles2D_property_hue_variation_max>`.
  674. .. rst-class:: classref-item-separator
  675. ----
  676. .. _class_CPUParticles2D_property_initial_velocity_max:
  677. .. rst-class:: classref-property
  678. :ref:`float<class_float>` **initial_velocity_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_initial_velocity_max>`
  679. .. rst-class:: classref-property-setget
  680. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  681. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  682. Maximum initial velocity magnitude for each particle. Direction comes from :ref:`direction<class_CPUParticles2D_property_direction>` and :ref:`spread<class_CPUParticles2D_property_spread>`.
  683. .. rst-class:: classref-item-separator
  684. ----
  685. .. _class_CPUParticles2D_property_initial_velocity_min:
  686. .. rst-class:: classref-property
  687. :ref:`float<class_float>` **initial_velocity_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_initial_velocity_min>`
  688. .. rst-class:: classref-property-setget
  689. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  690. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  691. Minimum equivalent of :ref:`initial_velocity_max<class_CPUParticles2D_property_initial_velocity_max>`.
  692. .. rst-class:: classref-item-separator
  693. ----
  694. .. _class_CPUParticles2D_property_lifetime:
  695. .. rst-class:: classref-property
  696. :ref:`float<class_float>` **lifetime** = ``1.0`` :ref:`🔗<class_CPUParticles2D_property_lifetime>`
  697. .. rst-class:: classref-property-setget
  698. - |void| **set_lifetime**\ (\ value\: :ref:`float<class_float>`\ )
  699. - :ref:`float<class_float>` **get_lifetime**\ (\ )
  700. Amount of time each particle will exist.
  701. .. rst-class:: classref-item-separator
  702. ----
  703. .. _class_CPUParticles2D_property_lifetime_randomness:
  704. .. rst-class:: classref-property
  705. :ref:`float<class_float>` **lifetime_randomness** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_lifetime_randomness>`
  706. .. rst-class:: classref-property-setget
  707. - |void| **set_lifetime_randomness**\ (\ value\: :ref:`float<class_float>`\ )
  708. - :ref:`float<class_float>` **get_lifetime_randomness**\ (\ )
  709. Particle lifetime randomness ratio.
  710. .. rst-class:: classref-item-separator
  711. ----
  712. .. _class_CPUParticles2D_property_linear_accel_curve:
  713. .. rst-class:: classref-property
  714. :ref:`Curve<class_Curve>` **linear_accel_curve** :ref:`🔗<class_CPUParticles2D_property_linear_accel_curve>`
  715. .. rst-class:: classref-property-setget
  716. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  717. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  718. Each particle's linear acceleration will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  719. .. rst-class:: classref-item-separator
  720. ----
  721. .. _class_CPUParticles2D_property_linear_accel_max:
  722. .. rst-class:: classref-property
  723. :ref:`float<class_float>` **linear_accel_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_linear_accel_max>`
  724. .. rst-class:: classref-property-setget
  725. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  726. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  727. Maximum linear acceleration applied to each particle in the direction of motion.
  728. .. rst-class:: classref-item-separator
  729. ----
  730. .. _class_CPUParticles2D_property_linear_accel_min:
  731. .. rst-class:: classref-property
  732. :ref:`float<class_float>` **linear_accel_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_linear_accel_min>`
  733. .. rst-class:: classref-property-setget
  734. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  735. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  736. Minimum equivalent of :ref:`linear_accel_max<class_CPUParticles2D_property_linear_accel_max>`.
  737. .. rst-class:: classref-item-separator
  738. ----
  739. .. _class_CPUParticles2D_property_local_coords:
  740. .. rst-class:: classref-property
  741. :ref:`bool<class_bool>` **local_coords** = ``false`` :ref:`🔗<class_CPUParticles2D_property_local_coords>`
  742. .. rst-class:: classref-property-setget
  743. - |void| **set_use_local_coordinates**\ (\ value\: :ref:`bool<class_bool>`\ )
  744. - :ref:`bool<class_bool>` **get_use_local_coordinates**\ (\ )
  745. If ``true``, particles use the parent node's coordinate space (known as local coordinates). This will cause particles to move and rotate along the **CPUParticles2D** node (and its parents) when it is moved or rotated. If ``false``, particles use global coordinates; they will not move or rotate along the **CPUParticles2D** node (and its parents) when it is moved or rotated.
  746. .. rst-class:: classref-item-separator
  747. ----
  748. .. _class_CPUParticles2D_property_one_shot:
  749. .. rst-class:: classref-property
  750. :ref:`bool<class_bool>` **one_shot** = ``false`` :ref:`🔗<class_CPUParticles2D_property_one_shot>`
  751. .. rst-class:: classref-property-setget
  752. - |void| **set_one_shot**\ (\ value\: :ref:`bool<class_bool>`\ )
  753. - :ref:`bool<class_bool>` **get_one_shot**\ (\ )
  754. If ``true``, only one emission cycle occurs. If set ``true`` during a cycle, emission will stop at the cycle's end.
  755. .. rst-class:: classref-item-separator
  756. ----
  757. .. _class_CPUParticles2D_property_orbit_velocity_curve:
  758. .. rst-class:: classref-property
  759. :ref:`Curve<class_Curve>` **orbit_velocity_curve** :ref:`🔗<class_CPUParticles2D_property_orbit_velocity_curve>`
  760. .. rst-class:: classref-property-setget
  761. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  762. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  763. Each particle's orbital velocity will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  764. .. rst-class:: classref-item-separator
  765. ----
  766. .. _class_CPUParticles2D_property_orbit_velocity_max:
  767. .. rst-class:: classref-property
  768. :ref:`float<class_float>` **orbit_velocity_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_orbit_velocity_max>`
  769. .. rst-class:: classref-property-setget
  770. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  771. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  772. Maximum orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
  773. .. rst-class:: classref-item-separator
  774. ----
  775. .. _class_CPUParticles2D_property_orbit_velocity_min:
  776. .. rst-class:: classref-property
  777. :ref:`float<class_float>` **orbit_velocity_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_orbit_velocity_min>`
  778. .. rst-class:: classref-property-setget
  779. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  780. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  781. Minimum equivalent of :ref:`orbit_velocity_max<class_CPUParticles2D_property_orbit_velocity_max>`.
  782. .. rst-class:: classref-item-separator
  783. ----
  784. .. _class_CPUParticles2D_property_particle_flag_align_y:
  785. .. rst-class:: classref-property
  786. :ref:`bool<class_bool>` **particle_flag_align_y** = ``false`` :ref:`🔗<class_CPUParticles2D_property_particle_flag_align_y>`
  787. .. rst-class:: classref-property-setget
  788. - |void| **set_particle_flag**\ (\ particle_flag\: :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>`, enable\: :ref:`bool<class_bool>`\ )
  789. - :ref:`bool<class_bool>` **get_particle_flag**\ (\ particle_flag\: :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>`\ ) |const|
  790. Align Y axis of particle with the direction of its velocity.
  791. .. rst-class:: classref-item-separator
  792. ----
  793. .. _class_CPUParticles2D_property_preprocess:
  794. .. rst-class:: classref-property
  795. :ref:`float<class_float>` **preprocess** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_preprocess>`
  796. .. rst-class:: classref-property-setget
  797. - |void| **set_pre_process_time**\ (\ value\: :ref:`float<class_float>`\ )
  798. - :ref:`float<class_float>` **get_pre_process_time**\ (\ )
  799. Particle system starts as if it had already run for this many seconds.
  800. .. rst-class:: classref-item-separator
  801. ----
  802. .. _class_CPUParticles2D_property_radial_accel_curve:
  803. .. rst-class:: classref-property
  804. :ref:`Curve<class_Curve>` **radial_accel_curve** :ref:`🔗<class_CPUParticles2D_property_radial_accel_curve>`
  805. .. rst-class:: classref-property-setget
  806. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  807. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  808. Each particle's radial acceleration will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  809. .. rst-class:: classref-item-separator
  810. ----
  811. .. _class_CPUParticles2D_property_radial_accel_max:
  812. .. rst-class:: classref-property
  813. :ref:`float<class_float>` **radial_accel_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_radial_accel_max>`
  814. .. rst-class:: classref-property-setget
  815. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  816. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  817. Maximum radial acceleration applied to each particle. Makes particle accelerate away from the origin or towards it if negative.
  818. .. rst-class:: classref-item-separator
  819. ----
  820. .. _class_CPUParticles2D_property_radial_accel_min:
  821. .. rst-class:: classref-property
  822. :ref:`float<class_float>` **radial_accel_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_radial_accel_min>`
  823. .. rst-class:: classref-property-setget
  824. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  825. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  826. Minimum equivalent of :ref:`radial_accel_max<class_CPUParticles2D_property_radial_accel_max>`.
  827. .. rst-class:: classref-item-separator
  828. ----
  829. .. _class_CPUParticles2D_property_randomness:
  830. .. rst-class:: classref-property
  831. :ref:`float<class_float>` **randomness** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_randomness>`
  832. .. rst-class:: classref-property-setget
  833. - |void| **set_randomness_ratio**\ (\ value\: :ref:`float<class_float>`\ )
  834. - :ref:`float<class_float>` **get_randomness_ratio**\ (\ )
  835. Emission lifetime randomness ratio.
  836. .. rst-class:: classref-item-separator
  837. ----
  838. .. _class_CPUParticles2D_property_scale_amount_curve:
  839. .. rst-class:: classref-property
  840. :ref:`Curve<class_Curve>` **scale_amount_curve** :ref:`🔗<class_CPUParticles2D_property_scale_amount_curve>`
  841. .. rst-class:: classref-property-setget
  842. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  843. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  844. Each particle's scale will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  845. .. rst-class:: classref-item-separator
  846. ----
  847. .. _class_CPUParticles2D_property_scale_amount_max:
  848. .. rst-class:: classref-property
  849. :ref:`float<class_float>` **scale_amount_max** = ``1.0`` :ref:`🔗<class_CPUParticles2D_property_scale_amount_max>`
  850. .. rst-class:: classref-property-setget
  851. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  852. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  853. Maximum initial scale applied to each particle.
  854. .. rst-class:: classref-item-separator
  855. ----
  856. .. _class_CPUParticles2D_property_scale_amount_min:
  857. .. rst-class:: classref-property
  858. :ref:`float<class_float>` **scale_amount_min** = ``1.0`` :ref:`🔗<class_CPUParticles2D_property_scale_amount_min>`
  859. .. rst-class:: classref-property-setget
  860. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  861. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  862. Minimum equivalent of :ref:`scale_amount_max<class_CPUParticles2D_property_scale_amount_max>`.
  863. .. rst-class:: classref-item-separator
  864. ----
  865. .. _class_CPUParticles2D_property_scale_curve_x:
  866. .. rst-class:: classref-property
  867. :ref:`Curve<class_Curve>` **scale_curve_x** :ref:`🔗<class_CPUParticles2D_property_scale_curve_x>`
  868. .. rst-class:: classref-property-setget
  869. - |void| **set_scale_curve_x**\ (\ value\: :ref:`Curve<class_Curve>`\ )
  870. - :ref:`Curve<class_Curve>` **get_scale_curve_x**\ (\ )
  871. Each particle's horizontal scale will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  872. \ :ref:`split_scale<class_CPUParticles2D_property_split_scale>` must be enabled.
  873. .. rst-class:: classref-item-separator
  874. ----
  875. .. _class_CPUParticles2D_property_scale_curve_y:
  876. .. rst-class:: classref-property
  877. :ref:`Curve<class_Curve>` **scale_curve_y** :ref:`🔗<class_CPUParticles2D_property_scale_curve_y>`
  878. .. rst-class:: classref-property-setget
  879. - |void| **set_scale_curve_y**\ (\ value\: :ref:`Curve<class_Curve>`\ )
  880. - :ref:`Curve<class_Curve>` **get_scale_curve_y**\ (\ )
  881. Each particle's vertical scale will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  882. \ :ref:`split_scale<class_CPUParticles2D_property_split_scale>` must be enabled.
  883. .. rst-class:: classref-item-separator
  884. ----
  885. .. _class_CPUParticles2D_property_seed:
  886. .. rst-class:: classref-property
  887. :ref:`int<class_int>` **seed** = ``0`` :ref:`🔗<class_CPUParticles2D_property_seed>`
  888. .. rst-class:: classref-property-setget
  889. - |void| **set_seed**\ (\ value\: :ref:`int<class_int>`\ )
  890. - :ref:`int<class_int>` **get_seed**\ (\ )
  891. Sets the random seed used by the particle system. Only effective if :ref:`use_fixed_seed<class_CPUParticles2D_property_use_fixed_seed>` is ``true``.
  892. .. rst-class:: classref-item-separator
  893. ----
  894. .. _class_CPUParticles2D_property_speed_scale:
  895. .. rst-class:: classref-property
  896. :ref:`float<class_float>` **speed_scale** = ``1.0`` :ref:`🔗<class_CPUParticles2D_property_speed_scale>`
  897. .. rst-class:: classref-property-setget
  898. - |void| **set_speed_scale**\ (\ value\: :ref:`float<class_float>`\ )
  899. - :ref:`float<class_float>` **get_speed_scale**\ (\ )
  900. Particle system's running speed scaling ratio. A value of ``0`` can be used to pause the particles.
  901. .. rst-class:: classref-item-separator
  902. ----
  903. .. _class_CPUParticles2D_property_split_scale:
  904. .. rst-class:: classref-property
  905. :ref:`bool<class_bool>` **split_scale** = ``false`` :ref:`🔗<class_CPUParticles2D_property_split_scale>`
  906. .. rst-class:: classref-property-setget
  907. - |void| **set_split_scale**\ (\ value\: :ref:`bool<class_bool>`\ )
  908. - :ref:`bool<class_bool>` **get_split_scale**\ (\ )
  909. If ``true``, the scale curve will be split into x and y components. See :ref:`scale_curve_x<class_CPUParticles2D_property_scale_curve_x>` and :ref:`scale_curve_y<class_CPUParticles2D_property_scale_curve_y>`.
  910. .. rst-class:: classref-item-separator
  911. ----
  912. .. _class_CPUParticles2D_property_spread:
  913. .. rst-class:: classref-property
  914. :ref:`float<class_float>` **spread** = ``45.0`` :ref:`🔗<class_CPUParticles2D_property_spread>`
  915. .. rst-class:: classref-property-setget
  916. - |void| **set_spread**\ (\ value\: :ref:`float<class_float>`\ )
  917. - :ref:`float<class_float>` **get_spread**\ (\ )
  918. Each particle's initial direction range from ``+spread`` to ``-spread`` degrees.
  919. .. rst-class:: classref-item-separator
  920. ----
  921. .. _class_CPUParticles2D_property_tangential_accel_curve:
  922. .. rst-class:: classref-property
  923. :ref:`Curve<class_Curve>` **tangential_accel_curve** :ref:`🔗<class_CPUParticles2D_property_tangential_accel_curve>`
  924. .. rst-class:: classref-property-setget
  925. - |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ )
  926. - :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  927. Each particle's tangential acceleration will vary along this :ref:`Curve<class_Curve>`. Should be a unit :ref:`Curve<class_Curve>`.
  928. .. rst-class:: classref-item-separator
  929. ----
  930. .. _class_CPUParticles2D_property_tangential_accel_max:
  931. .. rst-class:: classref-property
  932. :ref:`float<class_float>` **tangential_accel_max** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_tangential_accel_max>`
  933. .. rst-class:: classref-property-setget
  934. - |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  935. - :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  936. Maximum tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
  937. .. rst-class:: classref-item-separator
  938. ----
  939. .. _class_CPUParticles2D_property_tangential_accel_min:
  940. .. rst-class:: classref-property
  941. :ref:`float<class_float>` **tangential_accel_min** = ``0.0`` :ref:`🔗<class_CPUParticles2D_property_tangential_accel_min>`
  942. .. rst-class:: classref-property-setget
  943. - |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ )
  944. - :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const|
  945. Minimum equivalent of :ref:`tangential_accel_max<class_CPUParticles2D_property_tangential_accel_max>`.
  946. .. rst-class:: classref-item-separator
  947. ----
  948. .. _class_CPUParticles2D_property_texture:
  949. .. rst-class:: classref-property
  950. :ref:`Texture2D<class_Texture2D>` **texture** :ref:`🔗<class_CPUParticles2D_property_texture>`
  951. .. rst-class:: classref-property-setget
  952. - |void| **set_texture**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
  953. - :ref:`Texture2D<class_Texture2D>` **get_texture**\ (\ )
  954. Particle texture. If ``null``, particles will be squares.
  955. .. rst-class:: classref-item-separator
  956. ----
  957. .. _class_CPUParticles2D_property_use_fixed_seed:
  958. .. rst-class:: classref-property
  959. :ref:`bool<class_bool>` **use_fixed_seed** = ``false`` :ref:`🔗<class_CPUParticles2D_property_use_fixed_seed>`
  960. .. rst-class:: classref-property-setget
  961. - |void| **set_use_fixed_seed**\ (\ value\: :ref:`bool<class_bool>`\ )
  962. - :ref:`bool<class_bool>` **get_use_fixed_seed**\ (\ )
  963. If ``true``, particles will use the same seed for every simulation using the seed defined in :ref:`seed<class_CPUParticles2D_property_seed>`. This is useful for situations where the visual outcome should be consistent across replays, for example when using Movie Maker mode.
  964. .. rst-class:: classref-section-separator
  965. ----
  966. .. rst-class:: classref-descriptions-group
  967. Method Descriptions
  968. -------------------
  969. .. _class_CPUParticles2D_method_convert_from_particles:
  970. .. rst-class:: classref-method
  971. |void| **convert_from_particles**\ (\ particles\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_CPUParticles2D_method_convert_from_particles>`
  972. Sets this node's properties to match a given :ref:`GPUParticles2D<class_GPUParticles2D>` node with an assigned :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>`.
  973. .. rst-class:: classref-item-separator
  974. ----
  975. .. _class_CPUParticles2D_method_get_param_curve:
  976. .. rst-class:: classref-method
  977. :ref:`Curve<class_Curve>` **get_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const| :ref:`🔗<class_CPUParticles2D_method_get_param_curve>`
  978. Returns the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`.
  979. .. rst-class:: classref-item-separator
  980. ----
  981. .. _class_CPUParticles2D_method_get_param_max:
  982. .. rst-class:: classref-method
  983. :ref:`float<class_float>` **get_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const| :ref:`🔗<class_CPUParticles2D_method_get_param_max>`
  984. Returns the maximum value range for the given parameter.
  985. .. rst-class:: classref-item-separator
  986. ----
  987. .. _class_CPUParticles2D_method_get_param_min:
  988. .. rst-class:: classref-method
  989. :ref:`float<class_float>` **get_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`\ ) |const| :ref:`🔗<class_CPUParticles2D_method_get_param_min>`
  990. Returns the minimum value range for the given parameter.
  991. .. rst-class:: classref-item-separator
  992. ----
  993. .. _class_CPUParticles2D_method_get_particle_flag:
  994. .. rst-class:: classref-method
  995. :ref:`bool<class_bool>` **get_particle_flag**\ (\ particle_flag\: :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>`\ ) |const| :ref:`🔗<class_CPUParticles2D_method_get_particle_flag>`
  996. Returns the enabled state of the given particle flag.
  997. .. rst-class:: classref-item-separator
  998. ----
  999. .. _class_CPUParticles2D_method_request_particles_process:
  1000. .. rst-class:: classref-method
  1001. |void| **request_particles_process**\ (\ process_time\: :ref:`float<class_float>`\ ) :ref:`🔗<class_CPUParticles2D_method_request_particles_process>`
  1002. Requests the particles to process for extra process time during a single frame.
  1003. Useful for particle playback, if used in combination with :ref:`use_fixed_seed<class_CPUParticles2D_property_use_fixed_seed>` or by calling :ref:`restart()<class_CPUParticles2D_method_restart>` with parameter ``keep_seed`` set to ``true``.
  1004. .. rst-class:: classref-item-separator
  1005. ----
  1006. .. _class_CPUParticles2D_method_restart:
  1007. .. rst-class:: classref-method
  1008. |void| **restart**\ (\ keep_seed\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_CPUParticles2D_method_restart>`
  1009. Restarts the particle emitter.
  1010. If ``keep_seed`` is ``true``, the current random seed will be preserved. Useful for seeking and playback.
  1011. .. rst-class:: classref-item-separator
  1012. ----
  1013. .. _class_CPUParticles2D_method_set_param_curve:
  1014. .. rst-class:: classref-method
  1015. |void| **set_param_curve**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`🔗<class_CPUParticles2D_method_set_param_curve>`
  1016. Sets the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles2D_Parameter>`. Should be a unit :ref:`Curve<class_Curve>`.
  1017. .. rst-class:: classref-item-separator
  1018. ----
  1019. .. _class_CPUParticles2D_method_set_param_max:
  1020. .. rst-class:: classref-method
  1021. |void| **set_param_max**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_CPUParticles2D_method_set_param_max>`
  1022. Sets the maximum value for the given parameter.
  1023. .. rst-class:: classref-item-separator
  1024. ----
  1025. .. _class_CPUParticles2D_method_set_param_min:
  1026. .. rst-class:: classref-method
  1027. |void| **set_param_min**\ (\ param\: :ref:`Parameter<enum_CPUParticles2D_Parameter>`, value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_CPUParticles2D_method_set_param_min>`
  1028. Sets the minimum value for the given parameter.
  1029. .. rst-class:: classref-item-separator
  1030. ----
  1031. .. _class_CPUParticles2D_method_set_particle_flag:
  1032. .. rst-class:: classref-method
  1033. |void| **set_particle_flag**\ (\ particle_flag\: :ref:`ParticleFlags<enum_CPUParticles2D_ParticleFlags>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_CPUParticles2D_method_set_particle_flag>`
  1034. Enables or disables the given particle flag.
  1035. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  1036. .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
  1037. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  1038. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  1039. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  1040. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  1041. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  1042. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  1043. .. |void| replace:: :abbr:`void (No return value.)`