### 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
actions.render_mode_flags["use_quarter_res_pass"] = &uses_quarter_res;
	actions.usage_flag_pointers["TIME"] = &uses_time;
*/
	actions.usage_flag_pointers["COLLIDED"] = &uses_collision;
	userdata_count = 0;
	for (uint32_t i = 0; i < ParticlesShader::MAX_USERDATAS; i++) {
		userdatas_used[i] = false;
		actions.usage_flag_pointers["USERDATA" + itos(i + 1)] = &userdatas_used[i];
	}
	actions.uniforms = &uniforms;
	Error err = particles_storage->particles_shader.compiler.compile(RS::SHADER_PARTICLES, code, &actions, path, gen_code);
	ERR_FAIL_COND_MSG(err != OK, "Shader compilation failed.");
	if (version.is_null()) {
		version = particles_storage->particles_shader.shader.version_create();
	}
	for (uint32_t i = 0; i < ParticlesShader::MAX_USERDATAS; i++) {
		if (userdatas_used[i]) {
			userdata_count++;
		}
	}
	particles_storage->particles_shader.shader.version_set_compute_code(version, gen_code.code, gen_code.uniforms, gen_code.stage_globals[ShaderCompiler::STAGE_COMPUTE], gen_code.defines);
	ERR_FAIL_COND(!particles_storage->particles_shader.shader.version_is_valid(version));
	ubo_size = gen_code.uniform_total_size;
	ubo_offsets = gen_code.uniform_offsets;
	texture_uniforms = gen_code.texture_uniforms;
	
	pipeline = RD::get_singleton()->compute_pipeline_create(particles_storage->particles_shader.shader.version_get_shader(version, 0));
	valid = true;
}
bool ParticlesStorage::ParticlesShaderData::is_animated() const {