### 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
}
			Transform2D revert = xform.affine_inverse();
			frame_params.collider_count = 1;
			frame_params.colliders[0].transform[0] = xform.columns[0][0];
			frame_params.colliders[0].transform[1] = xform.columns[0][1];
			frame_params.colliders[0].transform[2] = 0;
			frame_params.colliders[0].transform[3] = xform.columns[2][0];
			frame_params.colliders[0].transform[4] = xform.columns[1][0];
			frame_params.colliders[0].transform[5] = xform.columns[1][1];
			frame_params.colliders[0].transform[6] = 0;
			frame_params.colliders[0].transform[7] = xform.columns[2][1];
			frame_params.colliders[0].transform[8] = revert.columns[0][0];
			frame_params.colliders[0].transform[9] = revert.columns[0][1];
			frame_params.colliders[0].transform[10] = 0;
			frame_params.colliders[0].transform[11] = revert.columns[2][0];
			frame_params.colliders[0].transform[12] = revert.columns[1][0];
			frame_params.colliders[0].transform[13] = revert.columns[1][1];
			frame_params.colliders[0].transform[14] = 0;
			frame_params.colliders[0].transform[15] = revert.columns[2][1];
			frame_params.colliders[0].extents[0] = p_particles->sdf_collision_to_screen.size.x;
			frame_params.colliders[0].extents[1] = p_particles->sdf_collision_to_screen.size.y;
			frame_params.colliders[0].extents[2] = p_particles->sdf_collision_to_screen.position.x;
			frame_params.colliders[0].scale = p_particles->sdf_collision_to_screen.position.y;
			frame_params.colliders[0].texture_index = 0;
			frame_params.colliders[0].type = ParticlesFrameParams::COLLISION_TYPE_2D_SDF;
			collision_heightmap_texture = p_particles->sdf_collision_texture;
			
			for (ParticlesFrameParams &params : p_particles->frame_history) {
				if (params.collider_count > 0 && params.colliders[0].type == ParticlesFrameParams::COLLISION_TYPE_2D_SDF) {
					params.colliders[0] = frame_params.colliders[0];