From 8c223270f28fa8d00c706dfb38bb12c25214695e Mon Sep 17 00:00:00 2001 From: Thaddeus Crews Date: Tue, 10 Feb 2026 09:58:58 -0600 Subject: [PATCH] Revert "Change curve range for particle multipliers" This reverts commit c6021f1e5b78e688ea013935c4c630093b785102. (cherry picked from commit ba5a0758e9a492e87dc79b057cc3c7119e055eec) --- scene/2d/cpu_particles_2d.cpp | 45 +++++++++++++------ scene/3d/cpu_particles_3d.cpp | 45 +++++++++++++------ scene/resources/particle_process_material.cpp | 38 ++++++++-------- 3 files changed, 82 insertions(+), 46 deletions(-) diff --git a/scene/2d/cpu_particles_2d.cpp b/scene/2d/cpu_particles_2d.cpp index c4e7f03894..c897a5b700 100644 --- a/scene/2d/cpu_particles_2d.cpp +++ b/scene/2d/cpu_particles_2d.cpp @@ -396,25 +396,42 @@ void CPUParticles2D::set_param_curve(Parameter p_param, const Ref &p_curv curve_parameters[p_param] = p_curve; switch (p_param) { - case PARAM_ANGULAR_VELOCITY: - case PARAM_ORBIT_VELOCITY: - case PARAM_LINEAR_ACCEL: - case PARAM_RADIAL_ACCEL: - case PARAM_TANGENTIAL_ACCEL: - case PARAM_ANGLE: + case PARAM_INITIAL_LINEAR_VELOCITY: { + //do none for this one + } break; + case PARAM_ANGULAR_VELOCITY: { + _adjust_curve_range(p_curve, -360, 360); + } break; + case PARAM_ORBIT_VELOCITY: { + _adjust_curve_range(p_curve, -500, 500); + } break; + case PARAM_LINEAR_ACCEL: { + _adjust_curve_range(p_curve, -200, 200); + } break; + case PARAM_RADIAL_ACCEL: { + _adjust_curve_range(p_curve, -200, 200); + } break; + case PARAM_TANGENTIAL_ACCEL: { + _adjust_curve_range(p_curve, -200, 200); + } break; + case PARAM_DAMPING: { + _adjust_curve_range(p_curve, 0, 100); + } break; + case PARAM_ANGLE: { + _adjust_curve_range(p_curve, -360, 360); + } break; + case PARAM_SCALE: { + } break; case PARAM_HUE_VARIATION: { _adjust_curve_range(p_curve, -1, 1); } break; - case PARAM_DAMPING: - case PARAM_SCALE: - case PARAM_ANIM_SPEED: + case PARAM_ANIM_SPEED: { + _adjust_curve_range(p_curve, 0, 200); + } break; case PARAM_ANIM_OFFSET: { - _adjust_curve_range(p_curve, 0, 1); - } break; - case PARAM_INITIAL_LINEAR_VELOCITY: - case PARAM_MAX: { - // No curve available. } break; + default: { + } } update_configuration_warnings(); diff --git a/scene/3d/cpu_particles_3d.cpp b/scene/3d/cpu_particles_3d.cpp index 62cfb2169c..d8f158a2d3 100644 --- a/scene/3d/cpu_particles_3d.cpp +++ b/scene/3d/cpu_particles_3d.cpp @@ -336,25 +336,42 @@ void CPUParticles3D::set_param_curve(Parameter p_param, const Ref &p_curv curve_parameters[p_param] = p_curve; switch (p_param) { - case PARAM_ANGULAR_VELOCITY: - case PARAM_ORBIT_VELOCITY: - case PARAM_LINEAR_ACCEL: - case PARAM_RADIAL_ACCEL: - case PARAM_TANGENTIAL_ACCEL: - case PARAM_ANGLE: + case PARAM_INITIAL_LINEAR_VELOCITY: { + //do none for this one + } break; + case PARAM_ANGULAR_VELOCITY: { + _adjust_curve_range(p_curve, -360, 360); + } break; + case PARAM_ORBIT_VELOCITY: { + _adjust_curve_range(p_curve, -500, 500); + } break; + case PARAM_LINEAR_ACCEL: { + _adjust_curve_range(p_curve, -200, 200); + } break; + case PARAM_RADIAL_ACCEL: { + _adjust_curve_range(p_curve, -200, 200); + } break; + case PARAM_TANGENTIAL_ACCEL: { + _adjust_curve_range(p_curve, -200, 200); + } break; + case PARAM_DAMPING: { + _adjust_curve_range(p_curve, 0, 100); + } break; + case PARAM_ANGLE: { + _adjust_curve_range(p_curve, -360, 360); + } break; + case PARAM_SCALE: { + } break; case PARAM_HUE_VARIATION: { _adjust_curve_range(p_curve, -1, 1); } break; - case PARAM_DAMPING: - case PARAM_SCALE: - case PARAM_ANIM_SPEED: + case PARAM_ANIM_SPEED: { + _adjust_curve_range(p_curve, 0, 200); + } break; case PARAM_ANIM_OFFSET: { - _adjust_curve_range(p_curve, 0, 1); - } break; - case PARAM_INITIAL_LINEAR_VELOCITY: - case PARAM_MAX: { - // No curve available. } break; + default: { + } } update_configuration_warnings(); diff --git a/scene/resources/particle_process_material.cpp b/scene/resources/particle_process_material.cpp index 580f3caca5..d87b7a9f2b 100644 --- a/scene/resources/particle_process_material.cpp +++ b/scene/resources/particle_process_material.cpp @@ -1461,34 +1461,37 @@ void ParticleProcessMaterial::set_param_texture(Parameter p_param, const Refget_rid()) : Variant(); switch (p_param) { + case PARAM_INITIAL_LINEAR_VELOCITY: { + //do none for this one + } break; case PARAM_ANGULAR_VELOCITY: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->angular_velocity_texture, tex_rid); - _adjust_curve_range(p_texture, -1, 1); + _adjust_curve_range(p_texture, -360, 360); } break; case PARAM_ORBIT_VELOCITY: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->orbit_velocity_texture, tex_rid); - _adjust_curve_range(p_texture, -1, 1); + _adjust_curve_range(p_texture, -2, 2); notify_property_list_changed(); } break; case PARAM_LINEAR_ACCEL: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->linear_accel_texture, tex_rid); - _adjust_curve_range(p_texture, -1, 1); + _adjust_curve_range(p_texture, -200, 200); } break; case PARAM_RADIAL_ACCEL: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->radial_accel_texture, tex_rid); - _adjust_curve_range(p_texture, -1, 1); + _adjust_curve_range(p_texture, -200, 200); } break; case PARAM_TANGENTIAL_ACCEL: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->tangent_accel_texture, tex_rid); - _adjust_curve_range(p_texture, -1, 1); + _adjust_curve_range(p_texture, -200, 200); } break; case PARAM_DAMPING: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->damping_texture, tex_rid); - _adjust_curve_range(p_texture, 0, 1); + _adjust_curve_range(p_texture, 0, 100); } break; case PARAM_ANGLE: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->angle_texture, tex_rid); - _adjust_curve_range(p_texture, -1, 1); + _adjust_curve_range(p_texture, -360, 360); } break; case PARAM_SCALE: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->scale_texture, tex_rid); @@ -1500,36 +1503,35 @@ void ParticleProcessMaterial::set_param_texture(Parameter p_param, const Refmaterial_set_param(_get_material(), shader_names->anim_speed_texture, tex_rid); - _adjust_curve_range(p_texture, 0, 1); + _adjust_curve_range(p_texture, 0, 200); } break; case PARAM_ANIM_OFFSET: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->anim_offset_texture, tex_rid); - _adjust_curve_range(p_texture, 0, 1); } break; case PARAM_TURB_INFLUENCE_OVER_LIFE: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->turbulence_influence_over_life, tex_rid); _adjust_curve_range(p_texture, 0, 1); } break; + case PARAM_TURB_VEL_INFLUENCE: { + // Can't happen, but silences warning + } break; + case PARAM_TURB_INIT_DISPLACEMENT: { + // Can't happen, but silences warning + } break; case PARAM_RADIAL_VELOCITY: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->radial_velocity_texture, tex_rid); - _adjust_curve_range(p_texture, 0, 1); } break; case PARAM_SCALE_OVER_VELOCITY: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->scale_over_velocity_texture, tex_rid); - _adjust_curve_range(p_texture, 0, 1); + _adjust_curve_range(p_texture, 0, 3); notify_property_list_changed(); } break; case PARAM_DIRECTIONAL_VELOCITY: { RenderingServer::get_singleton()->material_set_param(_get_material(), shader_names->directional_velocity_texture, tex_rid); - _adjust_curve_range(p_texture, 0, 1); notify_property_list_changed(); } break; - case PARAM_INITIAL_LINEAR_VELOCITY: - case PARAM_TURB_VEL_INFLUENCE: - case PARAM_TURB_INIT_DISPLACEMENT: - case PARAM_MAX: { - // No curve available. - } break; + case PARAM_MAX: + break; // Can't happen, but silences warning } _queue_shader_change();