diff --git a/dynamic-sky/environment.tres b/dynamic-sky/environment.tres
index ffa8769..dc6fadf 100644
--- a/dynamic-sky/environment.tres
+++ b/dynamic-sky/environment.tres
@@ -110,7 +110,7 @@ shader_parameter/sky_bottom_color = Color(0.5, 0.6, 0.7, 1)
shader_parameter/gradient_intensity = 1.0
shader_parameter/horizon_blend = 0.5
shader_parameter/sun_glow_enabled = true
-shader_parameter/sun_direction = Vector3(0.81767046, 0.53474194, 0.21322787)
+shader_parameter/sun_direction = Vector3(-0.92782164, 0.34649342, 0.13816392)
shader_parameter/sun_glow_color = Color(1, 0.95, 0.85, 1)
shader_parameter/sun_glow_intensity = 0.3
shader_parameter/sun_glow_size = 0.2
diff --git a/dynamic-sky/scripts/dynamic_sky_root.gd b/dynamic-sky/scripts/dynamic_sky_root.gd
index 019dffb..d9963a4 100644
--- a/dynamic-sky/scripts/dynamic_sky_root.gd
+++ b/dynamic-sky/scripts/dynamic_sky_root.gd
@@ -40,6 +40,9 @@ var _debug_canvas_layer: CanvasLayer
func _ready() -> void:
+ if show_debug_panel && _debug_panel == null:
+ _create_debug_panel()
+
if auto_create_controllers:
_ensure_controllers_exist()
@@ -300,22 +303,16 @@ func _sync_post_process() -> void:
_current_config.sun_glow_intensity,
_current_config.sun_glow_size
)
- post_process_controller.set_fog_settings(
- _current_config.fog_color,
- _current_config.fog_density
- )
- post_process_controller.set_dawn_dusk_blend(0.0)
- post_process_controller.set_stars_visibility(
- _current_config.stars_visibility,
- _current_config.stars_tint
- )
- post_process_controller.set_sky_colors(
- _current_config.sky_top_color,
- _current_config.sky_horizon_color,
- _current_config.sky_bottom_color
- )
- post_process_controller.gradient_intensity = _current_config.gradient_intensity
post_process_controller.apply_config(_current_config)
+ post_process_controller.set_dawn_dusk_blend(0.0)
+ var cfg_fog_color := day_night_controller.get_fog_color()
+ var cfg_fog_density := day_night_controller.get_fog_density()
+ if weather_controller:
+ var wp := weather_controller.get_current_profile()
+ if wp:
+ cfg_fog_color *= wp.fog_color_multiplier
+ cfg_fog_density *= wp.fog_density_multiplier
+ post_process_controller.set_fog_settings(cfg_fog_color, cfg_fog_density)
else:
var sun_color := day_night_controller.get_sun_color()
post_process_controller.set_sun_glow(
@@ -464,8 +461,6 @@ func _sync_weather_vfx() -> void:
func _update_debug_info() -> void:
if Engine.is_editor_hint():
return
- if _debug_panel == null:
- _create_debug_panel()
_debug_panel.visible = true
@@ -494,7 +489,6 @@ func set_time_of_day(time: float) -> void:
func set_weather(state: WeatherProfile.WeatherState, transition_time: float = -1.0) -> void:
- _current_config = null
if weather_controller:
weather_controller.set_weather(state, transition_time)
diff --git a/dynamic-sky/scripts/sky_debug_panel.gd b/dynamic-sky/scripts/sky_debug_panel.gd
index 8727635..55936ae 100644
--- a/dynamic-sky/scripts/sky_debug_panel.gd
+++ b/dynamic-sky/scripts/sky_debug_panel.gd
@@ -201,7 +201,7 @@ func _update_labels() -> void:
if dynamic_sky.weather_controller.is_transitioning():
var progress := dynamic_sky.weather_controller.get_transition_progress()
- _weather_label.text += " (transitioning %.0f%%)" % (progress * 100)
+ _weather_label.text += " (transition %.0f%%)" % (progress * 100)
if dynamic_sky.weather_controller:
var rain := dynamic_sky.weather_controller.get_rain_intensity()
diff --git a/dynamic-sky/scripts/weather_vfx.gd b/dynamic-sky/scripts/weather_vfx.gd
index dc6559f..d651ac7 100644
--- a/dynamic-sky/scripts/weather_vfx.gd
+++ b/dynamic-sky/scripts/weather_vfx.gd
@@ -11,8 +11,8 @@ extends Node3D
@export_group("Snow")
@export var snow_amount: int = 2000
-@export var snow_area: Vector3 = Vector3(80.0, 30.0, 80.0)
-@export var snow_speed: float = 3.0
+@export var snow_area: Vector3 = Vector3(80.0, 12.0, 80.0)
+@export var snow_speed: float = 4.0
@export var snow_color: Color = Color(0.95, 0.95, 1.0, 0.8)
@export_group("Lightning")
@@ -159,7 +159,7 @@ func _create_snow_system() -> void:
_snow_particles = GPUParticles3D.new()
_snow_particles.name = "SnowParticles"
_snow_particles.amount = snow_amount
- _snow_particles.lifetime = snow_area.y / snow_speed * 2.5
+ _snow_particles.lifetime = snow_area.y / snow_speed * 2.0
_snow_particles.emitting = false
_snow_particles.visibility_aabb = AABB(-snow_area / 2.0, snow_area)
@@ -168,11 +168,11 @@ func _create_snow_system() -> void:
mat.spread = 15.0
mat.initial_velocity_min = snow_speed * 0.5
mat.initial_velocity_max = snow_speed * 1.0
- mat.gravity = Vector3(0.0, -1.0, 0.0)
+ mat.gravity = Vector3(0.0, -3, 0.0)
mat.emission_shape = ParticleProcessMaterial.EMISSION_SHAPE_BOX
- mat.emission_box_extents = Vector3(snow_area.x / 2.0, 0.5, snow_area.z / 2.0)
+ mat.emission_box_extents = Vector3(snow_area.x / 2.0, 1.0, snow_area.z / 2.0)
mat.turbulence_enabled = true
- mat.turbulence_noise_strength = 2.0
+ mat.turbulence_noise_strength = 1.5
mat.turbulence_noise_speed_random = 0.5
mat.turbulence_noise_scale = 4.0
_snow_particles.process_material = mat
@@ -184,7 +184,7 @@ func _create_snow_system() -> void:
_snow_material.set_shader_parameter("alpha_mult", 0.0)
var mesh := QuadMesh.new()
- mesh.size = Vector2(0.08, 0.08)
+ mesh.size = Vector2(0.12, 0.12)
mesh.material = _snow_material
_snow_particles.draw_pass_1 = mesh
diff --git a/export_presets.cfg b/export_presets.cfg
index cb6ede7..5bf666e 100644
--- a/export_presets.cfg
+++ b/export_presets.cfg
@@ -98,7 +98,7 @@ script_export_mode=2
custom_template/debug=""
custom_template/release=""
-variant/extensions_support=false
+variant/extensions_support=true
variant/thread_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
diff --git a/project.godot b/project.godot
index 0b5ed73..f7740d9 100644
--- a/project.godot
+++ b/project.godot
@@ -70,6 +70,11 @@ toggle_debug={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194334,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
+change_camera={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
[rendering]
diff --git a/resources/thomastanks_new.mp3 b/resources/thomastanks_new.mp3
deleted file mode 100644
index b0a50c2..0000000
Binary files a/resources/thomastanks_new.mp3 and /dev/null differ
diff --git a/resources/thomastanks_new.mp3.import b/resources/thomastanks_new.mp3.import
deleted file mode 100644
index 154c9d7..0000000
--- a/resources/thomastanks_new.mp3.import
+++ /dev/null
@@ -1,19 +0,0 @@
-[remap]
-
-importer="mp3"
-type="AudioStreamMP3"
-uid="uid://bdluyy5uodjb5"
-path="res://.godot/imported/thomastanks_new.mp3-faeee3575032f4283c1731a17141e11b.mp3str"
-
-[deps]
-
-source_file="res://resources/thomastanks_new.mp3"
-dest_files=["res://.godot/imported/thomastanks_new.mp3-faeee3575032f4283c1731a17141e11b.mp3str"]
-
-[params]
-
-loop=false
-loop_offset=0
-bpm=0
-beat_count=0
-bar_beats=4
diff --git a/scenes/trainjourney.tscn b/scenes/trainjourney.tscn
index 552b252..815cd13 100644
--- a/scenes/trainjourney.tscn
+++ b/scenes/trainjourney.tscn
@@ -111,7 +111,7 @@ text = "Comandi:
\"SPACE - Cambia camera\",
\"TAB - Cambia treno\",
\"ENTER - Fischio\",
-\"F3 - Debug Sky\",
+\"F3 - Dynamic Sky Debug\",
\"ESC - Esci\""
label_settings = SubResource("LabelSettings_tefeu")
diff --git a/scripts/trainjourney.gd b/scripts/trainjourney.gd
index 6a5de4b..418def3 100644
--- a/scripts/trainjourney.gd
+++ b/scripts/trainjourney.gd
@@ -30,6 +30,11 @@ func _ready() -> void:
train.track_generator = track_generator
camera.train = train
+ #hide debug panel for sky
+ var sky := get_node_or_null("DynamicSky") as DynamicSkyRoot
+ if sky and sky._debug_canvas_layer:
+ sky._debug_canvas_layer.visible = false
+
# Terreno
var ground = MeshInstance3D.new()
ground.name = "Ground"
diff --git a/scripts/trainjourney_camera.gd b/scripts/trainjourney_camera.gd
index 2f090a7..c7efcc5 100644
--- a/scripts/trainjourney_camera.gd
+++ b/scripts/trainjourney_camera.gd
@@ -34,7 +34,7 @@ func _process(delta: float) -> void:
func _handle_input(delta: float) -> void:
- if Input.is_action_just_pressed("ui_accept"):
+ if Input.is_action_just_pressed("change_camera"):
mode = ((mode + 1) % CameraMode.size()) as CameraMode
orbit_angle = 0.0
diff --git a/web/index.html b/web/index.html
index 0311951..78564f1 100644
--- a/web/index.html
+++ b/web/index.html
@@ -111,7 +111,7 @@ body {