### Godot version

4.1.dev3.official [a67d37f]

### System information

Windows 11 [Vulkan]

### Issue description

The work performed in #77154 drastically changed the visual characteristics of particle turbulence.  I am no longer able to get the same "turbulent" behaviour that existed before these changes - no matter which turbulence settings I change.  Please let me know if there's something I'm missing about the new implementation that would give this result.

![image](https://github.com/godotengine/godot/assets/8756569/05a338a3-140b-4353-ae11-62ec9714b3d1)


### Steps to reproduce

To reproduce this is fairly simple:

1. Create a GPUParticles2D Node
2. Emit a significant number of particles (I'm emitting 50,000)
3. Set Initial Velocity [Max] to around 250, and Direction Spread to 180.  Enable turbulence
4. Set the turbulence_influence_min property to 0.1 (default) and turbulence_influence_max to 1
5. Observe how the turbulence appears in v4.1.dev3.official with the changes in #77154 versus the previous build without these changes.  The new implementation just results in some minor particle "jitter", but not the actual turbulence that it's supposed to have.


### Minimal reproduction project

No sample project provided, as the reproduction is quite simple to replicate.
code += "	vec3 crossDiff = cross(normalize(diff), normalize(gravity));\n";
		code += "	force += length(crossDiff) > 0.0 ? normalize(crossDiff) * tangent_accel_val : vec3(0.0);\n";
	}
	if (attractor_interaction_enabled) {
		code += "	force += ATTRACTOR_FORCE;\n\n";
	}
	code += "	// apply attractor forces\n";
	code += "	VELOCITY += force * DELTA;\n";
	if (tex_parameters[PARAM_INITIAL_LINEAR_VELOCITY].is_valid()) {
		code += "	VELOCITY = normalize(VELOCITY) * tex_linear_velocity;\n";
	}
	
	if (turbulence_enabled) {
		code += "	// apply turbulence\n";
		if (tex_parameters[PARAM_TURB_INFLUENCE_OVER_LIFE].is_valid()) {
			code += "	float turbulence_influence = textureLod(turbulence_influence_over_life, vec2(tv, 0.0), 0.0).r;\n";
		} else {
			code += "	const float turbulence_influence = 1.0;\n";
		}
		code += "	\n";
		code += "	vec3 noise_direction = get_noise_direction(TRANSFORM[3].xyz);\n";
		
		
		
		String extra_tab = "";
		if (collision_mode != COLLISION_RIGID) {
			code += "	if (!COLLIDED) {\n";
			extra_tab = "	";
		}
		code += extra_tab + "	\n";