add fog update based on day
This commit is contained in:
@@ -32,6 +32,7 @@ render_priority = 0
|
|||||||
shader = ExtResource("2_r4tfj")
|
shader = ExtResource("2_r4tfj")
|
||||||
shader_parameter/use_red_as_alpha = true
|
shader_parameter/use_red_as_alpha = true
|
||||||
shader_parameter/fog_color = Color(0.8, 0.85, 0.9, 0.5)
|
shader_parameter/fog_color = Color(0.8, 0.85, 0.9, 0.5)
|
||||||
|
shader_parameter/fog_density = 0.25
|
||||||
shader_parameter/scroll_speed = Vector2(0.05, 0.01)
|
shader_parameter/scroll_speed = Vector2(0.05, 0.01)
|
||||||
shader_parameter/texture_scale = Vector2(1, 1)
|
shader_parameter/texture_scale = Vector2(1, 1)
|
||||||
shader_parameter/edge_softness_y = 0.2
|
shader_parameter/edge_softness_y = 0.2
|
||||||
@@ -261,6 +262,7 @@ shader = ExtResource("2_r4tfj")
|
|||||||
shader_parameter/fog_noise = ExtResource("11_tuauy")
|
shader_parameter/fog_noise = ExtResource("11_tuauy")
|
||||||
shader_parameter/use_red_as_alpha = true
|
shader_parameter/use_red_as_alpha = true
|
||||||
shader_parameter/fog_color = Color(0.8, 0.8509804, 0.9019608, 0.2509804)
|
shader_parameter/fog_color = Color(0.8, 0.8509804, 0.9019608, 0.2509804)
|
||||||
|
shader_parameter/fog_density = 0.25
|
||||||
shader_parameter/scroll_speed = Vector2(0, 0.01)
|
shader_parameter/scroll_speed = Vector2(0, 0.01)
|
||||||
shader_parameter/texture_scale = Vector2(1, 1)
|
shader_parameter/texture_scale = Vector2(1, 1)
|
||||||
shader_parameter/edge_softness_y = 0.16400000779
|
shader_parameter/edge_softness_y = 0.16400000779
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ uniform bool use_red_as_alpha = true;
|
|||||||
|
|
||||||
group_uniforms Settings;
|
group_uniforms Settings;
|
||||||
uniform vec4 fog_color : source_color = vec4(0.8, 0.85, 0.9, 0.5);
|
uniform vec4 fog_color : source_color = vec4(0.8, 0.85, 0.9, 0.5);
|
||||||
|
uniform float fog_density : hint_range(0.0, 1.0) = 0.25;
|
||||||
uniform vec2 scroll_speed = vec2(0.05, 0.01);
|
uniform vec2 scroll_speed = vec2(0.05, 0.01);
|
||||||
uniform vec2 texture_scale = vec2(1.0, 1.0);
|
uniform vec2 texture_scale = vec2(1.0, 1.0);
|
||||||
|
|
||||||
@@ -36,5 +37,5 @@ void fragment() {
|
|||||||
vec3 dark_fog = tinted_fog * 0.5;
|
vec3 dark_fog = tinted_fog * 0.5;
|
||||||
ALBEDO = mix(tinted_fog, dark_fog, night_intensity);
|
ALBEDO = mix(tinted_fog, dark_fog, night_intensity);
|
||||||
|
|
||||||
ALPHA = fog_color.a * noise_alpha * edge_mask;
|
ALPHA = fog_color.a * fog_density * noise_alpha * edge_mask;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -254,8 +254,23 @@ func _process(delta: float) -> void:
|
|||||||
environment_config.material_clouds.set_shader_parameter("center_sharpness", current_sharpness)
|
environment_config.material_clouds.set_shader_parameter("center_sharpness", current_sharpness)
|
||||||
|
|
||||||
if environment_config.material_fog:
|
if environment_config.material_fog:
|
||||||
|
environment_config.material_fog.set_shader_parameter("fog_color", final_fog_color)
|
||||||
|
environment_config.material_fog.set_shader_parameter("fog_density", clamp(final_fog_density * 25.0, 0.0, 1.0))
|
||||||
environment_config.material_fog.set_shader_parameter("night_intensity", night_val)
|
environment_config.material_fog.set_shader_parameter("night_intensity", night_val)
|
||||||
environment_config.material_fog.set_shader_parameter("sun_color", final_tint)
|
environment_config.material_fog.set_shader_parameter("sun_color", final_tint)
|
||||||
|
|
||||||
|
if fog:
|
||||||
|
for child in fog.get_children():
|
||||||
|
var fog_mesh := child as MeshInstance3D
|
||||||
|
if fog_mesh == null:
|
||||||
|
continue
|
||||||
|
var fog_material := fog_mesh.get_surface_override_material(0) as ShaderMaterial
|
||||||
|
if fog_material == null:
|
||||||
|
continue
|
||||||
|
fog_material.set_shader_parameter("fog_color", final_fog_color)
|
||||||
|
fog_material.set_shader_parameter("fog_density", clamp(final_fog_density * 25.0, 0.0, 1.0))
|
||||||
|
fog_material.set_shader_parameter("night_intensity", night_val)
|
||||||
|
fog_material.set_shader_parameter("sun_color", final_tint)
|
||||||
|
|
||||||
func create_sound_players():
|
func create_sound_players():
|
||||||
rain_audio_player = AudioStreamPlayer.new()
|
rain_audio_player = AudioStreamPlayer.new()
|
||||||
|
|||||||
Reference in New Issue
Block a user