### Godot version

v4.1.rc1.official [1f9e540f1]

### System information

Godot v4.1.rc1 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 960 (NVIDIA; 31.0.15.3623) - AMD FX(tm)-6300 Six-Core Processor (6 Threads)

### Issue description

When damping is used and a particle is fully stopped, it gets new shape, color, angular velocity, etc. It looks like it's being recreated from scratch.

### Steps to reproduce

1. Run the project.
2. Open block_hit_particles.tscn.

### Minimal reproduction project

[Bugged Particles.zip](https://github.com/godotengine/godot/files/11887286/Bugged.Particles.zip)

shader_names->turbulence_influence_over_life = "turbulence_influence_over_life";
	shader_names->turbulence_influence_min = "turbulence_influence_min";
	shader_names->turbulence_influence_max = "turbulence_influence_max";
	shader_names->turbulence_initial_displacement_min = "turbulence_initial_displacement_min";
	shader_names->turbulence_initial_displacement_max = "turbulence_initial_displacement_max";
	shader_names->gravity = "gravity";
	shader_names->lifetime_randomness = "lifetime_randomness";
	shader_names->sub_emitter_frequency = "sub_emitter_frequency";
	shader_names->sub_emitter_amount_at_end = "sub_emitter_amount_at_end";
	shader_names->sub_emitter_amount_at_collision = "sub_emitter_amount_at_collision";
	shader_names->sub_emitter_keep_velocity = "sub_emitter_keep_velocity";
	shader_names->collision_friction = "collision_friction";
	shader_names->collision_bounce = "collision_bounce";
}
void ParticleProcessMaterial::finish_shaders() {
	memdelete(dirty_materials);
	dirty_materials = nullptr;
	memdelete(shader_names);
}
void ParticleProcessMaterial::_update_shader() {
	dirty_materials->remove(&element);
	MaterialKey mk = _compute_key();
	if (mk.key == current_key.key) {
		return; 
	}
	if (shader_map.has(current_key)) {
		shader_map[current_key].users--;
		if (shader_map[current_key].users == 0) {
			
			RS::get_singleton()->free(shader_map[current_key].shader);