From c47fff789051943b62755605c27d83cb2444c395 Mon Sep 17 00:00:00 2001 From: Matteo Sonaglioni Date: Fri, 19 Jun 2026 10:53:58 +0200 Subject: [PATCH] main menu - fix sky --- core/daynight/environment_management.tscn | 13 +-- tgcc/chunk/prop/cloud/cloud1.fbx | Bin 0 -> 59212 bytes tgcc/chunk/prop/cloud/cloud1.fbx.import | 44 ++++++++ tgcc/chunk/prop/cloud/cloud3d.gdshader | 39 +++++++ tgcc/chunk/prop/cloud/cloud3d.gdshader.uid | 1 + tgcc/chunk/prop/cloud/cloud_1.tscn | 20 ++++ tgcc/main menu/main_menu_test.tscn | 59 ++++++---- tgcc/main menu/sky_test.gdshader | 125 +++++++++++++++++++++ tgcc/main menu/sky_test.gdshader.uid | 1 + 9 files changed, 274 insertions(+), 28 deletions(-) create mode 100644 tgcc/chunk/prop/cloud/cloud1.fbx create mode 100644 tgcc/chunk/prop/cloud/cloud1.fbx.import create mode 100644 tgcc/chunk/prop/cloud/cloud3d.gdshader create mode 100644 tgcc/chunk/prop/cloud/cloud3d.gdshader.uid create mode 100644 tgcc/chunk/prop/cloud/cloud_1.tscn create mode 100644 tgcc/main menu/sky_test.gdshader create mode 100644 tgcc/main menu/sky_test.gdshader.uid diff --git a/core/daynight/environment_management.tscn b/core/daynight/environment_management.tscn index fce3e3a..2040821 100644 --- a/core/daynight/environment_management.tscn +++ b/core/daynight/environment_management.tscn @@ -56,16 +56,15 @@ rain_exposure_morning = 0.3 rain_exposure_afternoon = 0.4 rain_exposure_night = 1.8 storm_exposure_night = 1.8 -sky_top_morning = Color(0.11764706, 0.35686275, 0.5411765, 1) -sky_top_afternoon = Color(0.7019608, 0.4509804, 0.2, 1) -sky_top_night = Color(0.050980393, 0.050980393, 0.14901961, 1) -sky_horizon_morning = Color(0.4627451, 0.6745098, 0.8627451, 1) -sky_horizon_afternoon = Color(0.93333334, 0.6, 0.8039216, 1) -sky_horizon_night = Color(0.14901961, 0.101960786, 0.2509804, 1) +sky_top_morning = Color(0.3176695, 0.43165123, 0.8895605, 1) +sky_top_afternoon = Color(0.42314696, 0.32907307, 0.74664044, 1) +sky_top_night = Color(0.20675227, 0.20655477, 0.4437065, 1) +sky_horizon_afternoon = Color(0.96335155, 0.3563425, 0.1952039, 1) +sky_horizon_night = Color(0.13534775, 0.09013713, 0.2303626, 1) grad_top_morning = Color(0.7921569, 0.8784314, 0.95686275, 1) grad_top_afternoon = Color(0.8627451, 0.24313726, 0.5411765, 1) grad_top_night = Color(0.16470589, 0.16470589, 0.26666668, 1) -grad_bot_morning = Color(0.05882353, 0.078431375, 0.21568628, 1) +grad_bot_morning = Color(0.64469576, 0.7045768, 0.9350398, 1) grad_bot_afternoon = Color(0.2509804, 0.019607844, 0.043137256, 1) grad_intensity_morning = 0.05 grad_intensity_afternoon = 0.1 diff --git a/tgcc/chunk/prop/cloud/cloud1.fbx b/tgcc/chunk/prop/cloud/cloud1.fbx new file mode 100644 index 0000000000000000000000000000000000000000..e72f6a9166ec2cdbba7b8fbbb141276d1b0e1196 GIT binary patch literal 59212 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 0.0) { + + // Fixed Stars + vec3 star_pos = EYEDIR * star_density; + vec2 rnd = hash2(star_pos); + float star_shape = pow(rnd.x, star_rarity); + float scale_factor = mix(1.0, (rnd.y * 0.8 + 0.2), star_scale_variation); + star_shape *= scale_factor; + star_shape *= pow(sky_v, 2.0); // Le stelle si concentrano in alto lontano dall'orizzonte + + float twinkle_speed = TIME * (1.0 + rnd.y * 5.0); + float twinkle_phase = rnd.x * 100.0; + float twinkle = sin(twinkle_speed + twinkle_phase) * 0.25 + 0.75; + star_shape *= twinkle; + + final_sky += star_shape * star_fade; + + // Shooting Stars + if (shooting_star_density > 0.001) { + float time_scaled = TIME * shooting_star_speed; + float time_seed = floor(time_scaled); + float time_progress = fract(time_scaled); + vec3 shoot_rnd = hash3(time_seed); + + if (shoot_rnd.z < shooting_star_density * star_fade) { + vec3 center = normalize(vec3(shoot_rnd.x * 2.0 - 1.0, shoot_rnd.y * 0.6 + 0.4, shoot_rnd.z * 2.0 - 1.0)); + vec3 up = vec3(0.0, 1.0, 0.0); + vec3 tangent = normalize(cross(up, center)); + vec3 bitangent = cross(center, tangent); + + float random_angle = hash(vec3(time_seed)) * 6.28318; + float s = sin(random_angle); + float c = cos(random_angle); + + vec3 flight_axis = tangent * c - bitangent * s; + vec3 side_axis = tangent * s + bitangent * c; + + flight_axis.y *= 0.15; + flight_axis = normalize(flight_axis); + side_axis = normalize(cross(flight_axis, center)); + + float proj_x = dot(EYEDIR, side_axis); + float proj_y = dot(EYEDIR, flight_axis); + float proj_z = dot(EYEDIR, center); + + if (proj_z > 0.0) { + vec2 uv = vec2(proj_x, -proj_y) * shooting_star_scale; + uv.y += (time_progress - (shooting_star_lifetime * 0.5)) * shooting_star_travel_dist; + uv.x += 0.5; + + float bounds = step(0.0, uv.x) * step(uv.x, 1.0) * step(0.0, uv.y) * step(uv.y, 1.0); + + if (bounds > 0.5) { + float star_tex = texture(shooting_star_texture, uv).r; + float f_in = smoothstep(0.0, shooting_star_lifetime * 0.2, time_progress); + float f_out = 1.0 - smoothstep(shooting_star_lifetime * 0.7, shooting_star_lifetime, time_progress); + float fade = f_in * f_out; + final_sky += star_tex * shooting_star_color.rgb * star_fade * fade; + } + } + } + } + } + + COLOR = final_sky; +} \ No newline at end of file diff --git a/tgcc/main menu/sky_test.gdshader.uid b/tgcc/main menu/sky_test.gdshader.uid new file mode 100644 index 0000000..6fedaea --- /dev/null +++ b/tgcc/main menu/sky_test.gdshader.uid @@ -0,0 +1 @@ +uid://bneue3fq71vp8