class_particlesmaterial.rst 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the ParticlesMaterial.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_ParticlesMaterial:
  6. ParticlesMaterial
  7. =================
  8. **Inherits:** :ref:`Material<class_Material>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. **Category:** Core
  10. Brief Description
  11. -----------------
  12. Particle properties for :ref:`Particles<class_Particles>` and :ref:`Particles2D<class_Particles2D>` nodes.
  13. Properties
  14. ----------
  15. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  16. | :ref:`float<class_float>` | :ref:`angle<class_ParticlesMaterial_property_angle>` | 0.0 |
  17. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  18. | :ref:`Texture<class_Texture>` | :ref:`angle_curve<class_ParticlesMaterial_property_angle_curve>` | |
  19. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  20. | :ref:`float<class_float>` | :ref:`angle_random<class_ParticlesMaterial_property_angle_random>` | 0.0 |
  21. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  22. | :ref:`float<class_float>` | :ref:`angular_velocity<class_ParticlesMaterial_property_angular_velocity>` | 0.0 |
  23. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  24. | :ref:`Texture<class_Texture>` | :ref:`angular_velocity_curve<class_ParticlesMaterial_property_angular_velocity_curve>` | |
  25. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  26. | :ref:`float<class_float>` | :ref:`angular_velocity_random<class_ParticlesMaterial_property_angular_velocity_random>` | 0.0 |
  27. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  28. | :ref:`float<class_float>` | :ref:`anim_offset<class_ParticlesMaterial_property_anim_offset>` | 0.0 |
  29. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  30. | :ref:`Texture<class_Texture>` | :ref:`anim_offset_curve<class_ParticlesMaterial_property_anim_offset_curve>` | |
  31. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  32. | :ref:`float<class_float>` | :ref:`anim_offset_random<class_ParticlesMaterial_property_anim_offset_random>` | 0.0 |
  33. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  34. | :ref:`float<class_float>` | :ref:`anim_speed<class_ParticlesMaterial_property_anim_speed>` | 0.0 |
  35. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  36. | :ref:`Texture<class_Texture>` | :ref:`anim_speed_curve<class_ParticlesMaterial_property_anim_speed_curve>` | |
  37. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  38. | :ref:`float<class_float>` | :ref:`anim_speed_random<class_ParticlesMaterial_property_anim_speed_random>` | 0.0 |
  39. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  40. | :ref:`Color<class_Color>` | :ref:`color<class_ParticlesMaterial_property_color>` | Color( 1, 1, 1, 1 ) |
  41. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  42. | :ref:`Texture<class_Texture>` | :ref:`color_ramp<class_ParticlesMaterial_property_color_ramp>` | |
  43. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  44. | :ref:`float<class_float>` | :ref:`damping<class_ParticlesMaterial_property_damping>` | 0.0 |
  45. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  46. | :ref:`Texture<class_Texture>` | :ref:`damping_curve<class_ParticlesMaterial_property_damping_curve>` | |
  47. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  48. | :ref:`float<class_float>` | :ref:`damping_random<class_ParticlesMaterial_property_damping_random>` | 0.0 |
  49. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  50. | :ref:`Vector3<class_Vector3>` | :ref:`direction<class_ParticlesMaterial_property_direction>` | Vector3( 1, 0, 0 ) |
  51. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  52. | :ref:`Vector3<class_Vector3>` | :ref:`emission_box_extents<class_ParticlesMaterial_property_emission_box_extents>` | |
  53. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  54. | :ref:`Texture<class_Texture>` | :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>` | |
  55. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  56. | :ref:`Texture<class_Texture>` | :ref:`emission_normal_texture<class_ParticlesMaterial_property_emission_normal_texture>` | |
  57. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  58. | :ref:`int<class_int>` | :ref:`emission_point_count<class_ParticlesMaterial_property_emission_point_count>` | |
  59. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  60. | :ref:`Texture<class_Texture>` | :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>` | |
  61. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  62. | :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` | :ref:`emission_shape<class_ParticlesMaterial_property_emission_shape>` | 0 |
  63. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  64. | :ref:`float<class_float>` | :ref:`emission_sphere_radius<class_ParticlesMaterial_property_emission_sphere_radius>` | |
  65. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  66. | :ref:`bool<class_bool>` | :ref:`flag_align_y<class_ParticlesMaterial_property_flag_align_y>` | false |
  67. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  68. | :ref:`bool<class_bool>` | :ref:`flag_disable_z<class_ParticlesMaterial_property_flag_disable_z>` | false |
  69. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  70. | :ref:`bool<class_bool>` | :ref:`flag_rotate_y<class_ParticlesMaterial_property_flag_rotate_y>` | false |
  71. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  72. | :ref:`float<class_float>` | :ref:`flatness<class_ParticlesMaterial_property_flatness>` | 0.0 |
  73. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  74. | :ref:`Vector3<class_Vector3>` | :ref:`gravity<class_ParticlesMaterial_property_gravity>` | Vector3( 0, -9.8, 0 ) |
  75. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  76. | :ref:`float<class_float>` | :ref:`hue_variation<class_ParticlesMaterial_property_hue_variation>` | 0.0 |
  77. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  78. | :ref:`Texture<class_Texture>` | :ref:`hue_variation_curve<class_ParticlesMaterial_property_hue_variation_curve>` | |
  79. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  80. | :ref:`float<class_float>` | :ref:`hue_variation_random<class_ParticlesMaterial_property_hue_variation_random>` | 0.0 |
  81. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  82. | :ref:`float<class_float>` | :ref:`initial_velocity<class_ParticlesMaterial_property_initial_velocity>` | 0.0 |
  83. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  84. | :ref:`float<class_float>` | :ref:`initial_velocity_random<class_ParticlesMaterial_property_initial_velocity_random>` | 0.0 |
  85. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  86. | :ref:`float<class_float>` | :ref:`lifetime_randomness<class_ParticlesMaterial_property_lifetime_randomness>` | 0.0 |
  87. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  88. | :ref:`float<class_float>` | :ref:`linear_accel<class_ParticlesMaterial_property_linear_accel>` | 0.0 |
  89. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  90. | :ref:`Texture<class_Texture>` | :ref:`linear_accel_curve<class_ParticlesMaterial_property_linear_accel_curve>` | |
  91. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  92. | :ref:`float<class_float>` | :ref:`linear_accel_random<class_ParticlesMaterial_property_linear_accel_random>` | 0.0 |
  93. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  94. | :ref:`float<class_float>` | :ref:`orbit_velocity<class_ParticlesMaterial_property_orbit_velocity>` | |
  95. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  96. | :ref:`Texture<class_Texture>` | :ref:`orbit_velocity_curve<class_ParticlesMaterial_property_orbit_velocity_curve>` | |
  97. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  98. | :ref:`float<class_float>` | :ref:`orbit_velocity_random<class_ParticlesMaterial_property_orbit_velocity_random>` | |
  99. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  100. | :ref:`float<class_float>` | :ref:`radial_accel<class_ParticlesMaterial_property_radial_accel>` | 0.0 |
  101. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  102. | :ref:`Texture<class_Texture>` | :ref:`radial_accel_curve<class_ParticlesMaterial_property_radial_accel_curve>` | |
  103. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  104. | :ref:`float<class_float>` | :ref:`radial_accel_random<class_ParticlesMaterial_property_radial_accel_random>` | 0.0 |
  105. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  106. | :ref:`float<class_float>` | :ref:`scale<class_ParticlesMaterial_property_scale>` | 1.0 |
  107. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  108. | :ref:`Texture<class_Texture>` | :ref:`scale_curve<class_ParticlesMaterial_property_scale_curve>` | |
  109. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  110. | :ref:`float<class_float>` | :ref:`scale_random<class_ParticlesMaterial_property_scale_random>` | 0.0 |
  111. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  112. | :ref:`float<class_float>` | :ref:`spread<class_ParticlesMaterial_property_spread>` | 45.0 |
  113. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  114. | :ref:`float<class_float>` | :ref:`tangential_accel<class_ParticlesMaterial_property_tangential_accel>` | 0.0 |
  115. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  116. | :ref:`Texture<class_Texture>` | :ref:`tangential_accel_curve<class_ParticlesMaterial_property_tangential_accel_curve>` | |
  117. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  118. | :ref:`float<class_float>` | :ref:`tangential_accel_random<class_ParticlesMaterial_property_tangential_accel_random>` | 0.0 |
  119. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  120. | :ref:`GradientTexture<class_GradientTexture>` | :ref:`trail_color_modifier<class_ParticlesMaterial_property_trail_color_modifier>` | |
  121. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  122. | :ref:`int<class_int>` | :ref:`trail_divisor<class_ParticlesMaterial_property_trail_divisor>` | 1 |
  123. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  124. | :ref:`CurveTexture<class_CurveTexture>` | :ref:`trail_size_modifier<class_ParticlesMaterial_property_trail_size_modifier>` | |
  125. +------------------------------------------------------------+------------------------------------------------------------------------------------------+-----------------------+
  126. Methods
  127. -------
  128. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | :ref:`bool<class_bool>` | :ref:`get_flag<class_ParticlesMaterial_method_get_flag>` **(** :ref:`Flags<enum_ParticlesMaterial_Flags>` flag **)** const |
  130. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | :ref:`float<class_float>` | :ref:`get_param<class_ParticlesMaterial_method_get_param>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** const |
  132. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | :ref:`float<class_float>` | :ref:`get_param_randomness<class_ParticlesMaterial_method_get_param_randomness>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** const |
  134. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | :ref:`Texture<class_Texture>` | :ref:`get_param_texture<class_ParticlesMaterial_method_get_param_texture>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** const |
  136. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | void | :ref:`set_flag<class_ParticlesMaterial_method_set_flag>` **(** :ref:`Flags<enum_ParticlesMaterial_Flags>` flag, :ref:`bool<class_bool>` enable **)** |
  138. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | void | :ref:`set_param<class_ParticlesMaterial_method_set_param>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` value **)** |
  140. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | void | :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` randomness **)** |
  142. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | void | :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`Texture<class_Texture>` texture **)** |
  144. +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. Enumerations
  146. ------------
  147. .. _enum_ParticlesMaterial_Parameter:
  148. .. _class_ParticlesMaterial_constant_PARAM_INITIAL_LINEAR_VELOCITY:
  149. .. _class_ParticlesMaterial_constant_PARAM_ANGULAR_VELOCITY:
  150. .. _class_ParticlesMaterial_constant_PARAM_ORBIT_VELOCITY:
  151. .. _class_ParticlesMaterial_constant_PARAM_LINEAR_ACCEL:
  152. .. _class_ParticlesMaterial_constant_PARAM_RADIAL_ACCEL:
  153. .. _class_ParticlesMaterial_constant_PARAM_TANGENTIAL_ACCEL:
  154. .. _class_ParticlesMaterial_constant_PARAM_DAMPING:
  155. .. _class_ParticlesMaterial_constant_PARAM_ANGLE:
  156. .. _class_ParticlesMaterial_constant_PARAM_SCALE:
  157. .. _class_ParticlesMaterial_constant_PARAM_HUE_VARIATION:
  158. .. _class_ParticlesMaterial_constant_PARAM_ANIM_SPEED:
  159. .. _class_ParticlesMaterial_constant_PARAM_ANIM_OFFSET:
  160. .. _class_ParticlesMaterial_constant_PARAM_MAX:
  161. enum **Parameter**:
  162. - **PARAM_INITIAL_LINEAR_VELOCITY** = **0** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set initial velocity properties.
  163. - **PARAM_ANGULAR_VELOCITY** = **1** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set angular velocity properties.
  164. - **PARAM_ORBIT_VELOCITY** = **2** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set orbital velocity properties.
  165. - **PARAM_LINEAR_ACCEL** = **3** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set linear acceleration properties.
  166. - **PARAM_RADIAL_ACCEL** = **4** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set radial acceleration properties.
  167. - **PARAM_TANGENTIAL_ACCEL** = **5** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set tangential acceleration properties.
  168. - **PARAM_DAMPING** = **6** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set damping properties.
  169. - **PARAM_ANGLE** = **7** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set angle properties.
  170. - **PARAM_SCALE** = **8** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set scale properties.
  171. - **PARAM_HUE_VARIATION** = **9** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set hue variation properties.
  172. - **PARAM_ANIM_SPEED** = **10** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set animation speed properties.
  173. - **PARAM_ANIM_OFFSET** = **11** --- Use with :ref:`set_param<class_ParticlesMaterial_method_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_method_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_method_set_param_texture>` to set animation offset properties.
  174. - **PARAM_MAX** = **12** --- Represents the size of the :ref:`Parameter<enum_ParticlesMaterial_Parameter>` enum.
  175. ----
  176. .. _enum_ParticlesMaterial_Flags:
  177. .. _class_ParticlesMaterial_constant_FLAG_ALIGN_Y_TO_VELOCITY:
  178. .. _class_ParticlesMaterial_constant_FLAG_ROTATE_Y:
  179. .. _class_ParticlesMaterial_constant_FLAG_DISABLE_Z:
  180. .. _class_ParticlesMaterial_constant_FLAG_MAX:
  181. enum **Flags**:
  182. - **FLAG_ALIGN_Y_TO_VELOCITY** = **0** --- Use with :ref:`set_flag<class_ParticlesMaterial_method_set_flag>` to set :ref:`flag_align_y<class_ParticlesMaterial_property_flag_align_y>`.
  183. - **FLAG_ROTATE_Y** = **1** --- Use with :ref:`set_flag<class_ParticlesMaterial_method_set_flag>` to set :ref:`flag_rotate_y<class_ParticlesMaterial_property_flag_rotate_y>`.
  184. - **FLAG_DISABLE_Z** = **2** --- Use with :ref:`set_flag<class_ParticlesMaterial_method_set_flag>` to set :ref:`flag_disable_z<class_ParticlesMaterial_property_flag_disable_z>`.
  185. - **FLAG_MAX** = **3** --- Represents the size of the :ref:`Flags<enum_ParticlesMaterial_Flags>` enum.
  186. ----
  187. .. _enum_ParticlesMaterial_EmissionShape:
  188. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_POINT:
  189. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_SPHERE:
  190. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_BOX:
  191. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_POINTS:
  192. .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS:
  193. enum **EmissionShape**:
  194. - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
  195. - **EMISSION_SHAPE_SPHERE** = **1** --- Particles will be emitted in the volume of a sphere.
  196. - **EMISSION_SHAPE_BOX** = **2** --- Particles will be emitted in the volume of a box.
  197. - **EMISSION_SHAPE_POINTS** = **3** --- Particles will be emitted at a position determined by sampling a random point on the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Particle color will be modulated by :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>`.
  198. - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position determined by sampling a random point on the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Particle velocity and rotation will be set based on :ref:`emission_normal_texture<class_ParticlesMaterial_property_emission_normal_texture>`. Particle color will be modulated by :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>`.
  199. Description
  200. -----------
  201. ParticlesMaterial defines particle properties and behavior. It is used in the ``process_material`` of :ref:`Particles<class_Particles>` and :ref:`Particles2D<class_Particles2D>` emitter nodes.
  202. Some of this material's properties are applied to each particle when emitted, while others can have a :ref:`CurveTexture<class_CurveTexture>` applied to vary values over the lifetime of the particle.
  203. When a randomness ratio is applied to a property it is used to scale that property by a random amount. The random ratio is used to interpolate between ``1.0`` and a random number less than one, the result is multiplied by the property to obtain the randomized property. For example a random ratio of ``0.4`` would scale the original property between ``0.4-1.0`` of its original value.
  204. Property Descriptions
  205. ---------------------
  206. .. _class_ParticlesMaterial_property_angle:
  207. - :ref:`float<class_float>` **angle**
  208. +-----------+------------------+
  209. | *Default* | 0.0 |
  210. +-----------+------------------+
  211. | *Setter* | set_param(value) |
  212. +-----------+------------------+
  213. | *Getter* | get_param() |
  214. +-----------+------------------+
  215. Initial rotation applied to each particle, in degrees.
  216. Only applied when :ref:`flag_disable_z<class_ParticlesMaterial_property_flag_disable_z>` or :ref:`flag_rotate_y<class_ParticlesMaterial_property_flag_rotate_y>` are ``true`` or the :ref:`SpatialMaterial<class_SpatialMaterial>` being used to draw the particle is using :ref:`SpatialMaterial.BILLBOARD_PARTICLES<class_SpatialMaterial_constant_BILLBOARD_PARTICLES>`.
  217. ----
  218. .. _class_ParticlesMaterial_property_angle_curve:
  219. - :ref:`Texture<class_Texture>` **angle_curve**
  220. +----------+--------------------------+
  221. | *Setter* | set_param_texture(value) |
  222. +----------+--------------------------+
  223. | *Getter* | get_param_texture() |
  224. +----------+--------------------------+
  225. Each particle's rotation will be animated along this :ref:`CurveTexture<class_CurveTexture>`.
  226. ----
  227. .. _class_ParticlesMaterial_property_angle_random:
  228. - :ref:`float<class_float>` **angle_random**
  229. +-----------+-----------------------------+
  230. | *Default* | 0.0 |
  231. +-----------+-----------------------------+
  232. | *Setter* | set_param_randomness(value) |
  233. +-----------+-----------------------------+
  234. | *Getter* | get_param_randomness() |
  235. +-----------+-----------------------------+
  236. Rotation randomness ratio.
  237. ----
  238. .. _class_ParticlesMaterial_property_angular_velocity:
  239. - :ref:`float<class_float>` **angular_velocity**
  240. +-----------+------------------+
  241. | *Default* | 0.0 |
  242. +-----------+------------------+
  243. | *Setter* | set_param(value) |
  244. +-----------+------------------+
  245. | *Getter* | get_param() |
  246. +-----------+------------------+
  247. Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
  248. Only applied when :ref:`flag_disable_z<class_ParticlesMaterial_property_flag_disable_z>` or :ref:`flag_rotate_y<class_ParticlesMaterial_property_flag_rotate_y>` are ``true`` or the :ref:`SpatialMaterial<class_SpatialMaterial>` being used to draw the particle is using :ref:`SpatialMaterial.BILLBOARD_PARTICLES<class_SpatialMaterial_constant_BILLBOARD_PARTICLES>`.
  249. ----
  250. .. _class_ParticlesMaterial_property_angular_velocity_curve:
  251. - :ref:`Texture<class_Texture>` **angular_velocity_curve**
  252. +----------+--------------------------+
  253. | *Setter* | set_param_texture(value) |
  254. +----------+--------------------------+
  255. | *Getter* | get_param_texture() |
  256. +----------+--------------------------+
  257. Each particle's angular velocity will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  258. ----
  259. .. _class_ParticlesMaterial_property_angular_velocity_random:
  260. - :ref:`float<class_float>` **angular_velocity_random**
  261. +-----------+-----------------------------+
  262. | *Default* | 0.0 |
  263. +-----------+-----------------------------+
  264. | *Setter* | set_param_randomness(value) |
  265. +-----------+-----------------------------+
  266. | *Getter* | get_param_randomness() |
  267. +-----------+-----------------------------+
  268. Angular velocity randomness ratio.
  269. ----
  270. .. _class_ParticlesMaterial_property_anim_offset:
  271. - :ref:`float<class_float>` **anim_offset**
  272. +-----------+------------------+
  273. | *Default* | 0.0 |
  274. +-----------+------------------+
  275. | *Setter* | set_param(value) |
  276. +-----------+------------------+
  277. | *Getter* | get_param() |
  278. +-----------+------------------+
  279. Particle animation offset.
  280. ----
  281. .. _class_ParticlesMaterial_property_anim_offset_curve:
  282. - :ref:`Texture<class_Texture>` **anim_offset_curve**
  283. +----------+--------------------------+
  284. | *Setter* | set_param_texture(value) |
  285. +----------+--------------------------+
  286. | *Getter* | get_param_texture() |
  287. +----------+--------------------------+
  288. Each particle's animation offset will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  289. ----
  290. .. _class_ParticlesMaterial_property_anim_offset_random:
  291. - :ref:`float<class_float>` **anim_offset_random**
  292. +-----------+-----------------------------+
  293. | *Default* | 0.0 |
  294. +-----------+-----------------------------+
  295. | *Setter* | set_param_randomness(value) |
  296. +-----------+-----------------------------+
  297. | *Getter* | get_param_randomness() |
  298. +-----------+-----------------------------+
  299. Animation offset randomness ratio.
  300. ----
  301. .. _class_ParticlesMaterial_property_anim_speed:
  302. - :ref:`float<class_float>` **anim_speed**
  303. +-----------+------------------+
  304. | *Default* | 0.0 |
  305. +-----------+------------------+
  306. | *Setter* | set_param(value) |
  307. +-----------+------------------+
  308. | *Getter* | get_param() |
  309. +-----------+------------------+
  310. Particle animation speed.
  311. ----
  312. .. _class_ParticlesMaterial_property_anim_speed_curve:
  313. - :ref:`Texture<class_Texture>` **anim_speed_curve**
  314. +----------+--------------------------+
  315. | *Setter* | set_param_texture(value) |
  316. +----------+--------------------------+
  317. | *Getter* | get_param_texture() |
  318. +----------+--------------------------+
  319. Each particle's animation speed will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  320. ----
  321. .. _class_ParticlesMaterial_property_anim_speed_random:
  322. - :ref:`float<class_float>` **anim_speed_random**
  323. +-----------+-----------------------------+
  324. | *Default* | 0.0 |
  325. +-----------+-----------------------------+
  326. | *Setter* | set_param_randomness(value) |
  327. +-----------+-----------------------------+
  328. | *Getter* | get_param_randomness() |
  329. +-----------+-----------------------------+
  330. Animation speed randomness ratio.
  331. ----
  332. .. _class_ParticlesMaterial_property_color:
  333. - :ref:`Color<class_Color>` **color**
  334. +-----------+---------------------+
  335. | *Default* | Color( 1, 1, 1, 1 ) |
  336. +-----------+---------------------+
  337. | *Setter* | set_color(value) |
  338. +-----------+---------------------+
  339. | *Getter* | get_color() |
  340. +-----------+---------------------+
  341. Each particle's initial color. If the :ref:`Particles2D<class_Particles2D>`'s ``texture`` is defined, it will be multiplied by this color. To have particle display color in a :ref:`SpatialMaterial<class_SpatialMaterial>` make sure to set :ref:`SpatialMaterial.vertex_color_use_as_albedo<class_SpatialMaterial_property_vertex_color_use_as_albedo>` to ``true``.
  342. ----
  343. .. _class_ParticlesMaterial_property_color_ramp:
  344. - :ref:`Texture<class_Texture>` **color_ramp**
  345. +----------+-----------------------+
  346. | *Setter* | set_color_ramp(value) |
  347. +----------+-----------------------+
  348. | *Getter* | get_color_ramp() |
  349. +----------+-----------------------+
  350. Each particle's color will vary along this :ref:`GradientTexture<class_GradientTexture>`.
  351. ----
  352. .. _class_ParticlesMaterial_property_damping:
  353. - :ref:`float<class_float>` **damping**
  354. +-----------+------------------+
  355. | *Default* | 0.0 |
  356. +-----------+------------------+
  357. | *Setter* | set_param(value) |
  358. +-----------+------------------+
  359. | *Getter* | get_param() |
  360. +-----------+------------------+
  361. The rate at which particles lose velocity.
  362. ----
  363. .. _class_ParticlesMaterial_property_damping_curve:
  364. - :ref:`Texture<class_Texture>` **damping_curve**
  365. +----------+--------------------------+
  366. | *Setter* | set_param_texture(value) |
  367. +----------+--------------------------+
  368. | *Getter* | get_param_texture() |
  369. +----------+--------------------------+
  370. Damping will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  371. ----
  372. .. _class_ParticlesMaterial_property_damping_random:
  373. - :ref:`float<class_float>` **damping_random**
  374. +-----------+-----------------------------+
  375. | *Default* | 0.0 |
  376. +-----------+-----------------------------+
  377. | *Setter* | set_param_randomness(value) |
  378. +-----------+-----------------------------+
  379. | *Getter* | get_param_randomness() |
  380. +-----------+-----------------------------+
  381. Damping randomness ratio.
  382. ----
  383. .. _class_ParticlesMaterial_property_direction:
  384. - :ref:`Vector3<class_Vector3>` **direction**
  385. +-----------+----------------------+
  386. | *Default* | Vector3( 1, 0, 0 ) |
  387. +-----------+----------------------+
  388. | *Setter* | set_direction(value) |
  389. +-----------+----------------------+
  390. | *Getter* | get_direction() |
  391. +-----------+----------------------+
  392. Unit vector specifying the particles' emission direction.
  393. ----
  394. .. _class_ParticlesMaterial_property_emission_box_extents:
  395. - :ref:`Vector3<class_Vector3>` **emission_box_extents**
  396. +----------+---------------------------------+
  397. | *Setter* | set_emission_box_extents(value) |
  398. +----------+---------------------------------+
  399. | *Getter* | get_emission_box_extents() |
  400. +----------+---------------------------------+
  401. The box's extents if ``emission_shape`` is set to :ref:`EMISSION_SHAPE_BOX<class_ParticlesMaterial_constant_EMISSION_SHAPE_BOX>`.
  402. ----
  403. .. _class_ParticlesMaterial_property_emission_color_texture:
  404. - :ref:`Texture<class_Texture>` **emission_color_texture**
  405. +----------+-----------------------------------+
  406. | *Setter* | set_emission_color_texture(value) |
  407. +----------+-----------------------------------+
  408. | *Getter* | get_emission_color_texture() |
  409. +----------+-----------------------------------+
  410. Particle color will be modulated by color determined by sampling this texture at the same point as the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`.
  411. ----
  412. .. _class_ParticlesMaterial_property_emission_normal_texture:
  413. - :ref:`Texture<class_Texture>` **emission_normal_texture**
  414. +----------+------------------------------------+
  415. | *Setter* | set_emission_normal_texture(value) |
  416. +----------+------------------------------------+
  417. | *Getter* | get_emission_normal_texture() |
  418. +----------+------------------------------------+
  419. Particle velocity and rotation will be set by sampling this texture at the same point as the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Used only in :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS>`. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
  420. ----
  421. .. _class_ParticlesMaterial_property_emission_point_count:
  422. - :ref:`int<class_int>` **emission_point_count**
  423. +----------+---------------------------------+
  424. | *Setter* | set_emission_point_count(value) |
  425. +----------+---------------------------------+
  426. | *Getter* | get_emission_point_count() |
  427. +----------+---------------------------------+
  428. The number of emission points if ``emission_shape`` is set to :ref:`EMISSION_SHAPE_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
  429. ----
  430. .. _class_ParticlesMaterial_property_emission_point_texture:
  431. - :ref:`Texture<class_Texture>` **emission_point_texture**
  432. +----------+-----------------------------------+
  433. | *Setter* | set_emission_point_texture(value) |
  434. +----------+-----------------------------------+
  435. | *Getter* | get_emission_point_texture() |
  436. +----------+-----------------------------------+
  437. Particles will be emitted at positions determined by sampling this texture at a random position. Used with :ref:`EMISSION_SHAPE_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_POINTS>` and :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS>`. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
  438. ----
  439. .. _class_ParticlesMaterial_property_emission_shape:
  440. - :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` **emission_shape**
  441. +-----------+---------------------------+
  442. | *Default* | 0 |
  443. +-----------+---------------------------+
  444. | *Setter* | set_emission_shape(value) |
  445. +-----------+---------------------------+
  446. | *Getter* | get_emission_shape() |
  447. +-----------+---------------------------+
  448. Particles will be emitted inside this region. Use :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` constants for values.
  449. ----
  450. .. _class_ParticlesMaterial_property_emission_sphere_radius:
  451. - :ref:`float<class_float>` **emission_sphere_radius**
  452. +----------+-----------------------------------+
  453. | *Setter* | set_emission_sphere_radius(value) |
  454. +----------+-----------------------------------+
  455. | *Getter* | get_emission_sphere_radius() |
  456. +----------+-----------------------------------+
  457. The sphere's radius if ``emission_shape`` is set to :ref:`EMISSION_SHAPE_SPHERE<class_ParticlesMaterial_constant_EMISSION_SHAPE_SPHERE>`.
  458. ----
  459. .. _class_ParticlesMaterial_property_flag_align_y:
  460. - :ref:`bool<class_bool>` **flag_align_y**
  461. +-----------+-----------------+
  462. | *Default* | false |
  463. +-----------+-----------------+
  464. | *Setter* | set_flag(value) |
  465. +-----------+-----------------+
  466. | *Getter* | get_flag() |
  467. +-----------+-----------------+
  468. Align Y axis of particle with the direction of its velocity.
  469. ----
  470. .. _class_ParticlesMaterial_property_flag_disable_z:
  471. - :ref:`bool<class_bool>` **flag_disable_z**
  472. +-----------+-----------------+
  473. | *Default* | false |
  474. +-----------+-----------------+
  475. | *Setter* | set_flag(value) |
  476. +-----------+-----------------+
  477. | *Getter* | get_flag() |
  478. +-----------+-----------------+
  479. If ``true``, particles will not move on the z axis.
  480. ----
  481. .. _class_ParticlesMaterial_property_flag_rotate_y:
  482. - :ref:`bool<class_bool>` **flag_rotate_y**
  483. +-----------+-----------------+
  484. | *Default* | false |
  485. +-----------+-----------------+
  486. | *Setter* | set_flag(value) |
  487. +-----------+-----------------+
  488. | *Getter* | get_flag() |
  489. +-----------+-----------------+
  490. If ``true``, particles rotate around Y axis by :ref:`angle<class_ParticlesMaterial_property_angle>`.
  491. ----
  492. .. _class_ParticlesMaterial_property_flatness:
  493. - :ref:`float<class_float>` **flatness**
  494. +-----------+---------------------+
  495. | *Default* | 0.0 |
  496. +-----------+---------------------+
  497. | *Setter* | set_flatness(value) |
  498. +-----------+---------------------+
  499. | *Getter* | get_flatness() |
  500. +-----------+---------------------+
  501. Amount of :ref:`spread<class_ParticlesMaterial_property_spread>` in Y/Z plane. A value of ``1`` restricts particles to X/Z plane.
  502. ----
  503. .. _class_ParticlesMaterial_property_gravity:
  504. - :ref:`Vector3<class_Vector3>` **gravity**
  505. +-----------+-----------------------+
  506. | *Default* | Vector3( 0, -9.8, 0 ) |
  507. +-----------+-----------------------+
  508. | *Setter* | set_gravity(value) |
  509. +-----------+-----------------------+
  510. | *Getter* | get_gravity() |
  511. +-----------+-----------------------+
  512. Gravity applied to every particle.
  513. ----
  514. .. _class_ParticlesMaterial_property_hue_variation:
  515. - :ref:`float<class_float>` **hue_variation**
  516. +-----------+------------------+
  517. | *Default* | 0.0 |
  518. +-----------+------------------+
  519. | *Setter* | set_param(value) |
  520. +-----------+------------------+
  521. | *Getter* | get_param() |
  522. +-----------+------------------+
  523. Initial hue variation applied to each particle.
  524. ----
  525. .. _class_ParticlesMaterial_property_hue_variation_curve:
  526. - :ref:`Texture<class_Texture>` **hue_variation_curve**
  527. +----------+--------------------------+
  528. | *Setter* | set_param_texture(value) |
  529. +----------+--------------------------+
  530. | *Getter* | get_param_texture() |
  531. +----------+--------------------------+
  532. Each particle's hue will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  533. ----
  534. .. _class_ParticlesMaterial_property_hue_variation_random:
  535. - :ref:`float<class_float>` **hue_variation_random**
  536. +-----------+-----------------------------+
  537. | *Default* | 0.0 |
  538. +-----------+-----------------------------+
  539. | *Setter* | set_param_randomness(value) |
  540. +-----------+-----------------------------+
  541. | *Getter* | get_param_randomness() |
  542. +-----------+-----------------------------+
  543. Hue variation randomness ratio.
  544. ----
  545. .. _class_ParticlesMaterial_property_initial_velocity:
  546. - :ref:`float<class_float>` **initial_velocity**
  547. +-----------+------------------+
  548. | *Default* | 0.0 |
  549. +-----------+------------------+
  550. | *Setter* | set_param(value) |
  551. +-----------+------------------+
  552. | *Getter* | get_param() |
  553. +-----------+------------------+
  554. Initial velocity magnitude for each particle. Direction comes from :ref:`spread<class_ParticlesMaterial_property_spread>` and the node's orientation.
  555. ----
  556. .. _class_ParticlesMaterial_property_initial_velocity_random:
  557. - :ref:`float<class_float>` **initial_velocity_random**
  558. +-----------+-----------------------------+
  559. | *Default* | 0.0 |
  560. +-----------+-----------------------------+
  561. | *Setter* | set_param_randomness(value) |
  562. +-----------+-----------------------------+
  563. | *Getter* | get_param_randomness() |
  564. +-----------+-----------------------------+
  565. Initial velocity randomness ratio.
  566. ----
  567. .. _class_ParticlesMaterial_property_lifetime_randomness:
  568. - :ref:`float<class_float>` **lifetime_randomness**
  569. +-----------+--------------------------------+
  570. | *Default* | 0.0 |
  571. +-----------+--------------------------------+
  572. | *Setter* | set_lifetime_randomness(value) |
  573. +-----------+--------------------------------+
  574. | *Getter* | get_lifetime_randomness() |
  575. +-----------+--------------------------------+
  576. Particle lifetime randomness ratio.
  577. ----
  578. .. _class_ParticlesMaterial_property_linear_accel:
  579. - :ref:`float<class_float>` **linear_accel**
  580. +-----------+------------------+
  581. | *Default* | 0.0 |
  582. +-----------+------------------+
  583. | *Setter* | set_param(value) |
  584. +-----------+------------------+
  585. | *Getter* | get_param() |
  586. +-----------+------------------+
  587. Linear acceleration applied to each particle in the direction of motion.
  588. ----
  589. .. _class_ParticlesMaterial_property_linear_accel_curve:
  590. - :ref:`Texture<class_Texture>` **linear_accel_curve**
  591. +----------+--------------------------+
  592. | *Setter* | set_param_texture(value) |
  593. +----------+--------------------------+
  594. | *Getter* | get_param_texture() |
  595. +----------+--------------------------+
  596. Each particle's linear acceleration will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  597. ----
  598. .. _class_ParticlesMaterial_property_linear_accel_random:
  599. - :ref:`float<class_float>` **linear_accel_random**
  600. +-----------+-----------------------------+
  601. | *Default* | 0.0 |
  602. +-----------+-----------------------------+
  603. | *Setter* | set_param_randomness(value) |
  604. +-----------+-----------------------------+
  605. | *Getter* | get_param_randomness() |
  606. +-----------+-----------------------------+
  607. Linear acceleration randomness ratio.
  608. ----
  609. .. _class_ParticlesMaterial_property_orbit_velocity:
  610. - :ref:`float<class_float>` **orbit_velocity**
  611. +----------+------------------+
  612. | *Setter* | set_param(value) |
  613. +----------+------------------+
  614. | *Getter* | get_param() |
  615. +----------+------------------+
  616. Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
  617. Only available when :ref:`flag_disable_z<class_ParticlesMaterial_property_flag_disable_z>` is ``true``.
  618. ----
  619. .. _class_ParticlesMaterial_property_orbit_velocity_curve:
  620. - :ref:`Texture<class_Texture>` **orbit_velocity_curve**
  621. +----------+--------------------------+
  622. | *Setter* | set_param_texture(value) |
  623. +----------+--------------------------+
  624. | *Getter* | get_param_texture() |
  625. +----------+--------------------------+
  626. Each particle's orbital velocity will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  627. ----
  628. .. _class_ParticlesMaterial_property_orbit_velocity_random:
  629. - :ref:`float<class_float>` **orbit_velocity_random**
  630. +----------+-----------------------------+
  631. | *Setter* | set_param_randomness(value) |
  632. +----------+-----------------------------+
  633. | *Getter* | get_param_randomness() |
  634. +----------+-----------------------------+
  635. Orbital velocity randomness ratio.
  636. ----
  637. .. _class_ParticlesMaterial_property_radial_accel:
  638. - :ref:`float<class_float>` **radial_accel**
  639. +-----------+------------------+
  640. | *Default* | 0.0 |
  641. +-----------+------------------+
  642. | *Setter* | set_param(value) |
  643. +-----------+------------------+
  644. | *Getter* | get_param() |
  645. +-----------+------------------+
  646. Radial acceleration applied to each particle. Makes particle accelerate away from origin.
  647. ----
  648. .. _class_ParticlesMaterial_property_radial_accel_curve:
  649. - :ref:`Texture<class_Texture>` **radial_accel_curve**
  650. +----------+--------------------------+
  651. | *Setter* | set_param_texture(value) |
  652. +----------+--------------------------+
  653. | *Getter* | get_param_texture() |
  654. +----------+--------------------------+
  655. Each particle's radial acceleration will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  656. ----
  657. .. _class_ParticlesMaterial_property_radial_accel_random:
  658. - :ref:`float<class_float>` **radial_accel_random**
  659. +-----------+-----------------------------+
  660. | *Default* | 0.0 |
  661. +-----------+-----------------------------+
  662. | *Setter* | set_param_randomness(value) |
  663. +-----------+-----------------------------+
  664. | *Getter* | get_param_randomness() |
  665. +-----------+-----------------------------+
  666. Radial acceleration randomness ratio.
  667. ----
  668. .. _class_ParticlesMaterial_property_scale:
  669. - :ref:`float<class_float>` **scale**
  670. +-----------+------------------+
  671. | *Default* | 1.0 |
  672. +-----------+------------------+
  673. | *Setter* | set_param(value) |
  674. +-----------+------------------+
  675. | *Getter* | get_param() |
  676. +-----------+------------------+
  677. Initial scale applied to each particle.
  678. ----
  679. .. _class_ParticlesMaterial_property_scale_curve:
  680. - :ref:`Texture<class_Texture>` **scale_curve**
  681. +----------+--------------------------+
  682. | *Setter* | set_param_texture(value) |
  683. +----------+--------------------------+
  684. | *Getter* | get_param_texture() |
  685. +----------+--------------------------+
  686. Each particle's scale will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  687. ----
  688. .. _class_ParticlesMaterial_property_scale_random:
  689. - :ref:`float<class_float>` **scale_random**
  690. +-----------+-----------------------------+
  691. | *Default* | 0.0 |
  692. +-----------+-----------------------------+
  693. | *Setter* | set_param_randomness(value) |
  694. +-----------+-----------------------------+
  695. | *Getter* | get_param_randomness() |
  696. +-----------+-----------------------------+
  697. Scale randomness ratio.
  698. ----
  699. .. _class_ParticlesMaterial_property_spread:
  700. - :ref:`float<class_float>` **spread**
  701. +-----------+-------------------+
  702. | *Default* | 45.0 |
  703. +-----------+-------------------+
  704. | *Setter* | set_spread(value) |
  705. +-----------+-------------------+
  706. | *Getter* | get_spread() |
  707. +-----------+-------------------+
  708. Each particle's initial direction range from ``+spread`` to ``-spread`` degrees. Applied to X/Z plane and Y/Z planes.
  709. ----
  710. .. _class_ParticlesMaterial_property_tangential_accel:
  711. - :ref:`float<class_float>` **tangential_accel**
  712. +-----------+------------------+
  713. | *Default* | 0.0 |
  714. +-----------+------------------+
  715. | *Setter* | set_param(value) |
  716. +-----------+------------------+
  717. | *Getter* | get_param() |
  718. +-----------+------------------+
  719. Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
  720. ----
  721. .. _class_ParticlesMaterial_property_tangential_accel_curve:
  722. - :ref:`Texture<class_Texture>` **tangential_accel_curve**
  723. +----------+--------------------------+
  724. | *Setter* | set_param_texture(value) |
  725. +----------+--------------------------+
  726. | *Getter* | get_param_texture() |
  727. +----------+--------------------------+
  728. Each particle's tangential acceleration will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  729. ----
  730. .. _class_ParticlesMaterial_property_tangential_accel_random:
  731. - :ref:`float<class_float>` **tangential_accel_random**
  732. +-----------+-----------------------------+
  733. | *Default* | 0.0 |
  734. +-----------+-----------------------------+
  735. | *Setter* | set_param_randomness(value) |
  736. +-----------+-----------------------------+
  737. | *Getter* | get_param_randomness() |
  738. +-----------+-----------------------------+
  739. Tangential acceleration randomness ratio.
  740. ----
  741. .. _class_ParticlesMaterial_property_trail_color_modifier:
  742. - :ref:`GradientTexture<class_GradientTexture>` **trail_color_modifier**
  743. +----------+---------------------------------+
  744. | *Setter* | set_trail_color_modifier(value) |
  745. +----------+---------------------------------+
  746. | *Getter* | get_trail_color_modifier() |
  747. +----------+---------------------------------+
  748. Trail particles' color will vary along this :ref:`GradientTexture<class_GradientTexture>`.
  749. ----
  750. .. _class_ParticlesMaterial_property_trail_divisor:
  751. - :ref:`int<class_int>` **trail_divisor**
  752. +-----------+--------------------------+
  753. | *Default* | 1 |
  754. +-----------+--------------------------+
  755. | *Setter* | set_trail_divisor(value) |
  756. +-----------+--------------------------+
  757. | *Getter* | get_trail_divisor() |
  758. +-----------+--------------------------+
  759. Emitter will emit ``amount`` divided by ``trail_divisor`` particles. The remaining particles will be used as trail(s).
  760. ----
  761. .. _class_ParticlesMaterial_property_trail_size_modifier:
  762. - :ref:`CurveTexture<class_CurveTexture>` **trail_size_modifier**
  763. +----------+--------------------------------+
  764. | *Setter* | set_trail_size_modifier(value) |
  765. +----------+--------------------------------+
  766. | *Getter* | get_trail_size_modifier() |
  767. +----------+--------------------------------+
  768. Trail particles' size will vary along this :ref:`CurveTexture<class_CurveTexture>`.
  769. Method Descriptions
  770. -------------------
  771. .. _class_ParticlesMaterial_method_get_flag:
  772. - :ref:`bool<class_bool>` **get_flag** **(** :ref:`Flags<enum_ParticlesMaterial_Flags>` flag **)** const
  773. ----
  774. .. _class_ParticlesMaterial_method_get_param:
  775. - :ref:`float<class_float>` **get_param** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** const
  776. ----
  777. .. _class_ParticlesMaterial_method_get_param_randomness:
  778. - :ref:`float<class_float>` **get_param_randomness** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** const
  779. ----
  780. .. _class_ParticlesMaterial_method_get_param_texture:
  781. - :ref:`Texture<class_Texture>` **get_param_texture** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param **)** const
  782. ----
  783. .. _class_ParticlesMaterial_method_set_flag:
  784. - void **set_flag** **(** :ref:`Flags<enum_ParticlesMaterial_Flags>` flag, :ref:`bool<class_bool>` enable **)**
  785. ----
  786. .. _class_ParticlesMaterial_method_set_param:
  787. - void **set_param** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` value **)**
  788. ----
  789. .. _class_ParticlesMaterial_method_set_param_randomness:
  790. - void **set_param_randomness** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`float<class_float>` randomness **)**
  791. ----
  792. .. _class_ParticlesMaterial_method_set_param_texture:
  793. - void **set_param_texture** **(** :ref:`Parameter<enum_ParticlesMaterial_Parameter>` param, :ref:`Texture<class_Texture>` texture **)**