This commit is contained in:
Matteo Sonaglioni
2026-03-13 18:35:50 +01:00
parent 6e11a95a3e
commit 44252ec5e6
27 changed files with 623 additions and 94 deletions

View File

@@ -6,7 +6,7 @@ alpha_scissor_threshold = 0.0
alpha_antialiasing_mode = 0 alpha_antialiasing_mode = 0
shading_mode = 0 shading_mode = 0
disable_ambient_light = true disable_ambient_light = true
albedo_color = Color(0.6745098, 0.91764706, 0.9372549, 1) albedo_color = Color(0.4745098, 0.69411767, 0.7607843, 0.7411765)
billboard_mode = 3 billboard_mode = 3
particles_anim_h_frames = 1 particles_anim_h_frames = 1
particles_anim_v_frames = 1 particles_anim_v_frames = 1

21
Materials/Snow.tres Normal file
View File

@@ -0,0 +1,21 @@
[gd_resource type="ParticleProcessMaterial" format=3 uid="uid://c0hckftuuyag0"]
[sub_resource type="Gradient" id="Gradient_l1dl0"]
offsets = PackedFloat32Array(0, 0.4854651, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_kjb07"]
gradient = SubResource("Gradient_l1dl0")
[resource]
particle_flag_align_y = true
emission_shape_scale = Vector3(50, 10, 50)
emission_shape = 3
emission_box_extents = Vector3(1, 1, 1)
direction = Vector3(0, -1, 0)
spread = 0.0
initial_velocity_min = 2.5
initial_velocity_max = 5.0
gravity = Vector3(0, -2, 0)
scale_max = 10.0
color_ramp = SubResource("GradientTexture1D_kjb07")

View File

@@ -1,15 +1,20 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://cudoptcrtgl7u"] [gd_resource type="ShaderMaterial" format=3 uid="uid://cudoptcrtgl7u"]
[ext_resource type="Shader" uid="uid://e3teyipsokeg" path="res://Shaders/Grass_Test.gdshader" id="1_528a5"] [ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="1_528a5"]
[ext_resource type="Texture2D" uid="uid://32bpa4nk3av1" path="res://Assets/Textures/grass_round.png" id="2_4d6mx"] [ext_resource type="Texture2D" uid="uid://32bpa4nk3av1" path="res://Assets/Textures/grass_round.png" id="2_4d6mx"]
[resource] [resource]
render_priority = 0 render_priority = 0
shader = ExtResource("1_528a5") shader = ExtResource("1_528a5")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("2_4d6mx") shader_parameter/alpha_texture = ExtResource("2_4d6mx")
shader_parameter/leaves_scale = 1.0 shader_parameter/leaves_scale = 1.0
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5

View File

@@ -8,12 +8,13 @@ render_priority = 0
shader = ExtResource("1_2uy3m") shader = ExtResource("1_2uy3m")
shader_parameter/billboard_enabled = true shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.8963595, 0.48646247, 0.64866394, 1) shader_parameter/base_color = Color(0.9549616, 0.54784274, 0.71385026, 1)
shader_parameter/alpha_texture = ExtResource("2_2uy3m") shader_parameter/alpha_texture = ExtResource("2_2uy3m")
shader_parameter/leaves_scale = 1.375 shader_parameter/leaves_scale = 1.375
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0) shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0 shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 6.0 shader_parameter/height_min = 6.0
shader_parameter/height_max = 9.26 shader_parameter/height_max = 9.26
shader_parameter/shadow_intensity = 0.8270000392825 shader_parameter/shadow_intensity = 0.8270000392825

View File

@@ -2,16 +2,23 @@
[ext_resource type="PackedScene" uid="uid://0uakvynj7hyp" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Curva_1.fbx" id="1_rsn8b"] [ext_resource type="PackedScene" uid="uid://0uakvynj7hyp" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Curva_1.fbx" id="1_rsn8b"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_024mu"] [ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_024mu"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_nw560"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="3_one63"] [ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="3_one63"]
[ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="4_one63"] [ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="4_one63"]
[ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="5_nw560"] [ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="5_nw560"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_stvfq"]
render_priority = 0
shader = ExtResource("2_nw560")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_024mu"] [sub_resource type="BoxShape3D" id="BoxShape3D_024mu"]
size = Vector3(20, 10, 20) size = Vector3(20, 10, 20)
[node name="Chunk_Curva_1" unique_id=1316208881 instance=ExtResource("1_rsn8b")] [node name="Chunk_Curva_1" unique_id=1316208881 instance=ExtResource("1_rsn8b")]
[node name="Chunk_052" parent="." index="0" unique_id=2099348783] [node name="Chunk_052" parent="." index="0" unique_id=2099348783]
material_overlay = SubResource("ShaderMaterial_stvfq")
surface_material_override/0 = ExtResource("2_024mu") surface_material_override/0 = ExtResource("2_024mu")
surface_material_override/1 = ExtResource("3_one63") surface_material_override/1 = ExtResource("3_one63")

View File

@@ -1,17 +1,24 @@
[gd_scene format=3 uid="uid://djceu7hj8lpha"] [gd_scene format=3 uid="uid://djceu7hj8lpha"]
[ext_resource type="PackedScene" uid="uid://cm1x7327vhq8o" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Rettilineo_1.fbx" id="1_h6p6r"] [ext_resource type="PackedScene" uid="uid://cm1x7327vhq8o" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Rettilineo_1.fbx" id="1_h6p6r"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_x2uag"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_x2uag"] [ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_x2uag"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="4_0tij7"] [ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="4_0tij7"]
[ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="4_dqurx"] [ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="4_dqurx"]
[ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="5_x2uag"] [ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="5_x2uag"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0tij7"]
render_priority = 0
shader = ExtResource("2_x2uag")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_h6p6r"] [sub_resource type="BoxShape3D" id="BoxShape3D_h6p6r"]
size = Vector3(20, 10, 20) size = Vector3(20, 10, 20)
[node name="Chunk_Rettilineo_1" unique_id=916054224 instance=ExtResource("1_h6p6r")] [node name="Chunk_Rettilineo_1" unique_id=916054224 instance=ExtResource("1_h6p6r")]
[node name="Chunk" parent="." index="0" unique_id=1906873929] [node name="Chunk" parent="." index="0" unique_id=1906873929]
material_overlay = SubResource("ShaderMaterial_0tij7")
surface_material_override/0 = ExtResource("3_x2uag") surface_material_override/0 = ExtResource("3_x2uag")
surface_material_override/1 = ExtResource("4_0tij7") surface_material_override/1 = ExtResource("4_0tij7")

View File

@@ -1,16 +1,21 @@
[gd_scene format=3 uid="uid://sybnjir2d05"] [gd_scene format=3 uid="uid://sybnjir2d05"]
[ext_resource type="PackedScene" uid="uid://c75bi7f6infu6" path="res://Assets/Meshes/Chunk/Prop/Test_BordiSentiero.fbx" id="1_gkuoy"] [ext_resource type="PackedScene" uid="uid://c75bi7f6infu6" path="res://Assets/Meshes/Chunk/Prop/Test_BordiSentiero.fbx" id="1_gkuoy"]
[ext_resource type="Shader" uid="uid://e3teyipsokeg" path="res://Shaders/Grass_Test.gdshader" id="2_hi0id"] [ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="2_1g7yt"]
[ext_resource type="Texture2D" uid="uid://b7sqjhecpoyoh" path="res://Assets/Textures/Leaf_Test.png" id="3_d2h5c"] [ext_resource type="Texture2D" uid="uid://b7sqjhecpoyoh" path="res://Assets/Textures/Leaf_Test.png" id="3_d2h5c"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ta3rv"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ta3rv"]
render_priority = 0 render_priority = 0
shader = ExtResource("2_hi0id") shader = ExtResource("2_1g7yt")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.28235295, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.28235295, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("3_d2h5c") shader_parameter/alpha_texture = ExtResource("3_d2h5c")
shader_parameter/leaves_scale = 0.5 shader_parameter/leaves_scale = 0.5
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.730000034675 shader_parameter/shadow_intensity = 0.730000034675
@@ -30,11 +35,16 @@ buffer = PackedFloat32Array(-0.6408246, -8.276528e-09, 0.7689895, 0.18645085, -1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gkuoy"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_gkuoy"]
render_priority = 0 render_priority = 0
shader = ExtResource("2_hi0id") shader = ExtResource("2_1g7yt")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.3882353, 0.52156866, 0.20784314, 1) shader_parameter/base_color = Color(0.3882353, 0.52156866, 0.20784314, 1)
shader_parameter/alpha_texture = ExtResource("3_d2h5c") shader_parameter/alpha_texture = ExtResource("3_d2h5c")
shader_parameter/leaves_scale = 0.5 shader_parameter/leaves_scale = 0.5
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.730000034675 shader_parameter/shadow_intensity = 0.730000034675
@@ -51,17 +61,17 @@ buffer = PackedFloat32Array(-0.1060635, 1.5748384e-09, 0.99536514, -0.8481213, -
[node name="Test_BordiSentiero" unique_id=1395614268 instance=ExtResource("1_gkuoy")] [node name="Test_BordiSentiero" unique_id=1395614268 instance=ExtResource("1_gkuoy")]
[node name="Cube_016" parent="." index="0" unique_id=2097058885] [node name="Cube_016" parent="." index="0" unique_id=825065805]
visible = false visible = false
cast_shadow = 0 cast_shadow = 0
[node name="Cube_017" parent="." index="1" unique_id=191613435] [node name="Cube_017" parent="." index="1" unique_id=1633646904]
visible = false visible = false
[node name="Cube_019" parent="." index="2" unique_id=919907353] [node name="Cube_019" parent="." index="2" unique_id=2064303696]
visible = false visible = false
[node name="Cube_020" parent="." index="3" unique_id=1585266842] [node name="Cube_020" parent="." index="3" unique_id=2115761534]
visible = false visible = false
[node name="MultiMeshInstance3D" type="MultiMeshInstance3D" parent="." index="4" unique_id=1748438133] [node name="MultiMeshInstance3D" type="MultiMeshInstance3D" parent="." index="4" unique_id=1748438133]

View File

@@ -1,16 +1,21 @@
[gd_scene format=3 uid="uid://623itnb41wew"] [gd_scene format=3 uid="uid://623itnb41wew"]
[ext_resource type="PackedScene" uid="uid://c75bi7f6infu6" path="res://Assets/Meshes/Chunk/Prop/Test_BordiSentiero.fbx" id="1_0mp8t"] [ext_resource type="PackedScene" uid="uid://c75bi7f6infu6" path="res://Assets/Meshes/Chunk/Prop/Test_BordiSentiero.fbx" id="1_0mp8t"]
[ext_resource type="Shader" uid="uid://e3teyipsokeg" path="res://Shaders/Grass_Test.gdshader" id="2_i8eq2"] [ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="2_cejtq"]
[ext_resource type="Texture2D" uid="uid://b7sqjhecpoyoh" path="res://Assets/Textures/Leaf_Test.png" id="3_i8eq2"] [ext_resource type="Texture2D" uid="uid://b7sqjhecpoyoh" path="res://Assets/Textures/Leaf_Test.png" id="3_i8eq2"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ta3rv"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ta3rv"]
render_priority = 0 render_priority = 0
shader = ExtResource("2_i8eq2") shader = ExtResource("2_cejtq")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.28235295, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.28235295, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("3_i8eq2") shader_parameter/alpha_texture = ExtResource("3_i8eq2")
shader_parameter/leaves_scale = 0.5 shader_parameter/leaves_scale = 0.5
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.730000034675 shader_parameter/shadow_intensity = 0.730000034675
@@ -30,11 +35,16 @@ buffer = PackedFloat32Array(1.2331435e-08, -0.28211024, 0.44848275, 0.8891074, -
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i8eq2"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_i8eq2"]
render_priority = 0 render_priority = 0
shader = ExtResource("2_i8eq2") shader = ExtResource("2_cejtq")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.3882353, 0.52156866, 0.20784314, 1) shader_parameter/base_color = Color(0.3882353, 0.52156866, 0.20784314, 1)
shader_parameter/alpha_texture = ExtResource("3_i8eq2") shader_parameter/alpha_texture = ExtResource("3_i8eq2")
shader_parameter/leaves_scale = 0.5 shader_parameter/leaves_scale = 0.5
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.730000034675 shader_parameter/shadow_intensity = 0.730000034675
@@ -51,17 +61,17 @@ buffer = PackedFloat32Array(0.6347137, -8.595991e-09, -0.7740411, 0.7678654, 1.0
[node name="Test_BordiSentiero" unique_id=1395614268 instance=ExtResource("1_0mp8t")] [node name="Test_BordiSentiero" unique_id=1395614268 instance=ExtResource("1_0mp8t")]
[node name="Cube_016" parent="." index="0" unique_id=2097058885] [node name="Cube_016" parent="." index="0" unique_id=825065805]
visible = false visible = false
cast_shadow = 0 cast_shadow = 0
[node name="Cube_017" parent="." index="1" unique_id=191613435] [node name="Cube_017" parent="." index="1" unique_id=1633646904]
visible = false visible = false
[node name="Cube_019" parent="." index="2" unique_id=919907353] [node name="Cube_019" parent="." index="2" unique_id=2064303696]
visible = false visible = false
[node name="Cube_020" parent="." index="3" unique_id=1585266842] [node name="Cube_020" parent="." index="3" unique_id=2115761534]
visible = false visible = false
[node name="MultiMeshInstance3D" type="MultiMeshInstance3D" parent="." index="4" unique_id=1748438133] [node name="MultiMeshInstance3D" type="MultiMeshInstance3D" parent="." index="4" unique_id=1748438133]

View File

@@ -1,16 +1,21 @@
[gd_scene format=3 uid="uid://bfvtlpkcnbgke"] [gd_scene format=3 uid="uid://bfvtlpkcnbgke"]
[ext_resource type="PackedScene" uid="uid://c75bi7f6infu6" path="res://Assets/Meshes/Chunk/Prop/Test_BordiSentiero.fbx" id="1_dvg25"] [ext_resource type="PackedScene" uid="uid://c75bi7f6infu6" path="res://Assets/Meshes/Chunk/Prop/Test_BordiSentiero.fbx" id="1_dvg25"]
[ext_resource type="Shader" uid="uid://e3teyipsokeg" path="res://Shaders/Grass_Test.gdshader" id="2_oq3do"] [ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="2_try56"]
[ext_resource type="Texture2D" uid="uid://b7sqjhecpoyoh" path="res://Assets/Textures/Leaf_Test.png" id="3_2lnj1"] [ext_resource type="Texture2D" uid="uid://b7sqjhecpoyoh" path="res://Assets/Textures/Leaf_Test.png" id="3_2lnj1"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ta3rv"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ta3rv"]
render_priority = 0 render_priority = 0
shader = ExtResource("2_oq3do") shader = ExtResource("2_try56")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.28235295, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.28235295, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("3_2lnj1") shader_parameter/alpha_texture = ExtResource("3_2lnj1")
shader_parameter/leaves_scale = 0.5 shader_parameter/leaves_scale = 0.5
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.730000034675 shader_parameter/shadow_intensity = 0.730000034675
@@ -30,11 +35,16 @@ buffer = PackedFloat32Array(0.087661915, 3.790419e-09, -0.99715424, 0.88056636,
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dvg25"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_dvg25"]
render_priority = 0 render_priority = 0
shader = ExtResource("2_oq3do") shader = ExtResource("2_try56")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.3882353, 0.52156866, 0.20784314, 1) shader_parameter/base_color = Color(0.3882353, 0.52156866, 0.20784314, 1)
shader_parameter/alpha_texture = ExtResource("3_2lnj1") shader_parameter/alpha_texture = ExtResource("3_2lnj1")
shader_parameter/leaves_scale = 0.5 shader_parameter/leaves_scale = 0.5
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.730000034675 shader_parameter/shadow_intensity = 0.730000034675
@@ -51,17 +61,17 @@ buffer = PackedFloat32Array(-0.058212023, -7.000112e-09, 0.9993061, -3.6334105,
[node name="Test_BordiSentiero" unique_id=1395614268 instance=ExtResource("1_dvg25")] [node name="Test_BordiSentiero" unique_id=1395614268 instance=ExtResource("1_dvg25")]
[node name="Cube_016" parent="." index="0" unique_id=2097058885] [node name="Cube_016" parent="." index="0" unique_id=825065805]
visible = false visible = false
cast_shadow = 0 cast_shadow = 0
[node name="Cube_017" parent="." index="1" unique_id=191613435] [node name="Cube_017" parent="." index="1" unique_id=1633646904]
visible = false visible = false
[node name="Cube_019" parent="." index="2" unique_id=919907353] [node name="Cube_019" parent="." index="2" unique_id=2064303696]
visible = false visible = false
[node name="Cube_020" parent="." index="3" unique_id=1585266842] [node name="Cube_020" parent="." index="3" unique_id=2115761534]
visible = false visible = false
[node name="MultiMeshInstance3D" type="MultiMeshInstance3D" parent="." index="4" unique_id=1748438133] [node name="MultiMeshInstance3D" type="MultiMeshInstance3D" parent="." index="4" unique_id=1748438133]

View File

@@ -6,18 +6,29 @@
[ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="3_eyx8o"] [ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="3_eyx8o"]
[ext_resource type="Texture2D" uid="uid://3ot7glyivagg" path="res://Assets/Textures/Texture_Sentiero.png" id="3_odndq"] [ext_resource type="Texture2D" uid="uid://3ot7glyivagg" path="res://Assets/Textures/Texture_Sentiero.png" id="3_odndq"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="4_2qt04"] [ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="4_2qt04"]
[ext_resource type="Shader" uid="uid://e3teyipsokeg" path="res://Shaders/Grass_Test.gdshader" id="4_bp8uq"] [ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="4_11318"]
[ext_resource type="PackedScene" uid="uid://623itnb41wew" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloInterno.tscn" id="5_vxc6e"] [ext_resource type="PackedScene" uid="uid://623itnb41wew" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloInterno.tscn" id="5_vxc6e"]
[ext_resource type="Texture2D" uid="uid://32bpa4nk3av1" path="res://Assets/Textures/grass_round.png" id="5_xlq82"] [ext_resource type="Texture2D" uid="uid://32bpa4nk3av1" path="res://Assets/Textures/grass_round.png" id="5_xlq82"]
[ext_resource type="PackedScene" uid="uid://sybnjir2d05" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloEsterno.tscn" id="6_8ms8u"] [ext_resource type="PackedScene" uid="uid://sybnjir2d05" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloEsterno.tscn" id="6_8ms8u"]
[ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="7_8ttth"] [ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="7_8ttth"]
[ext_resource type="PackedScene" uid="uid://bhcut7ndtdo2w" path="res://Assets/Test/SK_Mannequin.FBX" id="8_mhtt3"] [ext_resource type="PackedScene" uid="uid://bhcut7ndtdo2w" path="res://Assets/Test/SK_Mannequin.FBX" id="8_mhtt3"]
[ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="8_raxwl"]
[ext_resource type="PackedScene" uid="uid://y2yhcshxa0n" path="res://Scenes/Chunk_Scene/Orto/test_orto_small.tscn" id="9_8fc4d"] [ext_resource type="PackedScene" uid="uid://y2yhcshxa0n" path="res://Scenes/Chunk_Scene/Orto/test_orto_small.tscn" id="9_8fc4d"]
[ext_resource type="PackedScene" uid="uid://igbtt2ypx0ks" path="res://Scenes/Chunk_Scene/Prop/Staccionate.tscn" id="9_aqvmj"] [ext_resource type="PackedScene" uid="uid://igbtt2ypx0ks" path="res://Scenes/Chunk_Scene/Prop/Staccionate.tscn" id="9_aqvmj"]
[ext_resource type="Material" uid="uid://wkegx4a21x7u" path="res://Materials/Staccionata.tres" id="10_is3ra"] [ext_resource type="Material" uid="uid://wkegx4a21x7u" path="res://Materials/Staccionata.tres" id="10_is3ra"]
[ext_resource type="PackedScene" uid="uid://co3scydwgpvgc" path="res://Scenes/Chunk_Scene/Orto/test_orto_big.tscn" id="11_is3ra"] [ext_resource type="PackedScene" uid="uid://co3scydwgpvgc" path="res://Scenes/Chunk_Scene/Orto/test_orto_big.tscn" id="11_is3ra"]
[ext_resource type="PackedScene" uid="uid://dutvq3oy1ni7c" path="res://Scenes/Chunk_Scene/House/House_XL_1.tscn" id="16_15ugy"] [ext_resource type="PackedScene" uid="uid://dutvq3oy1ni7c" path="res://Scenes/Chunk_Scene/House/House_XL_1.tscn" id="16_15ugy"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_e6du4"]
render_priority = 0
shader = ExtResource("4_11318")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_byjwq"]
render_priority = 0
shader = ExtResource("4_11318")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ofhgo"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ofhgo"]
resource_name = "Material" resource_name = "Material"
vertex_color_use_as_albedo = true vertex_color_use_as_albedo = true
@@ -56,22 +67,47 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_h7yuw") shadow_mesh = SubResource("ArrayMesh_h7yuw")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gd3hq"]
render_priority = 0
shader = ExtResource("4_11318")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_15ugy"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_15ugy"]
albedo_color = Color(0.9811998, 0.8347986, 0.569528, 1) albedo_color = Color(0.9811998, 0.8347986, 0.569528, 1)
albedo_texture = ExtResource("3_odndq") albedo_texture = ExtResource("3_odndq")
uv1_scale = Vector3(1.845, 2.325, 1) uv1_scale = Vector3(1.845, 2.325, 1)
uv1_offset = Vector3(-0.335, 0, 0) uv1_offset = Vector3(-0.335, 0, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rhpq8"]
render_priority = 0
shader = ExtResource("4_11318")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vxc6e"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vxc6e"]
albedo_color = Color(0.19607843, 0.6117647, 0.26666668, 1) albedo_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hq330"]
render_priority = 0
shader = ExtResource("4_11318")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_l2fy1"]
render_priority = 0
shader = ExtResource("4_11318")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_odndq"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_odndq"]
render_priority = 0 render_priority = 0
shader = ExtResource("4_bp8uq") shader = ExtResource("8_raxwl")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("5_xlq82") shader_parameter/alpha_texture = ExtResource("5_xlq82")
shader_parameter/leaves_scale = 0.79 shader_parameter/leaves_scale = 0.79
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -82,11 +118,16 @@ shader_parameter/cast_shadow_strength = 0.6
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bp8uq"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_bp8uq"]
render_priority = 0 render_priority = 0
shader = ExtResource("4_bp8uq") shader = ExtResource("8_raxwl")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("5_xlq82") shader_parameter/alpha_texture = ExtResource("5_xlq82")
shader_parameter/leaves_scale = 0.7 shader_parameter/leaves_scale = 0.7
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -97,11 +138,16 @@ shader_parameter/cast_shadow_strength = 0.6
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xlq82"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_xlq82"]
render_priority = 0 render_priority = 0
shader = ExtResource("4_bp8uq") shader = ExtResource("8_raxwl")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("5_xlq82") shader_parameter/alpha_texture = ExtResource("5_xlq82")
shader_parameter/leaves_scale = 0.7 shader_parameter/leaves_scale = 0.7
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -152,11 +198,16 @@ shadow_mesh = SubResource("ArrayMesh_gwoio")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gpw8b"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_gpw8b"]
render_priority = 0 render_priority = 0
shader = ExtResource("4_bp8uq") shader = ExtResource("8_raxwl")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.43529412, 0.4627451, 0.08235294, 1) shader_parameter/base_color = Color(0.43529412, 0.4627451, 0.08235294, 1)
shader_parameter/alpha_texture = ExtResource("5_xlq82") shader_parameter/alpha_texture = ExtResource("5_xlq82")
shader_parameter/leaves_scale = 0.555 shader_parameter/leaves_scale = 0.555
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -183,30 +234,36 @@ ovest = true
[node name="Chunk_002" parent="." index="0" unique_id=1455965802] [node name="Chunk_002" parent="." index="0" unique_id=1455965802]
transform = Transform3D(8.198544e-06, -100, -4.371139e-06, 0, -4.371139e-06, 100, -108.593, -7.54979e-06, -3.3001182e-13, 0, 0.041, -0.84952193) transform = Transform3D(8.198544e-06, -100, -4.371139e-06, 0, -4.371139e-06, 100, -108.593, -7.54979e-06, -3.3001182e-13, 0, 0.041, -0.84952193)
material_override = ExtResource("2_xlq82") material_override = ExtResource("2_xlq82")
material_overlay = SubResource("ShaderMaterial_e6du4")
[node name="Chunk_005" type="MeshInstance3D" parent="." index="1" unique_id=345649136] [node name="Chunk_005" type="MeshInstance3D" parent="." index="1" unique_id=345649136]
transform = Transform3D(1.1920928e-05, -67.78416, -1.4901162e-05, -2.980232e-06, -8.080501e-06, 100, -99.99999, -4.0402506e-06, 0, 2.9563882, -0.023516655, -2.513685) transform = Transform3D(1.1920928e-05, -67.78416, -1.4901162e-05, -2.980232e-06, -8.080501e-06, 100, -99.99999, -4.0402506e-06, 0, 2.9563882, -0.023516655, -2.513685)
material_override = ExtResource("2_xlq82") material_override = ExtResource("2_xlq82")
material_overlay = SubResource("ShaderMaterial_byjwq")
mesh = SubResource("ArrayMesh_s4u17") mesh = SubResource("ArrayMesh_s4u17")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Chunk_007" type="MeshInstance3D" parent="." index="2" unique_id=1021549662] [node name="Chunk_007" type="MeshInstance3D" parent="." index="2" unique_id=1021549662]
transform = Transform3D(19.377419, 2.072737, 8.354379e-07, -5.7840185e-07, -4.407152e-06, 100, 1.0881187, -36.91172, -1.4877721e-05, 2.7383292, 0, 6.3970623) transform = Transform3D(19.377419, 2.072737, 8.354379e-07, -5.7840185e-07, -4.407152e-06, 100, 1.0881187, -36.91172, -1.4877721e-05, 2.7383292, 0, 6.3970623)
material_override = ExtResource("2_xlq82") material_override = ExtResource("2_xlq82")
material_overlay = SubResource("ShaderMaterial_gd3hq")
mesh = SubResource("ArrayMesh_s4u17") mesh = SubResource("ArrayMesh_s4u17")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Chunk_006" type="MeshInstance3D" parent="." index="3" unique_id=1766076384] [node name="Chunk_006" type="MeshInstance3D" parent="." index="3" unique_id=1766076384]
transform = Transform3D(-70.80811, 6.212535e-06, 3.821371e-13, 0, -3.1062675e-06, 100.00001, 6.1902415e-06, 71.06311, 4.371139e-06, 2.4387622, -0.023403406, 0.024760723) transform = Transform3D(-70.80811, 6.212535e-06, 3.821371e-13, 0, -3.1062675e-06, 100.00001, 6.1902415e-06, 71.06311, 4.371139e-06, 2.4387622, -0.023403406, 0.024760723)
material_override = SubResource("StandardMaterial3D_15ugy") material_override = SubResource("StandardMaterial3D_15ugy")
material_overlay = SubResource("ShaderMaterial_rhpq8")
mesh = SubResource("ArrayMesh_s4u17") mesh = SubResource("ArrayMesh_s4u17")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Chunk_004" parent="." index="4" unique_id=2103650482] [node name="Chunk_004" parent="." index="4" unique_id=2103650482]
material_override = SubResource("StandardMaterial3D_vxc6e") material_override = SubResource("StandardMaterial3D_vxc6e")
material_overlay = SubResource("ShaderMaterial_hq330")
[node name="Chunk_038" parent="." index="5" unique_id=476922148] [node name="Chunk_038" parent="." index="5" unique_id=476922148]
material_override = ExtResource("2_xlq82") material_override = ExtResource("2_xlq82")
material_overlay = SubResource("ShaderMaterial_l2fy1")
[node name="Cube_016" parent="." index="6" unique_id=117542775] [node name="Cube_016" parent="." index="6" unique_id=117542775]
visible = false visible = false

View File

@@ -6,6 +6,7 @@
[ext_resource type="PackedScene" uid="uid://8jtrp8ckqf1a" path="res://Scenes/Chunk_Scene/House/House_muraglione.tscn" id="4_lunjj"] [ext_resource type="PackedScene" uid="uid://8jtrp8ckqf1a" path="res://Scenes/Chunk_Scene/House/House_muraglione.tscn" id="4_lunjj"]
[ext_resource type="PackedScene" uid="uid://5sod22d0vnip" path="res://Scenes/Chunk_Scene/House/House_XL_4.tscn" id="5_tf2ul"] [ext_resource type="PackedScene" uid="uid://5sod22d0vnip" path="res://Scenes/Chunk_Scene/House/House_XL_4.tscn" id="5_tf2ul"]
[ext_resource type="PackedScene" uid="uid://birttctl11th8" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_l_1.tscn" id="6_4h5ax"] [ext_resource type="PackedScene" uid="uid://birttctl11th8" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_l_1.tscn" id="6_4h5ax"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="7_wr3vc"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="7_y2p7p"] [ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="7_y2p7p"]
[ext_resource type="PackedScene" uid="uid://dyolu5m0lgqm2" path="res://Scenes/Test/ToriGate.tscn" id="9_ji5rd"] [ext_resource type="PackedScene" uid="uid://dyolu5m0lgqm2" path="res://Scenes/Test/ToriGate.tscn" id="9_ji5rd"]
[ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="9_s470o"] [ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="9_s470o"]
@@ -13,6 +14,21 @@
[ext_resource type="PackedScene" uid="uid://4iye3qapad4y" path="res://Scenes/Test/Colonnina_Blockout.tscn" id="11_4n1py"] [ext_resource type="PackedScene" uid="uid://4iye3qapad4y" path="res://Scenes/Test/Colonnina_Blockout.tscn" id="11_4n1py"]
[ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="12_rrcoc"] [ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="12_rrcoc"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fim7w"]
render_priority = 0
shader = ExtResource("7_wr3vc")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jqd13"]
render_priority = 0
shader = ExtResource("7_wr3vc")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_cvr4e"]
render_priority = 0
shader = ExtResource("7_wr3vc")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0uwhb"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0uwhb"]
resource_name = "Material" resource_name = "Material"
vertex_color_use_as_albedo = true vertex_color_use_as_albedo = true
@@ -51,6 +67,16 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_v3qhc") shadow_mesh = SubResource("ArrayMesh_v3qhc")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1sygh"]
render_priority = 0
shader = ExtResource("7_wr3vc")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8kcs0"]
render_priority = 0
shader = ExtResource("7_wr3vc")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ArrayMesh" id="ArrayMesh_7ona5"] [sub_resource type="ArrayMesh" id="ArrayMesh_7ona5"]
_surfaces = [{ _surfaces = [{
"aabb": AABB(-0.015000002, -0.1, -0.00043503524, 0.030000005, 0.115, 0.0008700705), "aabb": AABB(-0.015000002, -0.1, -0.00043503524, 0.030000005, 0.115, 0.0008700705),
@@ -108,16 +134,25 @@ sud = false
[node name="Chunk_005" parent="Chunk_C_L_1" index="0" unique_id=1667835125] [node name="Chunk_005" parent="Chunk_C_L_1" index="0" unique_id=1667835125]
visible = false visible = false
material_overlay = SubResource("ShaderMaterial_fim7w")
[node name="Chunk_036" parent="Chunk_C_L_1" index="1" unique_id=248347357]
material_overlay = SubResource("ShaderMaterial_jqd13")
[node name="Chunk_039" type="MeshInstance3D" parent="Chunk_C_L_1" index="2" unique_id=311921996] [node name="Chunk_039" type="MeshInstance3D" parent="Chunk_C_L_1" index="2" unique_id=311921996]
transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, 11.507141, 0, 0) transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, 11.507141, 0, 0)
material_override = ExtResource("7_y2p7p") material_override = ExtResource("7_y2p7p")
material_overlay = SubResource("ShaderMaterial_cvr4e")
mesh = SubResource("ArrayMesh_db63l") mesh = SubResource("ArrayMesh_db63l")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Chunk_037" parent="Chunk_C_L_1" index="3" unique_id=1414101746]
material_overlay = SubResource("ShaderMaterial_1sygh")
[node name="Chunk_038" type="MeshInstance3D" parent="Chunk_C_L_1" index="4" unique_id=300529289] [node name="Chunk_038" type="MeshInstance3D" parent="Chunk_C_L_1" index="4" unique_id=300529289]
transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, 0, 0, -8.492352) transform = Transform3D(100, 0, 0, 0, -1.1920929e-05, 99.99999, 0, -99.99999, -1.1920929e-05, 0, 0, -8.492352)
material_override = ExtResource("7_y2p7p") material_override = ExtResource("7_y2p7p")
material_overlay = SubResource("ShaderMaterial_8kcs0")
mesh = SubResource("ArrayMesh_vall4") mesh = SubResource("ArrayMesh_vall4")
skeleton = NodePath("") skeleton = NodePath("")

View File

@@ -4,9 +4,10 @@
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Scripts/info_chunk.gd" id="2_5cl6b"] [ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Scripts/info_chunk.gd" id="2_5cl6b"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="3_hj70d"] [ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="3_hj70d"]
[ext_resource type="Texture2D" uid="uid://3ot7glyivagg" path="res://Assets/Textures/Texture_Sentiero.png" id="4_g8efw"] [ext_resource type="Texture2D" uid="uid://3ot7glyivagg" path="res://Assets/Textures/Texture_Sentiero.png" id="4_g8efw"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="4_r7got"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="5_wgav2"] [ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="5_wgav2"]
[ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="6_lt21y"] [ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="6_lt21y"]
[ext_resource type="Shader" uid="uid://e3teyipsokeg" path="res://Shaders/Grass_Test.gdshader" id="7_4ftiy"] [ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="8_r7got"]
[ext_resource type="Texture2D" uid="uid://32bpa4nk3av1" path="res://Assets/Textures/grass_round.png" id="8_td1ds"] [ext_resource type="Texture2D" uid="uid://32bpa4nk3av1" path="res://Assets/Textures/grass_round.png" id="8_td1ds"]
[ext_resource type="PackedScene" uid="uid://623itnb41wew" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloInterno.tscn" id="9_jn6md"] [ext_resource type="PackedScene" uid="uid://623itnb41wew" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloInterno.tscn" id="9_jn6md"]
[ext_resource type="PackedScene" uid="uid://sybnjir2d05" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloEsterno.tscn" id="10_flfvy"] [ext_resource type="PackedScene" uid="uid://sybnjir2d05" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloEsterno.tscn" id="10_flfvy"]
@@ -17,6 +18,16 @@
[ext_resource type="PackedScene" uid="uid://d12t04rs47jq3" path="res://Scenes/Test/Tree_V1.tscn" id="16_w82ua"] [ext_resource type="PackedScene" uid="uid://d12t04rs47jq3" path="res://Scenes/Test/Tree_V1.tscn" id="16_w82ua"]
[ext_resource type="PackedScene" uid="uid://dutvq3oy1ni7c" path="res://Scenes/Chunk_Scene/House/House_XL_1.tscn" id="17_j3hnw"] [ext_resource type="PackedScene" uid="uid://dutvq3oy1ni7c" path="res://Scenes/Chunk_Scene/House/House_XL_1.tscn" id="17_j3hnw"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xt73x"]
render_priority = 0
shader = ExtResource("4_r7got")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jqp0n"]
render_priority = 0
shader = ExtResource("4_r7got")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ofhgo"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ofhgo"]
resource_name = "Material" resource_name = "Material"
vertex_color_use_as_albedo = true vertex_color_use_as_albedo = true
@@ -55,22 +66,47 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_h7yuw") shadow_mesh = SubResource("ArrayMesh_h7yuw")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gsd23"]
render_priority = 0
shader = ExtResource("4_r7got")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_15ugy"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_15ugy"]
albedo_color = Color(0.9811998, 0.8347986, 0.569528, 1) albedo_color = Color(0.9811998, 0.8347986, 0.569528, 1)
albedo_texture = ExtResource("4_g8efw") albedo_texture = ExtResource("4_g8efw")
uv1_scale = Vector3(1.845, 2.325, 1) uv1_scale = Vector3(1.845, 2.325, 1)
uv1_offset = Vector3(-0.335, 0, 0) uv1_offset = Vector3(-0.335, 0, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pfoxn"]
render_priority = 0
shader = ExtResource("4_r7got")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vxc6e"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vxc6e"]
albedo_color = Color(0.19607843, 0.6117647, 0.26666668, 1) albedo_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7wsa6"]
render_priority = 0
shader = ExtResource("4_r7got")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6vw5y"]
render_priority = 0
shader = ExtResource("4_r7got")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_odndq"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_odndq"]
render_priority = 0 render_priority = 0
shader = ExtResource("7_4ftiy") shader = ExtResource("8_r7got")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("8_td1ds") shader_parameter/alpha_texture = ExtResource("8_td1ds")
shader_parameter/leaves_scale = 0.79 shader_parameter/leaves_scale = 0.79
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -81,11 +117,16 @@ shader_parameter/cast_shadow_strength = 0.6
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bp8uq"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_bp8uq"]
render_priority = 0 render_priority = 0
shader = ExtResource("7_4ftiy") shader = ExtResource("8_r7got")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("8_td1ds") shader_parameter/alpha_texture = ExtResource("8_td1ds")
shader_parameter/leaves_scale = 0.7 shader_parameter/leaves_scale = 0.7
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -96,11 +137,16 @@ shader_parameter/cast_shadow_strength = 0.6
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xlq82"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_xlq82"]
render_priority = 0 render_priority = 0
shader = ExtResource("7_4ftiy") shader = ExtResource("8_r7got")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1) shader_parameter/base_color = Color(0.19607843, 0.6117647, 0.26666668, 1)
shader_parameter/alpha_texture = ExtResource("8_td1ds") shader_parameter/alpha_texture = ExtResource("8_td1ds")
shader_parameter/leaves_scale = 0.7 shader_parameter/leaves_scale = 0.7
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -157,30 +203,36 @@ ovest = true
[node name="Chunk_002" parent="." index="0" unique_id=1455965802] [node name="Chunk_002" parent="." index="0" unique_id=1455965802]
transform = Transform3D(8.198544e-06, -100, -4.371139e-06, 0, -4.371139e-06, 100, -108.593, -7.54979e-06, -3.3001182e-13, 0, 0.041, -0.84952193) transform = Transform3D(8.198544e-06, -100, -4.371139e-06, 0, -4.371139e-06, 100, -108.593, -7.54979e-06, -3.3001182e-13, 0, 0.041, -0.84952193)
material_override = ExtResource("3_hj70d") material_override = ExtResource("3_hj70d")
material_overlay = SubResource("ShaderMaterial_xt73x")
[node name="Chunk_005" type="MeshInstance3D" parent="." index="1" unique_id=345649136] [node name="Chunk_005" type="MeshInstance3D" parent="." index="1" unique_id=345649136]
transform = Transform3D(1.1920928e-05, -67.78416, -1.4901162e-05, -2.980232e-06, -8.080501e-06, 100, -99.99999, -4.0402506e-06, 0, 2.9563882, -0.023516655, -2.513685) transform = Transform3D(1.1920928e-05, -67.78416, -1.4901162e-05, -2.980232e-06, -8.080501e-06, 100, -99.99999, -4.0402506e-06, 0, 2.9563882, -0.023516655, -2.513685)
material_override = ExtResource("3_hj70d") material_override = ExtResource("3_hj70d")
material_overlay = SubResource("ShaderMaterial_jqp0n")
mesh = SubResource("ArrayMesh_s4u17") mesh = SubResource("ArrayMesh_s4u17")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Chunk_007" type="MeshInstance3D" parent="." index="2" unique_id=1021549662] [node name="Chunk_007" type="MeshInstance3D" parent="." index="2" unique_id=1021549662]
transform = Transform3D(19.377419, 2.072737, 8.354379e-07, -5.7840185e-07, -4.407152e-06, 100, 1.0881187, -36.91172, -1.4877721e-05, 2.7383292, 0, 6.3970623) transform = Transform3D(19.377419, 2.072737, 8.354379e-07, -5.7840185e-07, -4.407152e-06, 100, 1.0881187, -36.91172, -1.4877721e-05, 2.7383292, 0, 6.3970623)
material_override = ExtResource("3_hj70d") material_override = ExtResource("3_hj70d")
material_overlay = SubResource("ShaderMaterial_gsd23")
mesh = SubResource("ArrayMesh_s4u17") mesh = SubResource("ArrayMesh_s4u17")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Chunk_006" type="MeshInstance3D" parent="." index="3" unique_id=1766076384] [node name="Chunk_006" type="MeshInstance3D" parent="." index="3" unique_id=1766076384]
transform = Transform3D(-70.80811, 6.212535e-06, 3.821371e-13, 0, -3.1062675e-06, 100.00001, 6.1902415e-06, 71.06311, 4.371139e-06, 2.4387622, -0.023403406, 0.024760723) transform = Transform3D(-70.80811, 6.212535e-06, 3.821371e-13, 0, -3.1062675e-06, 100.00001, 6.1902415e-06, 71.06311, 4.371139e-06, 2.4387622, -0.023403406, 0.024760723)
material_override = SubResource("StandardMaterial3D_15ugy") material_override = SubResource("StandardMaterial3D_15ugy")
material_overlay = SubResource("ShaderMaterial_pfoxn")
mesh = SubResource("ArrayMesh_s4u17") mesh = SubResource("ArrayMesh_s4u17")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Chunk_004" parent="." index="4" unique_id=2103650482] [node name="Chunk_004" parent="." index="4" unique_id=2103650482]
material_override = SubResource("StandardMaterial3D_vxc6e") material_override = SubResource("StandardMaterial3D_vxc6e")
material_overlay = SubResource("ShaderMaterial_7wsa6")
[node name="Chunk_038" parent="." index="5" unique_id=476922148] [node name="Chunk_038" parent="." index="5" unique_id=476922148]
material_override = ExtResource("3_hj70d") material_override = ExtResource("3_hj70d")
material_overlay = SubResource("ShaderMaterial_6vw5y")
[node name="Cube_016" parent="." index="6" unique_id=117542775] [node name="Cube_016" parent="." index="6" unique_id=117542775]
visible = false visible = false

View File

@@ -1,11 +1,18 @@
[gd_scene format=3 uid="uid://dutvq3oy1ni7c"] [gd_scene format=3 uid="uid://dutvq3oy1ni7c"]
[ext_resource type="PackedScene" uid="uid://ktojgkguvyc7" path="res://Assets/Meshes/House/House_XL_1.fbx" id="1_ixasg"] [ext_resource type="PackedScene" uid="uid://ktojgkguvyc7" path="res://Assets/Meshes/House/House_XL_1.fbx" id="1_ixasg"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_66ubd"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_bjrfw"] [ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_bjrfw"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_kj03q"] [ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_kj03q"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ktn4d"]
render_priority = 0
shader = ExtResource("2_66ubd")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[node name="House_XL_1" unique_id=297136650 instance=ExtResource("1_ixasg")] [node name="House_XL_1" unique_id=297136650 instance=ExtResource("1_ixasg")]
[node name="Cube_188" parent="." index="0" unique_id=389179127] [node name="Cube_188" parent="." index="0" unique_id=389179127]
material_overlay = SubResource("ShaderMaterial_ktn4d")
surface_material_override/0 = ExtResource("2_bjrfw") surface_material_override/0 = ExtResource("2_bjrfw")
surface_material_override/1 = ExtResource("3_kj03q") surface_material_override/1 = ExtResource("3_kj03q")

View File

@@ -2,10 +2,17 @@
[ext_resource type="PackedScene" uid="uid://dx3rxahad0ilo" path="res://Assets/Meshes/House/House_XL_4.fbx" id="1_r3art"] [ext_resource type="PackedScene" uid="uid://dx3rxahad0ilo" path="res://Assets/Meshes/House/House_XL_4.fbx" id="1_r3art"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_mswf7"] [ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_mswf7"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_wanxj"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_n3fsy"] [ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_n3fsy"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fprka"]
render_priority = 0
shader = ExtResource("2_wanxj")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[node name="House_XL_4" unique_id=1350238174 instance=ExtResource("1_r3art")] [node name="House_XL_4" unique_id=1350238174 instance=ExtResource("1_r3art")]
[node name="House_XL_4" parent="." index="0" unique_id=479839665] [node name="House_XL_4" parent="." index="0" unique_id=479839665]
material_overlay = SubResource("ShaderMaterial_fprka")
surface_material_override/0 = ExtResource("2_mswf7") surface_material_override/0 = ExtResource("2_mswf7")
surface_material_override/1 = ExtResource("3_n3fsy") surface_material_override/1 = ExtResource("3_n3fsy")

View File

@@ -2,8 +2,15 @@
[ext_resource type="PackedScene" uid="uid://coeijlody2qb3" path="res://Assets/Meshes/House/House_Muraglione.fbx" id="1_m4ocs"] [ext_resource type="PackedScene" uid="uid://coeijlody2qb3" path="res://Assets/Meshes/House/House_Muraglione.fbx" id="1_m4ocs"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_7l0dg"] [ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_7l0dg"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_7laxy"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bdf8l"]
render_priority = 0
shader = ExtResource("2_7laxy")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[node name="House_Muraglione" unique_id=1060427946 instance=ExtResource("1_m4ocs")] [node name="House_Muraglione" unique_id=1060427946 instance=ExtResource("1_m4ocs")]
[node name="House_Muraglione" parent="." index="0" unique_id=1620072056] [node name="House_Muraglione" parent="." index="0" unique_id=1620072056]
material_overlay = SubResource("ShaderMaterial_bdf8l")
surface_material_override/0 = ExtResource("2_7l0dg") surface_material_override/0 = ExtResource("2_7l0dg")

File diff suppressed because one or more lines are too long

View File

@@ -2,19 +2,30 @@
[ext_resource type="PackedScene" uid="uid://fo75ribfqa66" path="res://Assets/Meshes/Chunk/Orto/Test_Orto_Small.fbx" id="1_a761l"] [ext_resource type="PackedScene" uid="uid://fo75ribfqa66" path="res://Assets/Meshes/Chunk/Orto/Test_Orto_Small.fbx" id="1_a761l"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="2_atyaj"] [ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="2_atyaj"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="3_d5tbt"]
[ext_resource type="PackedScene" uid="uid://sybnjir2d05" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloEsterno.tscn" id="3_el0wm"] [ext_resource type="PackedScene" uid="uid://sybnjir2d05" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloEsterno.tscn" id="3_el0wm"]
[ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="4_nkb5e"] [ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="4_nkb5e"]
[ext_resource type="Shader" uid="uid://cw7lu2soglhqu" path="res://Shaders/Grain_Test.gdshader" id="5_rnryk"] [ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="6_d5tbt"]
[ext_resource type="Texture2D" uid="uid://dluagib52he0x" path="res://Assets/Textures/grass_thin.png" id="6_rnryk"] [ext_resource type="Texture2D" uid="uid://dluagib52he0x" path="res://Assets/Textures/grass_thin.png" id="6_rnryk"]
[ext_resource type="PackedScene" uid="uid://igbtt2ypx0ks" path="res://Scenes/Chunk_Scene/Prop/Staccionate.tscn" id="7_rnryk"] [ext_resource type="PackedScene" uid="uid://igbtt2ypx0ks" path="res://Scenes/Chunk_Scene/Prop/Staccionate.tscn" id="7_rnryk"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_580to"]
render_priority = 0
shader = ExtResource("3_d5tbt")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_og5cy"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_og5cy"]
render_priority = 0 render_priority = 0
shader = ExtResource("5_rnryk") shader = ExtResource("6_d5tbt")
shader_parameter/billboard_enabled = true
shader_parameter/wind_enabled = true
shader_parameter/base_color = Color(0.6910962, 0.46426672, 0.08072326, 1) shader_parameter/base_color = Color(0.6910962, 0.46426672, 0.08072326, 1)
shader_parameter/alpha_texture = ExtResource("6_rnryk") shader_parameter/alpha_texture = ExtResource("6_rnryk")
shader_parameter/leaves_scale = 1.0 shader_parameter/leaves_scale = 1.0
shader_parameter/rotation_degrees = 180.0 shader_parameter/rotation_degrees = 180.0
shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -35,13 +46,14 @@ buffer = PackedFloat32Array(0.19220352, 0.98237413, 0, 1.3770782, -0.98237413, 0
[node name="Test_Orto_Small" unique_id=1422441497 instance=ExtResource("1_a761l")] [node name="Test_Orto_Small" unique_id=1422441497 instance=ExtResource("1_a761l")]
[node name="Orto_Small" parent="." index="0" unique_id=1234053739] [node name="Orto_Small" parent="." index="0" unique_id=705093191]
visible = false visible = false
[node name="Orto_Small_001" parent="." index="1" unique_id=604518221] [node name="Orto_Small_001" parent="." index="1" unique_id=1144157791]
material_override = ExtResource("2_atyaj") material_override = ExtResource("2_atyaj")
material_overlay = SubResource("ShaderMaterial_580to")
[node name="Orto_Small_002" parent="." index="2" unique_id=880897058] [node name="Orto_Small_002" parent="." index="2" unique_id=1636639678]
material_override = ExtResource("2_atyaj") material_override = ExtResource("2_atyaj")
[node name="Test_BordiSentiero" parent="." index="3" unique_id=1395614268 instance=ExtResource("3_el0wm")] [node name="Test_BordiSentiero" parent="." index="3" unique_id=1395614268 instance=ExtResource("3_el0wm")]

View File

@@ -2,6 +2,22 @@
[ext_resource type="PackedScene" uid="uid://di6tbgetp5y8q" path="res://Assets/Meshes/Chunk/Prop/MSH_Staccionate.fbx" id="1_j7em5"] [ext_resource type="PackedScene" uid="uid://di6tbgetp5y8q" path="res://Assets/Meshes/Chunk/Prop/MSH_Staccionate.fbx" id="1_j7em5"]
[ext_resource type="Material" uid="uid://wkegx4a21x7u" path="res://Materials/Staccionata.tres" id="2_2tbpd"] [ext_resource type="Material" uid="uid://wkegx4a21x7u" path="res://Materials/Staccionata.tres" id="2_2tbpd"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="3_xsxbg"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2jjob"]
render_priority = 0
shader = ExtResource("3_xsxbg")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5qj1r"]
render_priority = 0
shader = ExtResource("3_xsxbg")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xsxbg"]
render_priority = 0
shader = ExtResource("3_xsxbg")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1jtrr"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1jtrr"]
resource_name = "lambert48" resource_name = "lambert48"
@@ -43,23 +59,32 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_d4r25") shadow_mesh = SubResource("ArrayMesh_d4r25")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_p4545"]
render_priority = 0
shader = ExtResource("3_xsxbg")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[node name="MSH_Staccionate" unique_id=118332436 instance=ExtResource("1_j7em5")] [node name="MSH_Staccionate" unique_id=118332436 instance=ExtResource("1_j7em5")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0)
[node name="MSH_Staccioanta_3" parent="." index="0" unique_id=1776318188] [node name="MSH_Staccioanta_3" parent="." index="0" unique_id=1218567814]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0037837923, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0037837923, 0, 0)
material_override = ExtResource("2_2tbpd") material_override = ExtResource("2_2tbpd")
material_overlay = SubResource("ShaderMaterial_2jjob")
[node name="MSH_Staccioanta_2" parent="." index="1" unique_id=311534552] [node name="MSH_Staccioanta_2" parent="." index="1" unique_id=223276087]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.99746555, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.99746555, 0, 0)
material_override = ExtResource("2_2tbpd") material_override = ExtResource("2_2tbpd")
material_overlay = SubResource("ShaderMaterial_5qj1r")
[node name="MSH_Staccioanta_4" type="MeshInstance3D" parent="." index="2" unique_id=997680864] [node name="MSH_Staccioanta_4" type="MeshInstance3D" parent="." index="2" unique_id=997680864]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.99746555, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.3966007, 0, 0)
material_override = ExtResource("2_2tbpd") material_override = ExtResource("2_2tbpd")
material_overlay = SubResource("ShaderMaterial_xsxbg")
mesh = SubResource("ArrayMesh_h5j06") mesh = SubResource("ArrayMesh_h5j06")
skeleton = NodePath("") skeleton = NodePath("")
[node name="MSH_Staccioanta_1" parent="." index="3" unique_id=1889502099] [node name="MSH_Staccioanta_1" parent="." index="3" unique_id=1140003948]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.0379614, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.0379614, 0, 0)
material_override = ExtResource("2_2tbpd") material_override = ExtResource("2_2tbpd")
material_overlay = SubResource("ShaderMaterial_p4545")

View File

@@ -3,6 +3,7 @@
[ext_resource type="Script" uid="uid://dcaxomfkulrig" path="res://Scripts/Day_night_Cycle.gd" id="1_cr3ar"] [ext_resource type="Script" uid="uid://dcaxomfkulrig" path="res://Scripts/Day_night_Cycle.gd" id="1_cr3ar"]
[ext_resource type="Material" uid="uid://dknvdsov2jrg6" path="res://Materials/Fog.tres" id="2_4xv0h"] [ext_resource type="Material" uid="uid://dknvdsov2jrg6" path="res://Materials/Fog.tres" id="2_4xv0h"]
[ext_resource type="Material" uid="uid://7bu5f4o0v8vw" path="res://Materials/Rain.tres" id="3_4wepm"] [ext_resource type="Material" uid="uid://7bu5f4o0v8vw" path="res://Materials/Rain.tres" id="3_4wepm"]
[ext_resource type="Material" uid="uid://c0hckftuuyag0" path="res://Materials/Snow.tres" id="3_l1dl0"]
[ext_resource type="Material" uid="uid://cknq8qhom7ral" path="res://Materials/ShadowPostProcess.tres" id="4_00nhk"] [ext_resource type="Material" uid="uid://cknq8qhom7ral" path="res://Materials/ShadowPostProcess.tres" id="4_00nhk"]
[ext_resource type="Texture2D" uid="uid://v4gyjc8j7ygj" path="res://Assets/Textures/Lightingl.png" id="4_gffi5"] [ext_resource type="Texture2D" uid="uid://v4gyjc8j7ygj" path="res://Assets/Textures/Lightingl.png" id="4_gffi5"]
[ext_resource type="Shader" uid="uid://l6rkqonic7dj" path="res://Shaders/Sky.gdshader" id="5_bedag"] [ext_resource type="Shader" uid="uid://l6rkqonic7dj" path="res://Shaders/Sky.gdshader" id="5_bedag"]
@@ -63,11 +64,11 @@ shader_parameter/night_intensity = 0.0
shader_parameter/cloud_noise = SubResource("NoiseTexture2D_10fbe") shader_parameter/cloud_noise = SubResource("NoiseTexture2D_10fbe")
shader_parameter/sun_color = Color(1, 1, 1, 1) shader_parameter/sun_color = Color(1, 1, 1, 1)
shader_parameter/cloud_center_color = Color(1, 1, 1, 1) shader_parameter/cloud_center_color = Color(1, 1, 1, 1)
shader_parameter/cloud_edge_color = Color(0.7584623, 0.86291385, 0.91784096, 1) shader_parameter/cloud_edge_color = Color(0.8, 0.85, 0.9, 1)
shader_parameter/cloud_direction = Vector2(0.05, 0.02) shader_parameter/cloud_direction = Vector2(0.05, 0.02)
shader_parameter/cloud_speed = 0.1 shader_parameter/cloud_speed = 0.1
shader_parameter/cloud_scale = 0.5 shader_parameter/cloud_scale = 0.5
shader_parameter/cloud_threshold = 0.5 shader_parameter/cloud_threshold = 0.50000002375
shader_parameter/cloud_edge_thickness = 0.406000019285 shader_parameter/cloud_edge_thickness = 0.406000019285
shader_parameter/cloud_edge_softness = 0.0 shader_parameter/cloud_edge_softness = 0.0
shader_parameter/star_density = 1500.0 shader_parameter/star_density = 1500.0
@@ -218,22 +219,35 @@ material = SubResource("ShaderMaterial_gpe07")
subdivide_depth = 3 subdivide_depth = 3
orientation = 1 orientation = 1
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_qqnw7"] [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_l1dl0"]
particle_flag_align_y = true particle_flag_align_y = true
emission_shape_scale = Vector3(70, 70, 70) emission_shape_scale = Vector3(50, 10, 50)
emission_shape = 3 emission_shape = 3
emission_box_extents = Vector3(1, 1, 1) emission_box_extents = Vector3(1, 1, 1)
direction = Vector3(0, -1, 0) direction = Vector3(0, -1, 0)
spread = 0.0 spread = 0.0
initial_velocity_min = 15.0 initial_velocity_min = 10.0
initial_velocity_max = 20.0 initial_velocity_max = 25.0
collision_mode = 2 gravity = Vector3(0, -9, 0)
sub_emitter_mode = 3
sub_emitter_amount_at_collision = 1 [sub_resource type="QuadMesh" id="QuadMesh_l1dl0"]
material = ExtResource("3_4wepm")
size = Vector2(0.05, 0.8)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kjb07"]
transparency = 1
albedo_color = Color(0.8646751, 0.86467516, 0.8646751, 1)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.2
billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_54p3t"] [sub_resource type="QuadMesh" id="QuadMesh_54p3t"]
material = ExtResource("3_4wepm") material = SubResource("StandardMaterial3D_kjb07")
size = Vector2(0.05, 1) size = Vector2(0.2, 0.2)
[sub_resource type="QuadMesh" id="QuadMesh_jfpsf"] [sub_resource type="QuadMesh" id="QuadMesh_jfpsf"]
@@ -248,6 +262,7 @@ shader_parameter/leaves_scale = 1.0
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0) shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0 shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.0 shader_parameter/shadow_intensity = 0.0
@@ -274,8 +289,10 @@ turbulence_enabled = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_on20a"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_on20a"]
transparency = 1 transparency = 1
shading_mode = 0
vertex_color_use_as_albedo = true vertex_color_use_as_albedo = true
emission_enabled = true
emission = Color(0.9452602, 0.8269828, 0.0956705, 1)
emission_energy_multiplier = 16.0
billboard_mode = 3 billboard_mode = 3
particles_anim_h_frames = 1 particles_anim_h_frames = 1
particles_anim_v_frames = 1 particles_anim_v_frames = 1
@@ -345,6 +362,7 @@ shader_parameter/leaves_scale = 1.0
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0.12) shader_parameter/texture_offset = Vector2(0, 0.12)
shader_parameter/opacity = 1.0 shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.5 shader_parameter/shadow_intensity = 0.5
@@ -364,6 +382,7 @@ shader_parameter/leaves_scale = 1.0
shader_parameter/rotation_degrees = 0.0 shader_parameter/rotation_degrees = 0.0
shader_parameter/texture_offset = Vector2(0, 0) shader_parameter/texture_offset = Vector2(0, 0)
shader_parameter/opacity = 1.0 shader_parameter/opacity = 1.0
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
shader_parameter/height_min = 0.0 shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0 shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.0 shader_parameter/shadow_intensity = 0.0
@@ -716,18 +735,17 @@ shader_parameter/blur_amount = 0.70000003325
shader_parameter/focus_size = 0.450000021375 shader_parameter/focus_size = 0.450000021375
shader_parameter/transition_softness = 0.3 shader_parameter/transition_softness = 0.3
[node name="DemoForest" type="Node3D" unique_id=265279494 node_paths=PackedStringArray("nodo_polvere", "particelle_lucciole", "particelle_vento")] [node name="DemoForest" type="Node3D" unique_id=265279494 node_paths=PackedStringArray("nodo_polvere", "particelle_lucciole", "particelle_vento", "bottone_neve", "bottone_nevicata", "overlay_nebbia_schermo", "particelle_neve")]
script = ExtResource("1_cr3ar") script = ExtResource("1_cr3ar")
color_pomeriggio = Color(0.9999996, 0.6887105, 0.42199263, 1) color_pomeriggio = Color(0.9999996, 0.6887105, 0.42199263, 1)
color_notte = Color(0.18353948, 0.18552834, 0.48496485, 1) color_notte = Color(0.18353948, 0.18552834, 0.48496485, 1)
sky_horizon_mattina = Color(0.18031025, 0.35056397, 0.5027117, 1) sky_horizon_mattina = Color(0.18031025, 0.35056397, 0.5027117, 1)
sky_horizon_pomeriggio = Color(0.58704865, 0.36022854, 0.09941775, 1) sky_horizon_pomeriggio = Color(0.58704865, 0.36022854, 0.09941775, 1)
energia_luce_notte = 0.998 energia_luce_notte = 1.0
materiale_nebbia = ExtResource("2_4xv0h") materiale_nebbia = ExtResource("2_4xv0h")
materiale_pioggia_gocce = ExtResource("3_4wepm") materiale_pioggia_gocce = ExtResource("3_l1dl0")
materiale_nuvole = ExtResource("4_00nhk") materiale_nuvole = ExtResource("4_00nhk")
nodo_polvere = NodePath("SubViewportContainer/SubViewport/ScreenEffect/PolvereAtmosferica") nodo_polvere = NodePath("SubViewportContainer/SubViewport/ScreenEffect/PolvereAtmosferica")
colore_mood_pioggia = Color(0.64196956, 0.72286916, 0.80763674, 1)
colore_fulmine = Color(0.99999946, 0.9857114, 0.46342158, 1) colore_fulmine = Color(0.99999946, 0.9857114, 0.46342158, 1)
fulmini_min = 2 fulmini_min = 2
fulmini_max = 4 fulmini_max = 4
@@ -744,6 +762,10 @@ quantita_lucciole = 400
raggio_spawn_lucciole = 40.0 raggio_spawn_lucciole = 40.0
particelle_vento = NodePath("SubViewportContainer/SubViewport/World/Camere/CameraPivot/Wind") particelle_vento = NodePath("SubViewportContainer/SubViewport/World/Camere/CameraPivot/Wind")
quantita_vento = 50 quantita_vento = 50
bottone_neve = NodePath("CanvasLayer/CheckButtonNeve")
bottone_nevicata = NodePath("CanvasLayer/CheckButtonNevicata")
overlay_nebbia_schermo = NodePath("SubViewportContainer/SubViewport/ScreenEffect2/Nebbia")
particelle_neve = NodePath("SubViewportContainer/SubViewport/World/Camere/NeveN")
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=427161585] [node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=427161585]
@@ -751,6 +773,7 @@ quantita_vento = 50
offset_top = 583.0 offset_top = 583.0
offset_right = 44.0 offset_right = 44.0
offset_bottom = 607.0 offset_bottom = 607.0
text = "P"
[node name="OptionButton" type="OptionButton" parent="CanvasLayer" unique_id=2115563700] [node name="OptionButton" type="OptionButton" parent="CanvasLayer" unique_id=2115563700]
anchors_preset = 2 anchors_preset = 2
@@ -760,6 +783,18 @@ offset_top = -41.0
offset_right = 44.0 offset_right = 44.0
grow_vertical = 0 grow_vertical = 0
[node name="CheckButtonNeve" type="CheckButton" parent="CanvasLayer" unique_id=1345861838]
offset_top = 562.63
offset_right = 44.0
offset_bottom = 586.63
text = "N"
[node name="CheckButtonNevicata" type="CheckButton" parent="CanvasLayer" unique_id=178115852]
offset_left = 50.915
offset_top = 566.0
offset_right = 94.91504
offset_bottom = 590.0
[node name="GPUParticlesCollisionHeightField3D" type="GPUParticlesCollisionHeightField3D" parent="." unique_id=518451865] [node name="GPUParticlesCollisionHeightField3D" type="GPUParticlesCollisionHeightField3D" parent="." unique_id=518451865]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.428604, -6.3361816, 43.268837) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.428604, -6.3361816, 43.268837)
size = Vector3(51.92697, 11.827637, 85.98999) size = Vector3(51.92697, 11.827637, 85.98999)
@@ -850,12 +885,21 @@ alpha_cut = 1
texture = ExtResource("4_gffi5") texture = ExtResource("4_gffi5")
[node name="PioggiaCadente" type="GPUParticles3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1150140046] [node name="PioggiaCadente" type="GPUParticles3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1150140046]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 30.411049) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8.002199, 30.411049)
cast_shadow = 0
extra_cull_margin = 10.0
amount = 5000
lifetime = 1.5
process_material = SubResource("ParticleProcessMaterial_l1dl0")
draw_pass_1 = SubResource("QuadMesh_l1dl0")
[node name="NeveN" type="GPUParticles3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=698604166]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 21.260101, 30.411049)
cast_shadow = 0 cast_shadow = 0
extra_cull_margin = 10.0 extra_cull_margin = 10.0
amount = 10000 amount = 10000
lifetime = 1.5 lifetime = 4.0
process_material = SubResource("ParticleProcessMaterial_qqnw7") process_material = ExtResource("3_l1dl0")
draw_pass_1 = SubResource("QuadMesh_54p3t") draw_pass_1 = SubResource("QuadMesh_54p3t")
[node name="CameraFrontale" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1311130431] [node name="CameraFrontale" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1311130431]

View File

@@ -2,9 +2,15 @@
[ext_resource type="PackedScene" uid="uid://yjj64i1atwyg" path="res://Assets/Test/Main_Train.fbx" id="1_8k78i"] [ext_resource type="PackedScene" uid="uid://yjj64i1atwyg" path="res://Assets/Test/Main_Train.fbx" id="1_8k78i"]
[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="2_crne2"] [ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="2_crne2"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_dbt0l"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="3_tf27f"] [ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="3_tf27f"]
[ext_resource type="Material" uid="uid://bu8wmlp0ffark" path="res://Materials/Treno3.tres" id="4_e08y7"] [ext_resource type="Material" uid="uid://bu8wmlp0ffark" path="res://Materials/Treno3.tres" id="4_e08y7"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tvivt"]
render_priority = 0
shader = ExtResource("2_dbt0l")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="PlaneMesh" id="PlaneMesh_8k78i"] [sub_resource type="PlaneMesh" id="PlaneMesh_8k78i"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_crne2"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_crne2"]
@@ -15,8 +21,9 @@ emission_energy_multiplier = 5.87
[node name="Train2" unique_id=206892833 instance=ExtResource("1_8k78i")] [node name="Train2" unique_id=206892833 instance=ExtResource("1_8k78i")]
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
[node name="polySurface3708_002" parent="." index="0" unique_id=1301675555] [node name="polySurface3708_002" parent="." index="0" unique_id=1525054251]
transform = Transform3D(99.99998, 0, 0, 0, -4.3711375e-06, 99.99999, 0, -99.99997, -4.3711384e-06, 0, 1.5, 0) transform = Transform3D(99.99998, 0, 0, 0, -4.3711375e-06, 99.99999, 0, -99.99997, -4.3711384e-06, 0, 1.5, 0)
material_overlay = SubResource("ShaderMaterial_tvivt")
surface_material_override/0 = ExtResource("2_crne2") surface_material_override/0 = ExtResource("2_crne2")
surface_material_override/1 = ExtResource("3_tf27f") surface_material_override/1 = ExtResource("3_tf27f")
surface_material_override/2 = ExtResource("2_crne2") surface_material_override/2 = ExtResource("2_crne2")

View File

@@ -1,6 +1,7 @@
[gd_scene format=3 uid="uid://qyml1s00773u"] [gd_scene format=3 uid="uid://qyml1s00773u"]
[ext_resource type="Shader" uid="uid://c0dy1aqj1b4q3" path="res://Shaders/trunk_shader.gdshader" id="1_ysg1u"] [ext_resource type="Shader" uid="uid://c0dy1aqj1b4q3" path="res://Shaders/trunk_shader.gdshader" id="1_ysg1u"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_0y2rr"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_m6haf"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_m6haf"]
render_priority = 0 render_priority = 0
@@ -17,6 +18,11 @@ shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1) shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0 shader_parameter/emission_energy = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_duyun"]
render_priority = 0
shader = ExtResource("2_0y2rr")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="BoxMesh" id="BoxMesh_w0ibq"] [sub_resource type="BoxMesh" id="BoxMesh_w0ibq"]
size = Vector3(0.2, 0.2, 2) size = Vector3(0.2, 0.2, 2)
@@ -35,6 +41,11 @@ shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1) shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0 shader_parameter/emission_energy = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hb1ej"]
render_priority = 0
shader = ExtResource("2_0y2rr")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pp4r2"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_pp4r2"]
render_priority = 0 render_priority = 0
shader = ExtResource("1_ysg1u") shader = ExtResource("1_ysg1u")
@@ -50,6 +61,11 @@ shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1) shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0 shader_parameter/emission_energy = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pur2n"]
render_priority = 0
shader = ExtResource("2_0y2rr")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="BoxMesh" id="BoxMesh_ysg1u"] [sub_resource type="BoxMesh" id="BoxMesh_ysg1u"]
size = Vector3(3.705, 0.2, 0.565) size = Vector3(3.705, 0.2, 0.565)
@@ -68,6 +84,11 @@ shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1) shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0 shader_parameter/emission_energy = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qv8m2"]
render_priority = 0
shader = ExtResource("2_0y2rr")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5u2u8"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_5u2u8"]
render_priority = 0 render_priority = 0
shader = ExtResource("1_ysg1u") shader = ExtResource("1_ysg1u")
@@ -91,21 +112,25 @@ size = Vector3(3.705, 0.2, 1.92)
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1040579890] [node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1040579890]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1681762, 0.21419203, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1681762, 0.21419203, 0)
material_override = SubResource("ShaderMaterial_m6haf") material_override = SubResource("ShaderMaterial_m6haf")
material_overlay = SubResource("ShaderMaterial_duyun")
mesh = SubResource("BoxMesh_w0ibq") mesh = SubResource("BoxMesh_w0ibq")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="." unique_id=1870708237] [node name="MeshInstance3D2" type="MeshInstance3D" parent="." unique_id=1870708237]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.0276046, 0.21419203, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.0276046, 0.21419203, 0)
material_override = SubResource("ShaderMaterial_fttrp") material_override = SubResource("ShaderMaterial_fttrp")
material_overlay = SubResource("ShaderMaterial_hb1ej")
mesh = SubResource("BoxMesh_w0ibq") mesh = SubResource("BoxMesh_w0ibq")
[node name="MeshInstance3D3" type="MeshInstance3D" parent="." unique_id=170245195] [node name="MeshInstance3D3" type="MeshInstance3D" parent="." unique_id=170245195]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.08, 0.058, 0.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.08, 0.058, 0.5)
material_override = SubResource("ShaderMaterial_pp4r2") material_override = SubResource("ShaderMaterial_pp4r2")
material_overlay = SubResource("ShaderMaterial_pur2n")
mesh = SubResource("BoxMesh_ysg1u") mesh = SubResource("BoxMesh_ysg1u")
[node name="MeshInstance3D4" type="MeshInstance3D" parent="." unique_id=1389288735] [node name="MeshInstance3D4" type="MeshInstance3D" parent="." unique_id=1389288735]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.08, 0.058, -0.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.08, 0.058, -0.5)
material_override = SubResource("ShaderMaterial_x2uev") material_override = SubResource("ShaderMaterial_x2uev")
material_overlay = SubResource("ShaderMaterial_qv8m2")
mesh = SubResource("BoxMesh_ysg1u") mesh = SubResource("BoxMesh_ysg1u")
[node name="MeshInstance3D5" type="MeshInstance3D" parent="." unique_id=1376217081] [node name="MeshInstance3D5" type="MeshInstance3D" parent="." unique_id=1376217081]

View File

@@ -2,8 +2,14 @@
[ext_resource type="PackedScene" uid="uid://bcsbg7br73nqc" path="res://Assets/Test/ToriGate.fbx" id="1_6kg7a"] [ext_resource type="PackedScene" uid="uid://bcsbg7br73nqc" path="res://Assets/Test/ToriGate.fbx" id="1_6kg7a"]
[ext_resource type="Shader" uid="uid://c0dy1aqj1b4q3" path="res://Shaders/trunk_shader.gdshader" id="2_1ibku"] [ext_resource type="Shader" uid="uid://c0dy1aqj1b4q3" path="res://Shaders/trunk_shader.gdshader" id="2_1ibku"]
[ext_resource type="Shader" uid="uid://do0tct77dfhef" path="res://Shaders/snow.gdshader" id="2_ttfuh"]
[ext_resource type="Texture2D" uid="uid://cdlgd0h5qeb7k" path="res://Assets/Textures/Palette_train.png" id="3_6126s"] [ext_resource type="Texture2D" uid="uid://cdlgd0h5qeb7k" path="res://Assets/Textures/Palette_train.png" id="3_6126s"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yswvv"]
render_priority = 0
shader = ExtResource("2_ttfuh")
shader_parameter/snow_color = Color(0.95, 0.98, 1, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3mqnu"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_3mqnu"]
render_priority = 0 render_priority = 0
shader = ExtResource("2_1ibku") shader = ExtResource("2_1ibku")
@@ -11,6 +17,7 @@ shader_parameter/albedo_color = Color(1, 1, 1, 1)
shader_parameter/albedo_texture = ExtResource("3_6126s") shader_parameter/albedo_texture = ExtResource("3_6126s")
shader_parameter/use_texture = true shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1) shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/palette_shift_y = 0.0
shader_parameter/light_steps = 3.0 shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1 shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
@@ -21,5 +28,6 @@ shader_parameter/emission_energy = 0.0
[node name="Tori1" unique_id=1219093134 instance=ExtResource("1_6kg7a")] [node name="Tori1" unique_id=1219093134 instance=ExtResource("1_6kg7a")]
[node name="Sphere_001" parent="." index="0" unique_id=1609600992] [node name="Sphere_001" parent="." index="0" unique_id=2137140690]
material_overlay = SubResource("ShaderMaterial_yswvv")
surface_material_override/0 = SubResource("ShaderMaterial_3mqnu") surface_material_override/0 = SubResource("ShaderMaterial_3mqnu")

View File

@@ -54,13 +54,21 @@ extends Node3D
@export var raggio_spawn_lucciole: float = 20.0 @export var raggio_spawn_lucciole: float = 20.0
@export var altezza_spawn_lucciole: float = 3.0 @export var altezza_spawn_lucciole: float = 3.0
# --- NUOVO: GRUPPO VENTO ---
@export_group("Vento") @export_group("Vento")
@export var particelle_vento: GPUParticles3D @export var particelle_vento: GPUParticles3D
@export var quantita_vento: int = 100 @export var quantita_vento: int = 100
@export var raggio_spawn_vento: float = 25.0 @export var raggio_spawn_vento: float = 25.0
@export var altezza_spawn_vento: float = 5.0 @export var altezza_spawn_vento: float = 5.0
# --- GRUPPO NEVE AGGIORNATO ---
@export_group("Neve")
@export var bottone_neve: Button
@export var bottone_nevicata: Button
@export var overlay_nebbia_schermo: ColorRect
@export var particelle_neve: GPUParticles3D
@export var quantita_neve: int = 2000
@export var tempo_transizione_neve: float = 10.0
@onready var sole: DirectionalLight3D = $DirectionalLight3D @onready var sole: DirectionalLight3D = $DirectionalLight3D
@onready var ambiente: WorldEnvironment = $WorldEnvironment @onready var ambiente: WorldEnvironment = $WorldEnvironment
@onready var menu_giornata: OptionButton = $CanvasLayer/OptionButton @onready var menu_giornata: OptionButton = $CanvasLayer/OptionButton
@@ -79,6 +87,13 @@ var is_cinematic_mode: bool = false
var timer_cinematic_env: float = 0.0 var timer_cinematic_env: float = 0.0
var sto_cambiando_in_cinematic: bool = false var sto_cambiando_in_cinematic: bool = false
# Variabili di stato per la neve
var is_snow_accumulated: bool = false
var is_actively_snowing: bool = false
var snow_tween: Tween
var cold_tween: Tween
var actual_snow_amount: float = 0.0
func _ready() -> void: func _ready() -> void:
if menu_giornata: if menu_giornata:
menu_giornata.clear() menu_giornata.clear()
@@ -102,7 +117,7 @@ func _ready() -> void:
if proc_mat: if proc_mat:
proc_mat.emission_box_extents = Vector3(raggio_spawn_lucciole, altezza_spawn_lucciole, raggio_spawn_lucciole) proc_mat.emission_box_extents = Vector3(raggio_spawn_lucciole, altezza_spawn_lucciole, raggio_spawn_lucciole)
# --- NUOVO: INIZIALIZZAZIONE VENTO --- # Inizializzazione Vento
if particelle_vento: if particelle_vento:
particelle_vento.emitting = false particelle_vento.emitting = false
particelle_vento.amount = quantita_vento particelle_vento.amount = quantita_vento
@@ -110,6 +125,20 @@ func _ready() -> void:
if proc_mat_vento: if proc_mat_vento:
proc_mat_vento.emission_box_extents = Vector3(raggio_spawn_vento, altezza_spawn_vento, raggio_spawn_vento) proc_mat_vento.emission_box_extents = Vector3(raggio_spawn_vento, altezza_spawn_vento, raggio_spawn_vento)
# --- INIZIALIZZAZIONE NEVE ---
set_snow_amount(0.0)
if particelle_neve:
particelle_neve.emitting = false
particelle_neve.amount = quantita_neve
if bottone_neve:
bottone_neve.pressed.connect(_on_snow_button_pressed)
if bottone_nevicata:
bottone_nevicata.pressed.connect(_on_nevicata_button_pressed)
bottone_nevicata.disabled = true
_resetta_timer_fulmine() _resetta_timer_fulmine()
func _input(event: InputEvent) -> void: func _input(event: InputEvent) -> void:
@@ -341,3 +370,52 @@ func spawn_single_godray() -> void:
ray.global_position = nodo_camere.global_position + Vector3(random_x, godray_spawn_height, random_z) ray.global_position = nodo_camere.global_position + Vector3(random_x, godray_spawn_height, random_z)
ray.rotation_degrees = godray_rotation_degrees ray.rotation_degrees = godray_rotation_degrees
ray.scale = godray_scale ray.scale = godray_scale
# ==========================================
# --- LOGICA NEVE AGGIORNATA ---
# ==========================================
func _on_snow_button_pressed():
is_snow_accumulated = !is_snow_accumulated
# Sblocca il pulsante nevicata solo se c'è accumulo
if bottone_nevicata:
bottone_nevicata.disabled = !is_snow_accumulated
# Se sciogliamo la neve, fermiamo anche la nevicata attiva
if not is_snow_accumulated and is_actively_snowing:
_on_nevicata_button_pressed()
var target_snow: float = 1.0 if is_snow_accumulated else 0.0
if snow_tween and snow_tween.is_valid():
snow_tween.kill()
snow_tween = create_tween()
snow_tween.tween_method(set_snow_amount, actual_snow_amount, target_snow, tempo_transizione_neve)
func _on_nevicata_button_pressed():
if not is_snow_accumulated:
return
is_actively_snowing = !is_actively_snowing
if particelle_neve:
particelle_neve.emitting = is_actively_snowing
if overlay_nebbia_schermo and overlay_nebbia_schermo.material:
var target_opacity: float = 1.0 if is_actively_snowing else 0.135
var target_radius: float = 0.350 if is_actively_snowing else 0.465
if cold_tween and cold_tween.is_valid():
cold_tween.kill()
cold_tween = create_tween()
cold_tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN_OUT)
cold_tween.set_parallel(true)
cold_tween.tween_property(overlay_nebbia_schermo.material, "shader_parameter/max_opacity", target_opacity, 4.0)
cold_tween.tween_property(overlay_nebbia_schermo.material, "shader_parameter/clear_center_radius", target_radius, 4.0)
func set_snow_amount(value: float):
actual_snow_amount = value
RenderingServer.global_shader_parameter_set("global_snow_amount", value)

32
Shaders/snow.gdshader Normal file
View File

@@ -0,0 +1,32 @@
shader_type spatial;
// Blend mix ci permette di sovrapporre la neve senza nascondere l'oggetto sotto
render_mode blend_mix, depth_draw_opaque;
// Legge la variabile globale che abbiamo creato nelle impostazioni!
global uniform float global_snow_amount;
uniform vec4 snow_color : source_color = vec4(0.95, 0.98, 1.0, 1.0); // Bianco leggermente azzurrino
void fragment() {
// 1. Calcoliamo la normale (la direzione) della faccia nello spazio del mondo
vec3 world_normal = (INV_VIEW_MATRIX * vec4(NORMAL, 0.0)).xyz;
// 2. Il dot product ci dice quanto la faccia punta verso l'alto (Y = 1.0)
// Se punta esattamente in alto restituisce 1.0, se punta di lato 0.0, in basso -1.0
float up_dot = dot(world_normal, vec3(0.0, 1.0, 0.0));
// 3. Creiamo la "maschera" della neve basata sul parametro globale
// Usiamo smoothstep per avere un bordo un po' sfumato e non seghettato
float snow_mask = smoothstep(1.0 - global_snow_amount, 1.1 - global_snow_amount, up_dot);
// Assicuriamoci che se il global_snow_amount è 0, la maschera sia 0
snow_mask *= step(0.01, global_snow_amount);
// 4. Applichiamo il colore e la trasparenza
ALBEDO = snow_color.rgb;
ALPHA = snow_mask; // Se la maschera è 1 (guarda in alto), è opaco. Altrimenti è invisibile.
// Rendiamo la neve leggermente riflettente/ghiacciata
ROUGHNESS = 0.3;
SPECULAR = 0.5;
}

View File

@@ -0,0 +1 @@
uid://do0tct77dfhef

View File

@@ -1,25 +1,28 @@
shader_type spatial; shader_type spatial;
// Rimosso 'unshaded' per ricevere le ombre.
// Aggiunto 'ambient_light_disabled' per proteggere i tuoi colori piatti.
render_mode specular_disabled, cull_disabled, ambient_light_disabled; render_mode specular_disabled, cull_disabled, ambient_light_disabled;
// --- GLOBAL UNIFORMS (Vento) --- // --- GLOBAL UNIFORMS (Vento e Neve) ---
global uniform float wind_scale; global uniform float wind_scale;
global uniform float wind_speed; global uniform float wind_speed;
global uniform float wind_strength; global uniform float wind_strength;
global uniform vec3 wind_direction; global uniform vec3 wind_direction;
global uniform sampler2D wind_noise : filter_linear_mipmap; global uniform sampler2D wind_noise : filter_linear_mipmap;
global uniform float global_snow_amount;
// --- PARAMETRI ESTETICI --- // --- PARAMETRI ESTETICI ---
uniform bool billboard_enabled = true; // <--- PULSANTE ON/OFF BILLBOARD uniform bool billboard_enabled = true;
uniform bool wind_enabled = true; // <--- PULSANTE ON/OFF VENTO uniform bool wind_enabled = true;
uniform vec4 base_color : source_color = vec4(0.2, 0.6, 0.3, 1.0); uniform vec4 base_color : source_color = vec4(0.2, 0.6, 0.3, 1.0);
uniform sampler2D alpha_texture : source_color, filter_nearest; uniform sampler2D alpha_texture : source_color, filter_nearest;
uniform float leaves_scale = 1.0; uniform float leaves_scale = 1.0;
uniform float rotation_degrees = 0.0; uniform float rotation_degrees = 0.0;
uniform vec2 texture_offset = vec2(0.0, 0.0); uniform vec2 texture_offset = vec2(0.0, 0.0);
uniform float opacity : hint_range(0.0, 1.0) = 1.0; // <--- NUOVO PARAMETRO OPACITÀ uniform float opacity : hint_range(0.0, 1.0) = 1.0;
// Consiglio: Usa un bianco leggermente grigio/azzurro per la neve, non bianco puro!
// Es: vec4(0.8, 0.85, 0.9, 1.0)
uniform vec4 snow_color : source_color = vec4(0.85, 0.9, 0.95, 1.0);
// --- CONTROLLO GRADIENTE E RANDOM --- // --- CONTROLLO GRADIENTE E RANDOM ---
uniform float height_min = 0.0; uniform float height_min = 0.0;
@@ -29,10 +32,11 @@ uniform float highlight_intensity : hint_range(0.0, 1.0) = 0.3;
uniform float light_steps : hint_range(1.0, 10.0) = 4.0; uniform float light_steps : hint_range(1.0, 10.0) = 4.0;
uniform float random_mix : hint_range(0.0, 1.0) = 0.3; uniform float random_mix : hint_range(0.0, 1.0) = 0.3;
// NUOVO PARAMETRO: Intensità delle ombre proiettate su questo materiale
uniform float cast_shadow_strength : hint_range(0.0, 1.0) = 0.6; uniform float cast_shadow_strength : hint_range(0.0, 1.0) = 0.6;
varying vec3 v_final_color; varying vec3 v_final_color;
// ---> AGGIUNTO: Passiamo il fattore di ombra al fragment <---
varying float v_shade_factor;
float hash(vec3 p) { float hash(vec3 p) {
p = fract(p * 0.1031); p = fract(p * 0.1031);
@@ -59,13 +63,15 @@ void vertex() {
float combined_factor = mix(h_factor, leaf_rand, random_mix); float combined_factor = mix(h_factor, leaf_rand, random_mix);
combined_factor = ceil(combined_factor * light_steps) / light_steps; combined_factor = ceil(combined_factor * light_steps) / light_steps;
// Salviamo il fattore per usarlo sulla neve!
v_shade_factor = combined_factor;
vec3 dark_color = base_color.rgb * (1.0 - shadow_intensity); vec3 dark_color = base_color.rgb * (1.0 - shadow_intensity);
vec3 light_color = base_color.rgb + (vec3(1.0) - base_color.rgb) * highlight_intensity; vec3 light_color = base_color.rgb + (vec3(1.0) - base_color.rgb) * highlight_intensity;
v_final_color = mix(dark_color, light_color, combined_factor); v_final_color = mix(dark_color, light_color, combined_factor);
// --- LOGICA TRASFORMAZIONE (BILLBOARD vs STANDARD) --- // --- LOGICA TRASFORMAZIONE ---
if (billboard_enabled) { if (billboard_enabled) {
// Logica Billboard: guarda sempre la camera
vec3 view_pos_origin = (VIEW_MATRIX * vec4(instance_pos, 1.0)).xyz; vec3 view_pos_origin = (VIEW_MATRIX * vec4(instance_pos, 1.0)).xyz;
vec2 offset = (UV - 0.5) * leaves_scale; vec2 offset = (UV - 0.5) * leaves_scale;
@@ -79,16 +85,12 @@ void vertex() {
MODELVIEW_MATRIX[3].xyz = final_pos; MODELVIEW_MATRIX[3].xyz = final_pos;
VERTEX = vec3(0.0); VERTEX = vec3(0.0);
} else { } else {
// Logica Standard: usa la rotazione e posizione della mesh
// Applichiamo comunque la rotazione extra e lo scale se desiderato
float c = cos(total_angle); float c = cos(total_angle);
float s = sin(total_angle); float s = sin(total_angle);
// Modifichiamo il vertice locale prima della trasformazione world
vec2 local_v = (VERTEX.xy) * leaves_scale; vec2 local_v = (VERTEX.xy) * leaves_scale;
VERTEX.x = local_v.x * c - local_v.y * s; VERTEX.x = local_v.x * c - local_v.y * s;
VERTEX.y = local_v.x * s + local_v.y * c; VERTEX.y = local_v.x * s + local_v.y * c;
// La MODELVIEW_MATRIX rimane quella di default fornita da Godot
} }
} }
@@ -96,20 +98,27 @@ void fragment() {
vec2 shifted_uv = UV + texture_offset; vec2 shifted_uv = UV + texture_offset;
vec4 tex = texture(alpha_texture, shifted_uv); vec4 tex = texture(alpha_texture, shifted_uv);
ALBEDO = v_final_color; float top_mask = 1.0 - shifted_uv.y;
// Moltiplichiamo l'alpha della texture per il nuovo parametro opacity float snow_mask = smoothstep(1.0 - global_snow_amount, 1.2 - global_snow_amount, top_mask);
snow_mask *= step(0.01, global_snow_amount);
// ---> IL SEGRETO È QUI <---
// Scuriamo la neve usando lo stesso gradiente scuro/chiaro usato per le foglie
vec3 dark_snow = snow_color.rgb * (1.0 - shadow_intensity);
vec3 shaded_snow = mix(dark_snow, snow_color.rgb, v_shade_factor);
// Mescoliamo il colore della foglia con la neve correttamente ombreggiata
vec3 final_albedo = mix(v_final_color, shaded_snow, snow_mask);
ALBEDO = final_albedo;
ALPHA = tex.r * opacity; ALPHA = tex.r * opacity;
ALPHA_SCISSOR_THRESHOLD = 0.5; ALPHA_SCISSOR_THRESHOLD = 0.5;
ROUGHNESS = 0.02; ROUGHNESS = 0.02;
} }
// --- NUOVA LOGICA LUCE (Ombre Proiettate e Fix Quadrati) ---
void light() { void light() {
float shadow_factor = mix(1.0 - cast_shadow_strength, 1.0, ATTENUATION); float shadow_factor = mix(1.0 - cast_shadow_strength, 1.0, ATTENUATION);
// Maschera morbida per nascondere i quadrati
float cutoff_mask = smoothstep(0.0, 0.05, ATTENUATION); float cutoff_mask = smoothstep(0.0, 0.05, ATTENUATION);
DIFFUSE_LIGHT += (shadow_factor * LIGHT_COLOR) * cutoff_mask; DIFFUSE_LIGHT += (shadow_factor * LIGHT_COLOR) * cutoff_mask;
} }

View File

@@ -54,3 +54,7 @@ wind_strength={
"type": "float", "type": "float",
"value": 0.4 "value": 0.4
} }
global_snow_amount={
"type": "float",
"value": 0.0
}