add snow coverage to tea material
This commit is contained in:
@@ -135,7 +135,7 @@ func _apply_dynamic_environment_materials(node: Node) -> void:
|
||||
if node.is_in_group("weather_node"):
|
||||
_apply_weather_overlay_to_node(node, WEATHER_SHADER)
|
||||
|
||||
if node.is_in_group("weather_vegetables_node"):
|
||||
if _should_clear_weather_overlay(node):
|
||||
_clear_weather_overlay_from_node(node)
|
||||
|
||||
func ApplyWindNoiseToMaterials():
|
||||
@@ -162,10 +162,11 @@ func ApplyWeatherShaderToMaterials():
|
||||
_apply_weather_overlay_to_node(node, WEATHER_SHADER)
|
||||
|
||||
for node in get_tree().get_nodes_in_group("weather_vegetables_node"):
|
||||
if _should_clear_weather_overlay(node):
|
||||
_clear_weather_overlay_from_node(node)
|
||||
|
||||
func _apply_weather_overlay_to_node(node: Node, material: Material) -> void:
|
||||
if node.is_in_group("weather_vegetables_node"):
|
||||
if _should_clear_weather_overlay(node):
|
||||
_clear_weather_overlay_from_node(node)
|
||||
return
|
||||
|
||||
@@ -210,6 +211,9 @@ func _shader_material_uses_alpha_texture(material: ShaderMaterial) -> bool:
|
||||
|
||||
return material.shader.code.find("alpha_texture") != -1
|
||||
|
||||
func _should_clear_weather_overlay(node: Node) -> bool:
|
||||
return node.is_in_group("weather_vegetables_node")
|
||||
|
||||
func select_day_time(normalized_time: float) -> void:
|
||||
#set show_day_time_debug = true to show debug on screen
|
||||
#normalized_time is a value between 0 and 1; the time of the day is calculate as "normalized_time" * 1440; day_time is the step to pass from sunrise, to day, to sunset, to night
|
||||
|
||||
@@ -33,7 +33,8 @@ uniform vec4 variance_color : source_color = vec4(0.3, 0.5, 0.2, 1.0); // Colore
|
||||
uniform float variance_intensity : hint_range(0.0, 1.0) = 0.4; // Quanto si vedono le chiazze
|
||||
|
||||
uniform vec4 snow_color : source_color = vec4(0.85, 0.9, 0.95, 1.0);
|
||||
uniform float snow_visibility : hint_range(0.0, 1.0) = 1.0;
|
||||
uniform float snow_visibility : hint_range(0.0, 3.0) = 1.0;
|
||||
uniform float snow_coverage : hint_range(0.05, 1.0) = 0.35;
|
||||
|
||||
// --- CONTROLLO GRADIENTE E RANDOM ---
|
||||
uniform float height_min = 0.0;
|
||||
@@ -135,8 +136,10 @@ void fragment() {
|
||||
float snow_amount = smoothstep(0.0, 1.0, get_snow_progress());
|
||||
|
||||
float top_mask = 1.0 - shifted_uv.y;
|
||||
float snow_mask = smoothstep(0.65, 1.0, top_mask) * snow_amount * snow_visibility;
|
||||
float snow_start = 1.0 - clamp(snow_coverage, 0.05, 1.0);
|
||||
float snow_mask = smoothstep(snow_start, 1.0, top_mask) * snow_amount * snow_visibility;
|
||||
snow_mask *= step(0.01, snow_amount);
|
||||
snow_mask = clamp(snow_mask, 0.0, 1.0);
|
||||
|
||||
vec3 dark_snow = snow_color.rgb * (1.0 - shadow_intensity);
|
||||
vec3 shaded_snow = mix(dark_snow, snow_color.rgb, v_shade_factor);
|
||||
|
||||
@@ -32,10 +32,11 @@ shader_parameter/variance_scale = 0.3
|
||||
shader_parameter/variance_color = Color(0.3019608, 0.5019608, 0.2, 1)
|
||||
shader_parameter/variance_intensity = 0.400000019
|
||||
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
|
||||
shader_parameter/snow_visibility = 1.0
|
||||
shader_parameter/snow_visibility = 2.0
|
||||
shader_parameter/snow_coverage = 0.85
|
||||
shader_parameter/height_min = 0.0
|
||||
shader_parameter/height_max = 30.0
|
||||
shader_parameter/shadow_intensity = 1.0
|
||||
shader_parameter/height_max = 5.0
|
||||
shader_parameter/shadow_intensity = 0.6000000285
|
||||
shader_parameter/highlight_intensity = 0.0
|
||||
shader_parameter/light_steps = 8.50000035625
|
||||
shader_parameter/random_mix = 0.0150000007125
|
||||
@@ -85,7 +86,7 @@ surface_material_override/0 = ExtResource("3_h7374")
|
||||
[node name="grass_001" parent="." index="3" unique_id=1653206836]
|
||||
surface_material_override/0 = ExtResource("4_aco6i")
|
||||
|
||||
[node name="Tea2" type="Node3D" parent="." index="4" unique_id=515491080 groups=["weather_vegetables_node"]]
|
||||
[node name="Tea2" type="Node3D" parent="." index="4" unique_id=515491080 groups=["weather_node"]]
|
||||
|
||||
[node name="tea_plane" type="MeshInstance3D" parent="Tea2" index="0" unique_id=1884512502]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0)
|
||||
|
||||
@@ -164,14 +164,14 @@ material_override = ExtResource("8_klscp")
|
||||
cast_shadow = 0
|
||||
multimesh = SubResource("MultiMesh_2xngq")
|
||||
|
||||
[node name="Tea2" type="Node3D" parent="." index="9" unique_id=153529085 groups=["weather_vegetables_node"]]
|
||||
[node name="Tea2" type="Node3D" parent="." index="9" unique_id=153529085 groups=["weather_node"]]
|
||||
|
||||
[node name="tea_plane" type="MeshInstance3D" parent="Tea2" index="0" unique_id=1170491878]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0)
|
||||
visible = false
|
||||
mesh = SubResource("PlaneMesh_ny8qj")
|
||||
|
||||
[node name="bush" type="MultiMeshInstance3D" parent="Tea2" index="1" unique_id=763333607 groups=["weather_vegetables_node"]]
|
||||
[node name="bush" type="MultiMeshInstance3D" parent="Tea2" index="1" unique_id=763333607 groups=["weather_node"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.36843967, 0)
|
||||
material_override = ExtResource("14_820gh")
|
||||
cast_shadow = 0
|
||||
|
||||
@@ -207,13 +207,13 @@ scala_correzione_xz = 4.955
|
||||
scala_correzione_y = 5.945
|
||||
altezza_massima = 2.0
|
||||
|
||||
[node name="tea_big" parent="." index="12" unique_id=1080521676 groups=["weather_vegetables_node"] instance=ExtResource("19_5lxs6")]
|
||||
[node name="tea_big" parent="." index="12" unique_id=1080521676 groups=["weather_node"] instance=ExtResource("19_5lxs6")]
|
||||
transform = Transform3D(-4.371139e-08, 0, -0.8607846, 0, 1, 0, 1, 0, -3.762609e-08, 6.137363, 0, 0.21655339)
|
||||
|
||||
[node name="tea_medium" parent="." index="13" unique_id=774250378 groups=["weather_vegetables_node"] instance=ExtResource("20_v5b08")]
|
||||
[node name="tea_medium" parent="." index="13" unique_id=774250378 groups=["weather_node"] instance=ExtResource("20_v5b08")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.8468988, -4.717209, 0, -5.866095)
|
||||
|
||||
[node name="tea_small" parent="." index="14" unique_id=738556947 groups=["weather_vegetables_node"] instance=ExtResource("21_1bp38")]
|
||||
[node name="tea_small" parent="." index="14" unique_id=738556947 groups=["weather_node"] instance=ExtResource("21_1bp38")]
|
||||
transform = Transform3D(-3.4182502e-08, 0, -1, 0, 1, 0, 0.7820045, 0, -4.371139e-08, 1.4791412, 0, -5.8110795)
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="." index="15" unique_id=1498631029]
|
||||
|
||||
@@ -206,8 +206,8 @@ scala_correzione_xz = 4.955
|
||||
scala_correzione_y = 5.945
|
||||
altezza_massima = 2.0
|
||||
|
||||
[node name="tea_small" parent="." index="12" unique_id=738556947 groups=["weather_vegetables_node"] instance=ExtResource("13_oha7e")]
|
||||
[node name="tea_small" parent="." index="12" unique_id=738556947 groups=["weather_node"] instance=ExtResource("13_oha7e")]
|
||||
transform = Transform3D(-2.958303e-08, 0, -1, 0, 1, 0, 0.6767808, 0, -4.371139e-08, -6.1359725, 0, 5.9230976)
|
||||
|
||||
[node name="tea_small2" parent="." index="13" unique_id=1500366807 groups=["weather_vegetables_node"] instance=ExtResource("13_oha7e")]
|
||||
[node name="tea_small2" parent="." index="13" unique_id=1500366807 groups=["weather_node"] instance=ExtResource("13_oha7e")]
|
||||
transform = Transform3D(-2.958303e-08, 0, -1, 0, 1, 0, 0.6767808, 0, -4.371139e-08, 5.933122, 0, -5.890115)
|
||||
|
||||
@@ -20,10 +20,11 @@ shader_parameter/variance_scale = 0.3
|
||||
shader_parameter/variance_color = Color(0.3019608, 0.5019608, 0.2, 1)
|
||||
shader_parameter/variance_intensity = 0.400000019
|
||||
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
|
||||
shader_parameter/snow_visibility = 1.0
|
||||
shader_parameter/snow_visibility = 2.1670001029325
|
||||
shader_parameter/snow_coverage = 0.5660000252550601
|
||||
shader_parameter/height_min = 0.0
|
||||
shader_parameter/height_max = 30.0
|
||||
shader_parameter/shadow_intensity = 1.0
|
||||
shader_parameter/height_max = 5.0
|
||||
shader_parameter/shadow_intensity = 0.6000000285
|
||||
shader_parameter/highlight_intensity = 0.0
|
||||
shader_parameter/light_steps = 8.50000035625
|
||||
shader_parameter/random_mix = 0.0150000007125
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user