add wind fade in/out + add wire movement when is windy

This commit is contained in:
2026-04-21 15:16:30 +02:00
parent 9a26a4114b
commit f5a38bd8a0
11 changed files with 130 additions and 40 deletions

View File

@@ -5,6 +5,7 @@ global uniform float global_wind_speed;
global uniform vec2 global_wind_direction;
global uniform float global_wind_scale;
global uniform float global_wind_strength;
global uniform float global_wind_fade;
global uniform float global_snow_start_time;
global uniform float global_snow_accumulation_speed;
global uniform float global_snow_melt_time;
@@ -43,12 +44,12 @@ void vertex() {
vec3 instance_pos = MODEL_MATRIX[3].xyz;
float total_angle = radians(rotation_degrees);
if (wind_enabled && global_wind_speed > 0.0 && global_wind_strength > 0.0) {
if (wind_enabled && global_wind_speed > 0.0 && global_wind_strength > 0.0 && global_wind_fade > 0.0) {
float time = TIME * global_wind_speed;
vec2 noise_uv = (instance_pos.xz * global_wind_scale) + (time * global_wind_direction * 0.5);
float noise_val = textureLod(wind_noise, noise_uv, 2.0).r;
float sway = sin(time + (noise_val * 10.0));
total_angle += (sway * global_wind_strength);
total_angle += (sway * global_wind_strength * global_wind_fade);
}
float h_factor = clamp((instance_pos.y - height_min) / (height_max - height_min), 0.0, 1.0);