ParticlesMaterial.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="ParticlesMaterial" inherits="Material" category="Core" version="3.1">
  3. <brief_description>
  4. Particle properties for [Particles] and [Particles2D] nodes.
  5. </brief_description>
  6. <description>
  7. ParticlesMaterial defines particle properties and behavior. It is used in the [code]process_material[/code] of [Particles] and [Particles2D] emitter nodes.
  8. Some of this material's properties are applied to each particle when emitted, while others can have a [CurveTexture] applied to vary values over the lifetime of the particle.
  9. </description>
  10. <tutorials>
  11. </tutorials>
  12. <demos>
  13. </demos>
  14. <methods>
  15. </methods>
  16. <members>
  17. <member name="angle" type="float" setter="set_param" getter="get_param">
  18. Initial rotation applied to each particle.
  19. </member>
  20. <member name="angle_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  21. Each particle's rotation will be animated along this [CurveTexture].
  22. </member>
  23. <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  24. Rotation randomness ratio. Default value: [code]0[/code].
  25. </member>
  26. <member name="angular_velocity" type="float" setter="set_param" getter="get_param">
  27. Initial angular velocity applied to each particle.
  28. </member>
  29. <member name="angular_velocity_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  30. Each particle's angular velocity will vary along this [CurveTexture].
  31. </member>
  32. <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  33. Angular velocity randomness ratio. Default value: [code]0[/code].
  34. </member>
  35. <member name="anim_offset" type="float" setter="set_param" getter="get_param">
  36. Particle animation offset.
  37. </member>
  38. <member name="anim_offset_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  39. Each particle's animation offset will vary along this [CurveTexture].
  40. </member>
  41. <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  42. Animation offset randomness ratio. Default value: [code]0[/code].
  43. </member>
  44. <member name="anim_speed" type="float" setter="set_param" getter="get_param">
  45. Particle animation speed.
  46. </member>
  47. <member name="anim_speed_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  48. Each particle's animation speed will vary along this [CurveTexture].
  49. </member>
  50. <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  51. Animation speed randomness ratio. Default value: [code]0[/code].
  52. </member>
  53. <member name="color" type="Color" setter="set_color" getter="get_color">
  54. Each particle's initial color. If the [Particle2D]'s [code]texture[/code] is defined, it will be multiplied by this color.
  55. </member>
  56. <member name="color_ramp" type="Texture" setter="set_color_ramp" getter="get_color_ramp">
  57. Each particle's color will vary along this [GradientTexture].
  58. </member>
  59. <member name="damping" type="float" setter="set_param" getter="get_param">
  60. The rate at which particles lose velocity.
  61. </member>
  62. <member name="damping_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  63. Damping will vary along this [CurveTexture].
  64. </member>
  65. <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  66. Damping randomness ratio. Default value: [code]0[/code].
  67. </member>
  68. <member name="emission_box_extents" type="Vector3" setter="set_emission_box_extents" getter="get_emission_box_extents">
  69. The box's extents if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_BOX[/code].
  70. </member>
  71. <member name="emission_color_texture" type="Texture" setter="set_emission_color_texture" getter="get_emission_color_texture">
  72. </member>
  73. <member name="emission_normal_texture" type="Texture" setter="set_emission_normal_texture" getter="get_emission_normal_texture">
  74. </member>
  75. <member name="emission_point_count" type="int" setter="set_emission_point_count" getter="get_emission_point_count">
  76. The number of emission points if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_POINTS[/code] or [code]EMISSION_SHAPE_DIRECTED_POINTS[/code].
  77. </member>
  78. <member name="emission_point_texture" type="Texture" setter="set_emission_point_texture" getter="get_emission_point_texture">
  79. </member>
  80. <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="ParticlesMaterial.EmissionShape">
  81. Particles will be emitted inside this region. Use [code]EMISSION_SHAPE_*[/code] constants for values. Default value: [code]EMISSION_SHAPE_POINT[/code].
  82. </member>
  83. <member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius">
  84. The sphere's radius if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_SPHERE[/code].
  85. </member>
  86. <member name="flag_align_y" type="bool" setter="set_flag" getter="get_flag">
  87. </member>
  88. <member name="flag_disable_z" type="bool" setter="set_flag" getter="get_flag">
  89. If [code]true[/code], particles will not move on the z axis. Default value: [code]true[/code] for [Particles2D], [code]false[/code] for [Particles].
  90. </member>
  91. <member name="flag_rotate_y" type="bool" setter="set_flag" getter="get_flag">
  92. </member>
  93. <member name="flatness" type="float" setter="set_flatness" getter="get_flatness">
  94. </member>
  95. <member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity">
  96. Gravity applied to every particle. Default value: [code](0, 98, 0)[/code].
  97. </member>
  98. <member name="hue_variation" type="float" setter="set_param" getter="get_param">
  99. Initial hue variation applied to each particle.
  100. </member>
  101. <member name="hue_variation_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  102. Each particle's hue will vary along this [CurveTexture].
  103. </member>
  104. <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  105. Hue variation randomness ratio. Default value: [code]0[/code].
  106. </member>
  107. <member name="initial_velocity" type="float" setter="set_param" getter="get_param">
  108. Initial velocity for each particle.
  109. </member>
  110. <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  111. Initial velocity randomness ratio. Default value: [code]0[/code].
  112. </member>
  113. <member name="linear_accel" type="float" setter="set_param" getter="get_param">
  114. Linear acceleration applied to each particle.
  115. </member>
  116. <member name="linear_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  117. Each particle's linear acceleration will vary along this [CurveTexture].
  118. </member>
  119. <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  120. Linear acceleration randomness ratio. Default value: [code]0[/code].
  121. </member>
  122. <member name="orbit_velocity" type="float" setter="set_param" getter="get_param">
  123. Orbital velocity applied to each particle.
  124. </member>
  125. <member name="orbit_velocity_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  126. Each particle's orbital velocity will vary along this [CurveTexture].
  127. </member>
  128. <member name="orbit_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  129. Orbital velocity randomness ratio. Default value: [code]0[/code].
  130. </member>
  131. <member name="radial_accel" type="float" setter="set_param" getter="get_param">
  132. Radial acceleration applied to each particle.
  133. </member>
  134. <member name="radial_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  135. Each particle's radial acceleration will vary along this [CurveTexture].
  136. </member>
  137. <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  138. Radial acceleration randomness ratio. Default value: [code]0[/code].
  139. </member>
  140. <member name="scale" type="float" setter="set_param" getter="get_param">
  141. Initial scale applied to each particle.
  142. </member>
  143. <member name="scale_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  144. Each particle's scale will vary along this [CurveTexture].
  145. </member>
  146. <member name="scale_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  147. Scale randomness ratio. Default value: [code]0[/code].
  148. </member>
  149. <member name="spread" type="float" setter="set_spread" getter="get_spread">
  150. Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Default value: [code]45[/code].
  151. </member>
  152. <member name="tangential_accel" type="float" setter="set_param" getter="get_param">
  153. Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity.
  154. </member>
  155. <member name="tangential_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
  156. Each particle's tangential acceleration will vary along this [CurveTexture].
  157. </member>
  158. <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
  159. Tangential acceleration randomness ratio. Default value: [code]0[/code].
  160. </member>
  161. <member name="trail_color_modifier" type="GradientTexture" setter="set_trail_color_modifier" getter="get_trail_color_modifier">
  162. Trail particles' color will vary along this [GradientTexture].
  163. </member>
  164. <member name="trail_divisor" type="int" setter="set_trail_divisor" getter="get_trail_divisor">
  165. Emitter will emit [code]amount[/code] divided by [code]trail_divisor[/code] particles. The remaining particles will be used as trail(s).
  166. </member>
  167. <member name="trail_size_modifier" type="CurveTexture" setter="set_trail_size_modifier" getter="get_trail_size_modifier">
  168. Trail particles' size will vary along this [CurveTexture].
  169. </member>
  170. </members>
  171. <constants>
  172. <constant name="PARAM_INITIAL_LINEAR_VELOCITY" value="0" enum="Parameter">
  173. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set initial velocity properties.
  174. </constant>
  175. <constant name="PARAM_ANGULAR_VELOCITY" value="1" enum="Parameter">
  176. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set angular velocity properties.
  177. </constant>
  178. <constant name="PARAM_ORBIT_VELOCITY" value="2" enum="Parameter">
  179. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set orbital_velocity properties.
  180. </constant>
  181. <constant name="PARAM_LINEAR_ACCEL" value="3" enum="Parameter">
  182. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set linear acceleration properties.
  183. </constant>
  184. <constant name="PARAM_RADIAL_ACCEL" value="4" enum="Parameter">
  185. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set radial acceleration properties.
  186. </constant>
  187. <constant name="PARAM_TANGENTIAL_ACCEL" value="5" enum="Parameter">
  188. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set tangential acceleration properties.
  189. </constant>
  190. <constant name="PARAM_DAMPING" value="6" enum="Parameter">
  191. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set damping properties.
  192. </constant>
  193. <constant name="PARAM_ANGLE" value="7" enum="Parameter">
  194. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set angle properties.
  195. </constant>
  196. <constant name="PARAM_SCALE" value="8" enum="Parameter">
  197. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set scale properties.
  198. </constant>
  199. <constant name="PARAM_HUE_VARIATION" value="9" enum="Parameter">
  200. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set hue_variation properties.
  201. </constant>
  202. <constant name="PARAM_ANIM_SPEED" value="10" enum="Parameter">
  203. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set animation speed properties.
  204. </constant>
  205. <constant name="PARAM_ANIM_OFFSET" value="11" enum="Parameter">
  206. Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set animation offset properties.
  207. </constant>
  208. <constant name="PARAM_MAX" value="12" enum="Parameter">
  209. </constant>
  210. <constant name="FLAG_ALIGN_Y_TO_VELOCITY" value="0" enum="Flags">
  211. Use with [method set_flag] to set [member flag_align_y].
  212. </constant>
  213. <constant name="FLAG_ROTATE_Y" value="1" enum="Flags">
  214. Use with [method set_flag] to set [member flag_rotate_y]
  215. </constant>
  216. <constant name="FLAG_MAX" value="3" enum="Flags">
  217. </constant>
  218. <constant name="EMISSION_SHAPE_POINT" value="0" enum="EmissionShape">
  219. All particles will be emitted from a single point.
  220. </constant>
  221. <constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
  222. Particles will be emitted in the volume of a sphere.
  223. </constant>
  224. <constant name="EMISSION_SHAPE_BOX" value="2" enum="EmissionShape">
  225. Particles will be emitted in the volume of a box.
  226. </constant>
  227. <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
  228. </constant>
  229. <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
  230. </constant>
  231. </constants>
  232. </class>