跳转至

Particles

继承

GeometryInstance

简要描述

3D粒子发射器。

描述

用于创建各种粒子系统和效果的3D粒子节点。 Particles具有发射器,该发射器以给定的速率生成一定数量的粒子。

使用process_material属性添加ParticlesMaterial以配置粒子外观和行为。另外,您可以添加一个ShaderMaterial并将其应用于所有粒子

成员

类型 属性名 默认值
int amount 8
int draw_order 0
Mesh draw_pass_1
Mesh draw_pass_2
Mesh draw_pass_3
Mesh draw_pass_4
int draw_passes 1
bool emitting true
float explosiveness 0.0
int fixed_fps 0
bool fract_delta true
float lifetime 1.0
bool local_coords true
bool one_shot false
float preprocess 0.0
Material process_material
float randomness 0.0
float speed_scale 1.0
AABB visibility_aabb AABB( -4, -4, -4, 8, 8, 8 )

方法

返回值类型 方法名称
AABB capture_aabb() const
Mesh get_draw_pass_mesh(pass: int) const
void restart()
void set_draw_pass_mesh(pass: int, mesh: Mesh)
##枚举
enum DrawOrder:
- DRAW_ORDER_INDEX = 0

粒子按发射顺序绘制。

  • DRAW_ORDER_LIFETIME = 1

按照剩余寿命的顺序绘制粒子。

  • DRAW_ORDER_VIEW_DEPTH = 2

粒子按深度顺序绘制。


常量

  • MAX_DRAW_PASSES = 4

支持的最大绘制过程数。

成员说明

  • int amount
Default 8
setter set_amount(value)
getter get_amount
  • int draw_order
Default 0
setter set_draw_order(value)
getter get_draw_order
  • Mesh draw_pass_1
setter set_draw_pass_mesh(value)
getter get_draw_pass_mesh
  • Mesh draw_pass_2
setter set_draw_pass_mesh(value)
getter get_draw_pass_mesh
  • Mesh draw_pass_3
setter set_draw_pass_mesh(value)
getter get_draw_pass_mesh
  • Mesh draw_pass_4
setter set_draw_pass_mesh(value)
getter get_draw_pass_mesh
  • int draw_passes
Default 1
setter set_draw_passes(value)
getter get_draw_passes
  • bool emitting
Default true
setter set_emitting(value)
getter is_emitting
  • float explosiveness
Default 0.0
setter set_explosiveness_ratio(value)
getter get_explosiveness_ratio
  • int fixed_fps
Default 0
setter set_fixed_fps(value)
getter get_fixed_fps
  • bool fract_delta
Default true
setter set_fractional_delta(value)
getter get_fractional_delta
  • float lifetime
Default 1.0
setter set_lifetime(value)
getter get_lifetime
  • bool local_coords
Default true
setter set_use_local_coordinates(value)
getter get_use_local_coordinates
  • bool one_shot
Default false
setter set_one_shot(value)
getter get_one_shot
  • float preprocess
Default 0.0
setter set_pre_process_time(value)
getter get_pre_process_time
  • Material process_material
setter set_process_material(value)
getter get_process_material
  • float randomness
Default 0.0
setter set_randomness_ratio(value)
getter get_randomness_ratio
  • float speed_scale
Default 1.0
setter set_speed_scale(value)
getter get_speed_scale
  • AABB visibility_aabb
Default AABB( -4, -4, -4, 8, 8, 8 )
setter set_visibility_aabb(value)
getter get_visibility_aabb

方法说明

  • capture_aabb capture_aabb() const

返回与轴对齐的边界框,其中包含当前帧中所有活动的粒子。


  • get_draw_pass_mesh get_draw_pass_mesh(pass: int) const

返回在索引pass处绘制的Mesh


  • restart restart()

重新启动粒子发射,清除现有粒子。


  • set_draw_pass_mesh set_draw_pass_mesh(pass: int, mesh: Mesh)

设置在索引pass处绘制的Mesh