Particles::Particles() { particles = VisualServer::get_singleton()->particles_create(); timer = memnew(Timer); add_child(timer); emit_timeout = 0; set_amount(64); set_emitting(true); set_visibility_aabb(AABB( Vector3(-4,-4,-4), Vector3(8,8,8) ) ); for (int i=0;i<VAR_MAX;i++) { set_randomness((Variable)i,0.0); } set_variable( VAR_LIFETIME, 5.0); set_variable( VAR_SPREAD, 0.2); set_variable( VAR_GRAVITY, 9.8); set_variable( VAR_LINEAR_VELOCITY, 0.2); set_variable( VAR_ANGULAR_VELOCITY, 0.0); set_variable( VAR_LINEAR_ACCELERATION, 0.0); set_variable( VAR_DRAG, 0.0); set_variable( VAR_TANGENTIAL_ACCELERATION, 0.0); set_variable( VAR_DAMPING, 0.0); set_variable( VAR_INITIAL_SIZE, 1.0); set_variable( VAR_FINAL_SIZE, 1.0); set_variable( VAR_INITIAL_ANGLE, 0.0); set_variable( VAR_HEIGHT, 1.0); set_variable( VAR_HEIGHT_SPEED_SCALE, 0.0); color_phase_count=0; set_color_phase_pos(0,0.0); set_color_phase_pos(1,1.0); set_color_phase_pos(2,1.0); set_color_phase_pos(3,1.0); set_color_phase_color(0,Color(1,1,1)); set_color_phase_color(1,Color(0,0,0)); set_color_phase_color(2,Color(0,0,0)); set_color_phase_color(3,Color(0,0,0)); set_gravity_normal(Vector3(0,-1.0,0)); set_emission_half_extents(Vector3(0.1,0.1,0.1)); height_from_velocity=false; Vector<Variant> pars; pars.push_back(false); timer->connect("timeout", this, "set_emitting", pars); set_base(particles); local_coordinates=false; }
Particles2D::Particles2D() { for(int i=0;i<PARAM_MAX;i++) { param[i]=0; randomness[i]=0; } set_param(PARAM_SPREAD,10); set_param(PARAM_LINEAR_VELOCITY,20); set_param(PARAM_GRAVITY_STRENGTH,9.8); set_param(PARAM_RADIAL_ACCEL,0); set_param(PARAM_TANGENTIAL_ACCEL,0); set_param(PARAM_INITIAL_ANGLE,0.0); set_param(PARAM_INITIAL_SIZE,1.0); set_param(PARAM_FINAL_SIZE,1.0); set_param(PARAM_ANIM_SPEED_SCALE,1.0); time=0; lifetime=2; emitting=false; particles.resize(32); active_count=-1; set_emitting(true); local_space=true; preprocess=0; time_scale=1.0; color_phase_count=1; set_color_phase_pos(0,0.0); set_color_phase_pos(1,1.0); set_color_phase_pos(2,1.0); set_color_phase_pos(3,1.0); set_color_phase_color(0,Color(1,1,1)); set_color_phase_color(1,Color(0,0,0)); set_color_phase_color(2,Color(0,0,0)); set_color_phase_color(3,Color(0,0,0)); flip_h=false; flip_v=false; v_frames=1; h_frames=1; emit_timeout = 0; time_to_live = 0; explosiveness=1.0; }
Particles2D::Particles2D() { particles = VS::get_singleton()->particles_create(); set_emitting(true); set_one_shot(false); set_amount(8); set_lifetime(1); set_fixed_fps(0); set_fractional_delta(true); set_pre_process_time(0); set_explosiveness_ratio(0); set_randomness_ratio(0); set_visibility_rect(Rect2(Vector2(-100, -100), Vector2(200, 200))); set_use_local_coordinates(true); set_draw_order(DRAW_ORDER_INDEX); set_speed_scale(1); h_frames = 1; v_frames = 1; }