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,12 +248,18 @@ 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)
|
||||
environment_config.material_fog.set_shader_parameter("sun_color", final_tint)
|
||||
|
||||
@@ -98,6 +98,7 @@ extends Resource
|
||||
@export var material_fog: ShaderMaterial #Fog overlay shader material
|
||||
@export var material_drops: StandardMaterial3D #Rain drops material (albedo tinted by sky)
|
||||
@export var material_clouds: ShaderMaterial #Cloud layer shader material
|
||||
@export var base_cloud_density: float = 0.4 #default cloud density
|
||||
|
||||
#Rain weather settings
|
||||
@export_group("Rain")
|
||||
@@ -106,6 +107,7 @@ extends Resource
|
||||
@export var rain_audio_volume_db: float = -10.0 #Target rain loop volume in decibels
|
||||
@export var puddle_form_time: float = 15.0 #Seconds for puddles to fully form
|
||||
@export var puddle_dry_time: float = 20.0 #Seconds for puddles to fully dry after rain stops
|
||||
@export var rain_cloud_density: float = 1.0 #the cloud density when is rainy
|
||||
|
||||
#Storm settings (applied on top of rain when storm is active)
|
||||
@export_group("Storm")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_resource type="ShaderMaterial" format=3 uid="uid://d37iugof887py"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://cb12c2j8rfu6a" path="res://core/daynight/water_river.gdshader" id="1_qxgaw"]
|
||||
[ext_resource type="Shader" path="res://core/daynight/water_river.gdshader" id="1_qxgaw"]
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_qxgaw"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user