### Godot version

4.0.1.stable

### System information

Manjaro Linux

### Issue description

As the title mentions, setting the property `trail_lifetime` of `GPUParticles3D` below 0.1 will - as defined in `servers/rendering/renderer_rd/storage_rd/particles_storage.cpp:424` - always result in the error message: 

`ERROR: Condition "p_length < 0.1" is true.`

This is true for setting it from the editor and from script. Since this is a hardcoded value, would it not be more user-friendly to limit the `p_length` and warn the user if they try to set it below this threshold? 

### Steps to reproduce

Create a scene with `GPUParticles3D` and set the property `trail_lifetime` below 0.1 from editor or script.

### Minimal reproduction project

Trivial
_particles_process(particles, 0.0);
			} else {
				_particles_process(particles, RendererCompositorRD::get_singleton()->get_frame_delta_time());
			}
		}
		
		DEV_ASSERT(!particles->clear);
		
		if (particles->draw_order != RS::PARTICLES_DRAW_ORDER_VIEW_DEPTH && particles->transform_align != RS::PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD && particles->transform_align != RS::PARTICLES_TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY) {
			
			ParticlesShader::CopyPushConstant copy_push_constant;
			int total_amount = particles->amount;
			if (particles->trails_enabled && particles->trail_bind_poses.size() > 1) {
				total_amount *= particles->trail_bind_poses.size();
			}
			
			if (particles->use_local_coords) {
				
				
				
				RendererRD::MaterialStorage::store_transform(Transform3D(), copy_push_constant.inv_emission_transform);
			} else {
				
				
				
				
				Transform3D inv = particles->emission_transform.affine_inverse();
				RendererRD::MaterialStorage::store_transform(inv, copy_push_constant.inv_emission_transform);
			}
			copy_push_constant.total_particles = total_amount;