update cloud density when is rainy or snowy
This commit is contained in:
@@ -67,7 +67,6 @@ void fragment() {
|
||||
float is_center = step(center_sharpness, internal_n);
|
||||
|
||||
ALBEDO = shadow_color;
|
||||
|
||||
ALPHA = mix(opacity_edge, opacity_center, is_center) * final_fade;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ var rain_tween: Tween
|
||||
var rain_audio_tween: Tween
|
||||
var puddle_tween: Tween
|
||||
var puddle_amount: float = 0.0
|
||||
var clouds_tween: Tween
|
||||
|
||||
var snow_tween: Tween
|
||||
var snow_particles_tween: Tween
|
||||
@@ -247,11 +248,17 @@ func _process(delta: float) -> void:
|
||||
sky_mat.set_shader_parameter("sun_color", final_tint)
|
||||
sky_mat.set_shader_parameter("night_intensity", night_val)
|
||||
|
||||
var cloud_density_amount: float = maxf(clamp(rain_intensity, 0.0, 1.0), clamp(actual_snow_amount, 0.0, 1.0))
|
||||
var current_cloud_density: float = lerp(environment_config.base_cloud_density, environment_config.rain_cloud_density, cloud_density_amount)
|
||||
|
||||
if environment_config.material_clouds:
|
||||
var current_density = lerp(0.4, 1.0, rain_intensity)
|
||||
environment_config.material_clouds.set_shader_parameter("cloud_density", current_density)
|
||||
var current_sharpness = lerp(0.14, 0.0, rain_intensity)
|
||||
environment_config.material_clouds.set_shader_parameter("cloud_density", current_cloud_density)
|
||||
var current_sharpness = lerp(0.14, 0.0, cloud_density_amount)
|
||||
environment_config.material_clouds.set_shader_parameter("center_sharpness", current_sharpness)
|
||||
|
||||
var env_shadow_mat = environment_shadows.get_surface_override_material(0) if environment_shadows else null
|
||||
if env_shadow_mat:
|
||||
env_shadow_mat.set_shader_parameter("cloud_density", current_cloud_density)
|
||||
|
||||
if environment_config.material_fog:
|
||||
environment_config.material_fog.set_shader_parameter("night_intensity", night_val)
|
||||
@@ -666,7 +673,7 @@ func toggle_rain(value: bool):
|
||||
|
||||
if puddle_tween and puddle_tween.is_valid():
|
||||
puddle_tween.kill()
|
||||
|
||||
|
||||
if is_raining:
|
||||
particles_rain.amount_ratio = 0.0
|
||||
particles_rain.emitting = true
|
||||
|
||||
Reference in New Issue
Block a user