Particles2D.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="Particles2D" inherits="Node2D" version="3.2">
  3. <brief_description>
  4. 2D particle emitter.
  5. </brief_description>
  6. <description>
  7. 2D particle node used to create a variety of particle systems and effects. [Particles2D] features an emitter that generates some number of particles at a given rate.
  8. Use the [code]process_material[/code] property to add a [ParticlesMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles.
  9. </description>
  10. <tutorials>
  11. <link>https://docs.godotengine.org/en/latest/tutorials/2d/particle_systems_2d.html</link>
  12. </tutorials>
  13. <methods>
  14. <method name="capture_rect" qualifiers="const">
  15. <return type="Rect2">
  16. </return>
  17. <description>
  18. Returns a rectangle containing the positions of all existing particles.
  19. </description>
  20. </method>
  21. <method name="restart">
  22. <return type="void">
  23. </return>
  24. <description>
  25. Restarts all the existing particles.
  26. </description>
  27. </method>
  28. </methods>
  29. <members>
  30. <member name="amount" type="int" setter="set_amount" getter="get_amount" default="8">
  31. Number of particles emitted in one emission cycle.
  32. </member>
  33. <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles2D.DrawOrder" default="0">
  34. Particle draw order. Uses [enum DrawOrder] values.
  35. </member>
  36. <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting" default="true">
  37. If [code]true[/code], particles are being emitted.
  38. </member>
  39. <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio" default="0.0">
  40. How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins.
  41. </member>
  42. <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0">
  43. The particle system's frame rate is fixed to a value. For instance, 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.
  44. </member>
  45. <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true">
  46. If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
  47. </member>
  48. <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0">
  49. Amount of time each particle will exist.
  50. </member>
  51. <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="true">
  52. If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
  53. </member>
  54. <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
  55. Normal map to be used for the [member texture] property.
  56. </member>
  57. <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
  58. If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
  59. </member>
  60. <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time" default="0.0">
  61. Particle system starts as if it had already run for this many seconds.
  62. </member>
  63. <member name="process_material" type="Material" setter="set_process_material" getter="get_process_material">
  64. [Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial].
  65. </member>
  66. <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio" default="0.0">
  67. Emission lifetime randomness ratio.
  68. </member>
  69. <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
  70. Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
  71. </member>
  72. <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
  73. Particle texture. If [code]null[/code], particles will be squares.
  74. </member>
  75. <member name="visibility_rect" type="Rect2" setter="set_visibility_rect" getter="get_visibility_rect" default="Rect2( -100, -100, 200, 200 )">
  76. Editor visibility helper.
  77. </member>
  78. </members>
  79. <constants>
  80. <constant name="DRAW_ORDER_INDEX" value="0" enum="DrawOrder">
  81. Particles are drawn in the order emitted.
  82. </constant>
  83. <constant name="DRAW_ORDER_LIFETIME" value="1" enum="DrawOrder">
  84. Particles are drawn in order of remaining lifetime.
  85. </constant>
  86. </constants>
  87. </class>