From 47380d3137ad105d16124677a9f98ec114980a3d Mon Sep 17 00:00:00 2001 From: Matteo Sonaglioni Date: Wed, 11 Mar 2026 13:05:36 +0100 Subject: [PATCH] Add Procedural Map --- Scenes/Chunk_Rotaie/chunk_curva_1.tscn | 36 +- Scenes/Chunk_Rotaie/chunk_rettilineo_1.tscn | 14 +- .../Chunk/{ => Campagna}/Chunk_C_L_2.tscn | 22 +- .../Chunk/{ => Campagna}/chunk_c_e_1.tscn | 0 .../Chunk/Campagna/chunk_c_f_1.tscn | 134 +++++++ .../Chunk/{ => Campagna}/chunk_c_l_1.tscn | 0 .../Chunk/{ => Campagna}/chunk_c_r_1.tscn | 0 .../Chunk/{ => Campagna}/chunk_c_t_1_1.tscn | 0 .../Chunk/{ => Campagna}/chunk_c_t_3_1.tscn | 0 .../Chunk/{ => Campagna}/chunk_c_t_3_2.tscn | 0 .../Chunk/{ => Campagna}/chunk_c_t_3_3.tscn | 0 .../Chunk/{ => Campagna}/chunk_c_x_1.tscn | 0 .../Chunk/Foresta/Chunk_F_L_2.tscn | 365 ++++++++++++++++++ .../Chunk/Foresta/chunk_F_e_1.tscn | 27 ++ .../Chunk/Foresta/chunk_F_f_1.tscn | 134 +++++++ .../Chunk/Foresta/chunk_F_l_1.tscn | 32 ++ .../Chunk/Foresta/chunk_F_r_1.tscn | 27 ++ .../Chunk/Foresta/chunk_F_t_1_1.tscn | 32 ++ .../Chunk/Foresta/chunk_F_t_3_1.tscn | 33 ++ .../Chunk/Foresta/chunk_F_t_3_2.tscn | 34 ++ .../Chunk/Foresta/chunk_F_t_3_3.tscn | 34 ++ .../Chunk/Foresta/chunk_F_x_1.tscn | 31 ++ Scenes/Gameplay.tscn | 161 +++++--- Scenes/MainMap.tscn | 182 ++++++++- Scenes/Test/Rotaie_Blockout.tscn | 6 + Scenes/generatore_bioma.gd | 240 ++++++++++++ Scenes/generatore_bioma.gd.uid | 1 + Scripts/Binari.gd | 139 ++++--- Scripts/CameraMove.gd | 63 +-- 29 files changed, 1568 insertions(+), 179 deletions(-) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/Chunk_C_L_2.tscn (98%) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_e_1.tscn (100%) create mode 100644 Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_f_1.tscn rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_l_1.tscn (100%) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_r_1.tscn (100%) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_t_1_1.tscn (100%) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_t_3_1.tscn (100%) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_t_3_2.tscn (100%) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_t_3_3.tscn (100%) rename Scenes/Chunk_Scene/Chunk/{ => Campagna}/chunk_c_x_1.tscn (100%) create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/Chunk_F_L_2.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_e_1.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_f_1.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_l_1.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_r_1.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_1_1.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_1.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_2.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_3.tscn create mode 100644 Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_x_1.tscn create mode 100644 Scenes/generatore_bioma.gd create mode 100644 Scenes/generatore_bioma.gd.uid diff --git a/Scenes/Chunk_Rotaie/chunk_curva_1.tscn b/Scenes/Chunk_Rotaie/chunk_curva_1.tscn index cc00384..548a633 100644 --- a/Scenes/Chunk_Rotaie/chunk_curva_1.tscn +++ b/Scenes/Chunk_Rotaie/chunk_curva_1.tscn @@ -2,24 +2,44 @@ [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="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_one63"] [ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="3_one63"] +[sub_resource type="BoxShape3D" id="BoxShape3D_024mu"] +size = Vector3(20, 10, 20) + [node name="Chunk_Curva_1" unique_id=1316208881 instance=ExtResource("1_rsn8b")] -script = ExtResource("2_one63") -tipo_chunk = 2 -nord = true -ovest = true [node name="Chunk_052" parent="." index="0" unique_id=2099348783] surface_material_override/0 = ExtResource("2_024mu") surface_material_override/1 = ExtResource("3_one63") [node name="Punto_1" type="Marker3D" parent="." index="1" unique_id=663165533] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -29.939285, 0, 19.927612) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -29.939285, 0.6703129, 19.927612) [node name="Punto_2" type="Marker3D" parent="." index="2" unique_id=1588831294] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.967065, 0, 2.9334993) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.967065, 0.6703129, 2.9334993) [node name="Punto_3" type="Marker3D" parent="." index="3" unique_id=1880909982] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.009787, 0, -30.014425) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.009787, 0.6703129, -30.014425) + +[node name="StaticBody3D" type="StaticBody3D" parent="." index="4" unique_id=1064823765] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0" unique_id=1818341029] +transform = Transform3D(0.9846686, 0, 0, 0, 1, 0, 0, 0, 0.9829565, 0, 4, 0) +shape = SubResource("BoxShape3D_024mu") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="StaticBody3D" index="1" unique_id=461456361] +transform = Transform3D(0.98379064, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 20) +shape = SubResource("BoxShape3D_024mu") + +[node name="CollisionShape3D5" type="CollisionShape3D" parent="StaticBody3D" index="2" unique_id=251445593] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.96314967, -20, 4, 20) +shape = SubResource("BoxShape3D_024mu") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D" index="3" unique_id=338866839] +transform = Transform3D(0.98147476, 0, 0, 0, 1, 0, 0, 0, 0.96418273, 20, 4, 0) +shape = SubResource("BoxShape3D_024mu") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="StaticBody3D" index="4" unique_id=1818224311] +transform = Transform3D(0.96474355, 0, 0, 0, 1, 0, 0, 0, 0.9695626, 20, 4, -20) +shape = SubResource("BoxShape3D_024mu") diff --git a/Scenes/Chunk_Rotaie/chunk_rettilineo_1.tscn b/Scenes/Chunk_Rotaie/chunk_rettilineo_1.tscn index 8981757..9b271da 100644 --- a/Scenes/Chunk_Rotaie/chunk_rettilineo_1.tscn +++ b/Scenes/Chunk_Rotaie/chunk_rettilineo_1.tscn @@ -1,15 +1,13 @@ [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="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_dqurx"] [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"] +[sub_resource type="BoxShape3D" id="BoxShape3D_h6p6r"] +size = Vector3(20, 10, 20) + [node name="Chunk_Rettilineo_1" unique_id=916054224 instance=ExtResource("1_h6p6r")] -script = ExtResource("2_dqurx") -tipo_chunk = 1 -nord = true -sud = true [node name="Chunk" parent="." index="0" unique_id=1906873929] surface_material_override/0 = ExtResource("3_x2uag") @@ -17,3 +15,9 @@ surface_material_override/1 = ExtResource("4_0tij7") [node name="Punto_1" type="Marker3D" parent="." index="1" unique_id=62151851] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4648037, 0) + +[node name="StaticBody3D" type="StaticBody3D" parent="." index="2" unique_id=1342112232] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0" unique_id=2091067381] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0) +shape = SubResource("BoxShape3D_h6p6r") diff --git a/Scenes/Chunk_Scene/Chunk/Chunk_C_L_2.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/Chunk_C_L_2.tscn similarity index 98% rename from Scenes/Chunk_Scene/Chunk/Chunk_C_L_2.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/Chunk_C_L_2.tscn index 45e0962..a868782 100644 --- a/Scenes/Chunk_Scene/Chunk/Chunk_C_L_2.tscn +++ b/Scenes/Chunk_Scene/Chunk/Campagna/Chunk_C_L_2.tscn @@ -180,7 +180,7 @@ script = ExtResource("2_qr4wy") sud = true ovest = true -[node name="Chunk_002" parent="." index="0" unique_id=1398345232] +[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) material_override = ExtResource("2_xlq82") @@ -202,36 +202,36 @@ material_override = SubResource("StandardMaterial3D_15ugy") mesh = SubResource("ArrayMesh_s4u17") skeleton = NodePath("") -[node name="Chunk_004" parent="." index="4" unique_id=1082156627] +[node name="Chunk_004" parent="." index="4" unique_id=2103650482] material_override = SubResource("StandardMaterial3D_vxc6e") -[node name="Chunk_038" parent="." index="5" unique_id=1613246207] +[node name="Chunk_038" parent="." index="5" unique_id=476922148] material_override = ExtResource("2_xlq82") -[node name="Cube_016" parent="." index="6" unique_id=1349245803] +[node name="Cube_016" parent="." index="6" unique_id=117542775] visible = false -[node name="Cube_017" parent="." index="7" unique_id=1687402325] +[node name="Cube_017" parent="." index="7" unique_id=1756376932] visible = false -[node name="Cube_019" parent="." index="8" unique_id=1780023918] +[node name="Cube_019" parent="." index="8" unique_id=1580622513] visible = false -[node name="Cube_020" parent="." index="9" unique_id=715981834] +[node name="Cube_020" parent="." index="9" unique_id=2036193462] visible = false -[node name="Cube_032" parent="." index="10" unique_id=1134282254] +[node name="Cube_032" parent="." index="10" unique_id=768764430] visible = false -[node name="Cube_033" parent="." index="11" unique_id=1724570961] +[node name="Cube_033" parent="." index="11" unique_id=245689535] transform = Transform3D(1.1920929e-05, -100, -1.4901161e-05, -2.9802322e-06, -1.1920929e-05, 99.99999, -100, -5.9604645e-06, 0, 0.6881552, 0, 2.5324297) visible = false material_override = ExtResource("4_2qt04") -[node name="Cube_035" parent="." index="12" unique_id=1454130858] +[node name="Cube_035" parent="." index="12" unique_id=1334292460] visible = false -[node name="Cube_053" parent="." index="13" unique_id=1926218798] +[node name="Cube_053" parent="." index="13" unique_id=1612072202] visible = false [node name="Grass4" parent="." index="14" unique_id=1987777413 instance=ExtResource("3_eyx8o")] diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_e_1.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_e_1.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_e_1.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_e_1.tscn diff --git a/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_f_1.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_f_1.tscn new file mode 100644 index 0000000..73c6eed --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_f_1.tscn @@ -0,0 +1,134 @@ +[gd_scene format=4 uid="uid://givg3dyrxsk5"] + +[ext_resource type="PackedScene" uid="uid://d3loscamahf5y" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_E_1.fbx" id="1_jpp2r"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_02kkq"] +[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_sf2c4"] +[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://birttctl11th8" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_l_1.tscn" id="6_4h5ax"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="7_y2p7p"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0uwhb"] +resource_name = "Material" +vertex_color_use_as_albedo = true +albedo_color = Color(0.9063318, 0.9063318, 0.9063318, 1) +emission_enabled = true + +[sub_resource type="ArrayMesh" id="ArrayMesh_v3qhc"] +_surfaces = [{ +"aabb": AABB(-0.1, -0.015, -0.00043503524, 0.085, 0.03, 0.0008700705), +"format": 34359742465, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAwABAAAAAgAEAAAAAQADAAUABQACAAEABgAEAAIAAgAFAAYABwAAAAQAAAAHAAMABAAGAAcABQADAAcABwAGAAUA"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("j8J1vI3CdbxxFeS5j8J1vI/CdTxxFeS5zczMvY3CdTxxFeS5j8J1vI/CdTxxFeQ5zczMvY/CdbxxFeS5zczMvY3CdTxxFeQ5zczMvY/CdbxxFeQ5j8J1vI3CdbxxFeQ5") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_db63l"] +resource_name = "Cube_041" +_surfaces = [{ +"aabb": AABB(-0.1, -0.015, -0.00043503524, 0.085, 0.03, 0.0008700705), +"attribute_data": PackedByteArray("EI5NP1hyCb/sx0k+7m8Lv+zHST7jt8U/EI5NPxi5xD/sx0k+7m8Lvzo2PD4K+Ri/OjY8PoV8zD/sx0k+47fFPxCOTT9Ycgm/cvJQP/r6FL86Njw+CvkYv+zHST7ubwu/mhRSP298zD+aFFI/3vgYv5atNz4K+Ri/lq03PoV8zD/sx0k+47fFPzo2PD6FfMw/cvJQP2l9yj8Qjk0/GLnEPxCOTT8YucQ/cvJQP2l9yj9y8lA/+voUvxCOTT9Ycgm/"), +"format": 34359742487, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAgADAAAABAAFAAYABgAHAAQACAAJAAoACgALAAgADAANAA4ADgAPAAwAEAARABIAEgATABAAFAAVABYAFgAXABQA"), +"material": SubResource("StandardMaterial3D_0uwhb"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 24, +"vertex_data": PackedByteArray("j8J1vI3CdbxxFeS5j8J1vI/CdTxxFeS5zczMvY3CdTxxFeS5zczMvY/CdbxxFeS5j8J1vI/CdTxxFeS5j8J1vI/CdTxxFeQ5zczMvY3CdTxxFeQ5zczMvY3CdTxxFeS5j8J1vI3CdbxxFeS5j8J1vI3CdbxxFeQ5j8J1vI/CdTxxFeQ5j8J1vI/CdTxxFeS5zczMvY3CdTxxFeQ5j8J1vI/CdTxxFeQ5j8J1vI3CdbxxFeQ5zczMvY/CdbxxFeQ5zczMvY3CdTxxFeS5zczMvY3CdTxxFeQ5zczMvY/CdbxxFeQ5zczMvY/CdbxxFeS5zczMvY/CdbxxFeS5zczMvY/CdbxxFeQ5j8J1vI3CdbxxFeQ5j8J1vI3CdbxxFeS5/////8KAnn//////VYFUf/////86f5x//////6d+U3//f/////+9LP9//////+ks/3///wAAm1L/f///AABuUv///3//f15/////f/9/XH////9//3+4f////3//f7l//3//f/9/AAD/f/9//38AAP9//3//fwAA/3//f/9/AAAAAP9//391fwAA/3//f3R/AAD/f/9/rH8AAP9//3+tf/9/AABx1f8//38AAM7V/z//fwAAXSn/P/9/AAD+KP8/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_v3qhc") + +[sub_resource type="ArrayMesh" id="ArrayMesh_7ona5"] +_surfaces = [{ +"aabb": AABB(-0.015000002, -0.1, -0.00043503524, 0.030000005, 0.115, 0.0008700705), +"format": 34359742465, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAwABAAAAAgAEAAAAAQADAAUABQACAAEABgAEAAIAAgAFAAYABwAAAAQAAAAHAAMABAAGAAcABQADAAcABwAGAAUA"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("isJ1PI/CdTxxFeS5ksJ1vI/CdTxxFeS5isJ1vM3MzL1xFeS5ksJ1vI/CdTxxFeQ5ksJ1PM3MzL1xFeS5isJ1vM3MzL1xFeQ5ksJ1PM3MzL1xFeQ5isJ1PI/CdTxxFeQ5") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_vall4"] +resource_name = "Cube_042" +_surfaces = [{ +"aabb": AABB(-0.015000002, -0.1, -0.00043503524, 0.030000005, 0.115, 0.0008700705), +"attribute_data": PackedByteArray("EI5NP1hyCb/sx0k+7m8Lv+zHST7jt8U/EI5NPxi5xD/sx0k+7m8Lvzo2PD4K+Ri/OjY8PoV8zD/sx0k+47fFPxCOTT9Ycgm/cvJQP/r6FL86Njw+CvkYv+zHST7ubwu/mhRSP298zD+aFFI/3vgYv5atNz4K+Ri/lq03PoV8zD/sx0k+47fFPzo2PD6FfMw/cvJQP2l9yj8Qjk0/GLnEPxCOTT8YucQ/cvJQP2l9yj9y8lA/+voUvxCOTT9Ycgm/"), +"format": 34359742487, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAgADAAAABAAFAAYABgAHAAQACAAJAAoACgALAAgADAANAA4ADgAPAAwAEAARABIAEgATABAAFAAVABYAFgAXABQA"), +"material": SubResource("StandardMaterial3D_0uwhb"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 24, +"vertex_data": PackedByteArray("isJ1PI/CdTxxFeS5ksJ1vI/CdTxxFeS5isJ1vM3MzL1xFeS5ksJ1PM3MzL1xFeS5ksJ1vI/CdTxxFeS5ksJ1vI/CdTxxFeQ5isJ1vM3MzL1xFeQ5isJ1vM3MzL1xFeS5isJ1PI/CdTxxFeS5isJ1PI/CdTxxFeQ5ksJ1vI/CdTxxFeQ5ksJ1vI/CdTxxFeS5isJ1vM3MzL1xFeQ5ksJ1vI/CdTxxFeQ5isJ1PI/CdTxxFeQ5ksJ1PM3MzL1xFeQ5isJ1vM3MzL1xFeS5isJ1vM3MzL1xFeQ5ksJ1PM3MzL1xFeQ5ksJ1PM3MzL1xFeS5ksJ1PM3MzL1xFeS5ksJ1PM3MzL1xFeQ5isJ1PI/CdTxxFeQ5isJ1PI/CdTxxFeS5/////8b+Yz//////Mv4ZP//////D/p1A/////y7+50AAAP9/LmEAAAAA/39nYQAAAAD/f66d/n8AAP9/dZ3+f/9///+8/v8//3///7n+/z//f///cP//P/9///9z//8//3//fwAA/z//f/9/AAD/P/9//38AAP8//3//fwAA/z//fwAA6/7/P/9/AADp/v8//38AAFn//z//fwAAW///P////3//fy0R////f/9/DhH///9//39Yb////3//f3dv") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_7ona5") + +[sub_resource type="BoxShape3D" id="BoxShape3D_lunjj"] +size = Vector3(20, 10, 20) + +[node name="Chunk_C_E_1" unique_id=1874739368 instance=ExtResource("1_jpp2r")] +script = ExtResource("2_02kkq") +nord = true +est = true +ovest = true + +[node name="Chunk_026" parent="." index="0" unique_id=1559745184] +material_override = ExtResource("3_sf2c4") + +[node name="House_Muraglione" parent="." index="1" unique_id=1060427946 instance=ExtResource("4_lunjj")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, -0.891696) + +[node name="House_XL_4" parent="." index="2" unique_id=1350238174 instance=ExtResource("5_tf2ul")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0) + +[node name="Chunk_C_L_1" parent="." index="3" unique_id=47126446 instance=ExtResource("6_4h5ax")] +nord = true +est = true +sud = false + +[node name="Chunk_005" parent="Chunk_C_L_1" index="0" unique_id=1667835125] +visible = false + +[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) +material_override = ExtResource("7_y2p7p") +mesh = SubResource("ArrayMesh_db63l") +skeleton = NodePath("") + +[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) +material_override = ExtResource("7_y2p7p") +mesh = SubResource("ArrayMesh_vall4") +skeleton = NodePath("") + +[node name="Cube_030" parent="Chunk_C_L_1" index="5" unique_id=807948711] +visible = false + +[node name="Cube_031" parent="Chunk_C_L_1" index="6" unique_id=1667337241] +visible = false + +[node name="Cube_034" parent="Chunk_C_L_1" index="7" unique_id=934323945] +visible = false + +[node name="StaticBody3D" type="StaticBody3D" parent="." index="4" unique_id=1294838844] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0" unique_id=415467932] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0) +shape = SubResource("BoxShape3D_lunjj") + +[editable path="Chunk_C_L_1"] diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_l_1.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_l_1.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_l_1.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_l_1.tscn diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_r_1.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_r_1.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_r_1.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_r_1.tscn diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_t_1_1.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_1_1.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_t_1_1.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_1_1.tscn diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_t_3_1.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_1.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_t_3_1.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_1.tscn diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_t_3_2.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_2.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_t_3_2.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_2.tscn diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_t_3_3.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_3.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_t_3_3.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_3.tscn diff --git a/Scenes/Chunk_Scene/Chunk/chunk_c_x_1.tscn b/Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_x_1.tscn similarity index 100% rename from Scenes/Chunk_Scene/Chunk/chunk_c_x_1.tscn rename to Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_x_1.tscn diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/Chunk_F_L_2.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/Chunk_F_L_2.tscn new file mode 100644 index 0000000..2d76e87 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/Chunk_F_L_2.tscn @@ -0,0 +1,365 @@ +[gd_scene format=4 uid="uid://cpebna545ihfh"] + +[ext_resource type="PackedScene" uid="uid://bxnd5v67eaypf" path="res://Assets/Meshes/Chunk/Bioma_C/Test_Chunk_C_L_2.fbx" id="1_sr7sh"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_5cl6b"] +[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="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="Shader" uid="uid://e3teyipsokeg" path="res://Shaders/Grass_Test.gdshader" id="7_4ftiy"] +[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://sybnjir2d05" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_AngoloEsterno.tscn" id="10_flfvy"] +[ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="11_v17qr"] +[ext_resource type="PackedScene" uid="uid://bhcut7ndtdo2w" path="res://Assets/Test/SK_Mannequin.FBX" id="12_emned"] +[ext_resource type="PackedScene" uid="uid://igbtt2ypx0ks" path="res://Scenes/Chunk_Scene/Prop/Staccionate.tscn" id="14_sg641"] +[ext_resource type="Material" uid="uid://wkegx4a21x7u" path="res://Materials/Staccionata.tres" id="15_u5vqi"] +[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"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ofhgo"] +resource_name = "Material" +vertex_color_use_as_albedo = true +albedo_color = Color(0.9063318, 0.9063318, 0.9063318, 1) +emission_enabled = true + +[sub_resource type="ArrayMesh" id="ArrayMesh_h7yuw"] +_surfaces = [{ +"aabb": AABB(-0.10000002, -0.015, -0.00043503524, 0.08499999, 0.03, 0.0008700705), +"format": 34359742465, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAwABAAAAAgAEAAAAAQADAAUABQACAAEABgAEAAIAAgAFAAYABwAAAAQAAAAHAAMABAAGAAcABQADAAcABwAGAAUA"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("pMJ1vI3CdbxxFeS5pMJ1vI/CdTxxFeS5z8zMvY3CdTxxFeS5pMJ1vI/CdTxxFeQ5z8zMvY/CdbxxFeS5z8zMvY3CdTxxFeQ5z8zMvY/CdbxxFeQ5pMJ1vI3CdbxxFeQ5") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_s4u17"] +resource_name = "Cube_050" +_surfaces = [{ +"aabb": AABB(-0.10000002, -0.015, -0.00043503524, 0.08499999, 0.03, 0.0008700705), +"attribute_data": PackedByteArray("EI5NP1hyCb/sx0k+7m8Lv+zHST7jt8U/EI5NPxi5xD/sx0k+7m8Lvzo2PD4K+Ri/OjY8PoV8zD/sx0k+47fFPxCOTT9Ycgm/cvJQP/r6FL86Njw+CvkYv+zHST7ubwu/mhRSP298zD+aFFI/3vgYv5atNz4K+Ri/lq03PoV8zD/sx0k+47fFPzo2PD6FfMw/cvJQP2l9yj8Qjk0/GLnEPxCOTT8YucQ/cvJQP2l9yj9y8lA/+voUvxCOTT9Ycgm/"), +"format": 34359742487, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAgADAAAABAAFAAYABgAHAAQACAAJAAoACgALAAgADAANAA4ADgAPAAwAEAARABIAEgATABAAFAAVABYAFgAXABQA"), +"material": SubResource("StandardMaterial3D_ofhgo"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 24, +"vertex_data": PackedByteArray("pMJ1vI3CdbxxFeS5pMJ1vI/CdTxxFeS5z8zMvY3CdTxxFeS5z8zMvY/CdbxxFeS5pMJ1vI/CdTxxFeS5pMJ1vI/CdTxxFeQ5z8zMvY3CdTxxFeQ5z8zMvY3CdTxxFeS5pMJ1vI3CdbxxFeS5pMJ1vI3CdbxxFeQ5pMJ1vI/CdTxxFeQ5pMJ1vI/CdTxxFeS5z8zMvY3CdTxxFeQ5pMJ1vI/CdTxxFeQ5pMJ1vI3CdbxxFeQ5z8zMvY/CdbxxFeQ5z8zMvY3CdTxxFeS5z8zMvY3CdTxxFeQ5z8zMvY/CdbxxFeQ5z8zMvY/CdbxxFeS5z8zMvY/CdbxxFeS5z8zMvY/CdbxxFeQ5pMJ1vI3CdbxxFeQ5pMJ1vI3CdbxxFeS5/////8KAnn//////VYFUf/////86f5x//////6d+U3//f/////+9LP9//////+ks/3///wAAm1L/f///AABuUv///3//f15/////f/9/XH////9//3+4f////3//f7l//3//f/9/AAD/f/9//38AAP9//3//fwAA/3//f/9/AAAAAP9//391fwAA/3//f3R/AAD/f/9/rH8AAP9//3+tf/9/AABx1f8//38AAM7V/z//fwAAXSn/P/9/AAD+KP8/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_h7yuw") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_15ugy"] +albedo_color = Color(0.9811998, 0.8347986, 0.569528, 1) +albedo_texture = ExtResource("4_g8efw") +uv1_scale = Vector3(1.845, 2.325, 1) +uv1_offset = Vector3(-0.335, 0, 0) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vxc6e"] +albedo_color = Color(0.19607843, 0.6117647, 0.26666668, 1) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_odndq"] +render_priority = 0 +shader = ExtResource("7_4ftiy") +shader_parameter/base_color = Color(0.38039216, 0.5803922, 0.20392157, 1) +shader_parameter/alpha_texture = ExtResource("8_td1ds") +shader_parameter/leaves_scale = 0.79 +shader_parameter/rotation_degrees = 180.0 +shader_parameter/height_min = 0.0 +shader_parameter/height_max = 5.0 +shader_parameter/shadow_intensity = 0.5 +shader_parameter/highlight_intensity = 0.0 +shader_parameter/light_steps = 10.0 +shader_parameter/random_mix = 0.3230000153425 +shader_parameter/cast_shadow_strength = 0.6 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_bp8uq"] +render_priority = 0 +shader = ExtResource("7_4ftiy") +shader_parameter/base_color = Color(0.38039216, 0.5803922, 0.20392157, 1) +shader_parameter/alpha_texture = ExtResource("8_td1ds") +shader_parameter/leaves_scale = 0.7 +shader_parameter/rotation_degrees = 180.0 +shader_parameter/height_min = 0.0 +shader_parameter/height_max = 5.0 +shader_parameter/shadow_intensity = 0.5 +shader_parameter/highlight_intensity = 0.0 +shader_parameter/light_steps = 10.0 +shader_parameter/random_mix = 0.3230000153425 +shader_parameter/cast_shadow_strength = 0.6 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_xlq82"] +render_priority = 0 +shader = ExtResource("7_4ftiy") +shader_parameter/base_color = Color(0.38039216, 0.5803922, 0.20392157, 1) +shader_parameter/alpha_texture = ExtResource("8_td1ds") +shader_parameter/leaves_scale = 0.7 +shader_parameter/rotation_degrees = 180.0 +shader_parameter/height_min = 0.0 +shader_parameter/height_max = 5.0 +shader_parameter/shadow_intensity = 0.5 +shader_parameter/highlight_intensity = 0.0 +shader_parameter/light_steps = 10.0 +shader_parameter/random_mix = 0.3230000153425 +shader_parameter/cast_shadow_strength = 0.6 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ac5is"] +resource_name = "lambert48" +vertex_color_use_as_albedo = true +albedo_color = Color(0.9063318, 0.9063318, 0.9063318, 0.8) +emission_enabled = true + +[sub_resource type="ArrayMesh" id="ArrayMesh_gwoio"] +_surfaces = [{ +"aabb": AABB(-0.5036966, -0.0029514695, -0.031486712, 1.0073934, 0.56465346, 0.062973425), +"format": 34359742465, +"index_count": 528, +"index_data": PackedByteArray("IAAhACIAIQAjACIAIgAkACAAJQAiACMAJAAiACUAIwAmACUAJQAnACQAKAAjACEAJQAmACkAJwAlACkAKgAmACMAIwAoACoAKwApACYAJgAqACsAKQAsACcAIQAtACgALQAhACAAKgAoAC4ALgAoAC0ALwAsACkAKQArAC8ALAAwACcAMAAsAC8AJAAnADAAKwAqADEALgAxACoALwArADEAMgAxAC4AMQAyAC8ALgAzADIAMwAuAC0ALwAyADQANAAyADMALwA0ADAALQA1ADMAIAA1AC0ANgAzADUANgA1ACAAMwA2ADQANwAwADQANAA2ADcAIAA3ADYAMAA3ACQAJAA3ACAAOAA5AAIAOQABAAIACgABADkAOQA6AAoAOgA5ADgAAQAKAAkADQAKADoACQAKAA0AAgABAAMACQADAAEAAwAEAAIAOwADAAkABAADADsABQACAAQAAgAFADgABAAGAAUABgAEADsACQA8ADsABQAGAAcAPAAJAA4ADQAOAAkAOwA8AD0APQA8AA4AOwA+AAYAPQA+ADsAPgAHAAYAPgA9AAgACAAHAD4ADgAPAD0ADwAOAA0APQAPAAgADQAMAA8ACAAPAAwADAANADoAOgA/AAwAOAA/ADoACwAMAD8ACwA/ADgADAALAAgAOAAAAAsACAALAAAAAAAHAAgABQAAADgABwAAAAUAQABBABIAQQARABIAEgATAEAAEwASABQAFAASABEAEQAWABQAFAAVABMAFAAWAEIAFQAUAEIAGQAWABEAQgAWABkAGgARAEEAEQAaABkAGQBDAEIAQQBEABoARABBAEAAGQAaAB0AHQAaAEQAQwAZAB4AHQAeABkAQgBDAEUARQBDAB4AHwAeAB0AHgAfAEUAHAAdAEQAHQAcAB8ARABGABwAQABGAEQAGAAfABwARQAfABgAGwAcAEYAGwBGAEAAHAAbABgAQAAQABsAGAAbABAAEwAQAEAAEAATABUAEAAXABgAFQAXABAARwBFABgAGAAXAEcARwAXABUARQBHAEIAQgBHABUASABJAEoASQBLAEoASgBMAEgATQBKAEsATABKAE0ASwBOAE0ATQBPAEwAUABLAEkATQBOAFEATwBNAFEAUgBOAEsASwBQAFIAUwBRAE4ATgBSAFMAUQBUAE8ASQBVAFAAVQBJAEgAUgBQAFYAVgBQAFUAVwBUAFEAUQBTAFcAVABYAE8AWABUAFcATABPAFgAUwBSAFkAVgBZAFIAVwBTAFkAWgBZAFYAWQBaAFcAVgBbAFoAWwBWAFUAVwBaAFwAXABaAFsAVwBcAFgAVQBdAFsASABdAFUAXgBbAF0AXgBdAEgAWwBeAFwAXwBYAFwAXABeAF8ASABfAF4AWABfAEwATABfAEgA"), +"lods": [0.2913254, PackedByteArray("AAABAAIAAgABAAMAAwAEAAIABQACAAQAAgAFAAAABAAGAAUABgAEAAMABQAGAAcAAwAHAAYABwAAAAUACAAHAAMAAAAHAAgACQADAAEAAwAJAAgACgABAAAAAQAKAAkAAAALAAoACAALAAAACgALAAwADAALAAgACQAKAA0ADAANAAoADQAOAAkACAAJAA4ADQAMAA8ACAAPAAwADwAOAA0ADgAPAAgAEAARABIAEgATABAAEwASABQAFAASABEAFAAVABMAEAATABUAEQAWABQAFQAUABYAFgAXABUAFQAXABAAGAAXABYAEAAXABgAGQAWABEAFgAZABgAGgARABAAEQAaABkAEAAbABoAGAAbABAAGgAbABwAHAAbABgAGQAaAB0AHAAdABoAHQAeABkAGAAZAB4AHQAcAB8AGAAfABwAHwAeAB0AHgAfABgA")], +"name": "lambert48", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 96, +"vertex_data": PackedByteArray("FTv7volFrT7N3cI6FTv7volFrT42+AA9wwP7vmD6qj4uFN08Re39PpHX3D42+AA9kST+PmaM2j4uFN08wwP7vmD6qj5pKMQ7kST+PmaM2j5pKMQ7Re39PpHX3D7N3cI6/475PlmdBT/N3cI6/475PlmdBT82+AA9Z5n/vqqo2z42+AA9Z5n/vqqo2z7N3cI6pND/vtbz3T5pKMQ7pND/vtbz3T4uFN08ulf5Pu/CBj8uFN08ulf5Pu/CBj9pKMQ7SBz8vg0HtT3N3cI6SBz8vg0HtT02+AA9UiD8vg/Qqz0uFN08UiD8vg/Qqz1pKMQ7HEH/PkrsnT0uFN08HEH/PkrsnT1pKMQ7JkX/Pkojpz02+AA9JkX/Pkojpz3N3cI6x5b/PmzAMD7N3cI6x5b/PmzAMD42+AA9r8r7vk6yNz42+AA9r8r7vk6yNz7N3cI6pMb7vs9NPD5pKMQ7pMb7vs9NPD4uFN081Jr/PuxbNT4uFN081Jr/PuxbNT5pKMQ7VNevPrHLDz8uFN28VNevPrHLDz9mKMS7kYmtPkQKDz9mKMS7VNevPkQKDz/N3cK6kYmtPkQKDz8uFN28kYmtPgAAAABmKMS7VNevPgAAAADN3cK6kYmtPgAAAAAuFN28Am/ePkgKDz/N3cK6VNevPnFtQbtmKMS7/27ePgAAAADN3cK6/27ePoVrQbtmKMS7VNevPnFtQbsuFN28Am/ePrTLDz9mKMS7xbzgPkQKDz9mKMS7/27ePoVrQbsuFN28VNevPgAAAAA2+AC9xbzgPgAAAABmKMS7xbzgPgAAAAAuFN28xbzgPkQKDz8uFN28/27ePgAAAAA2+AC9Am/ePrTLDz8uFN28Am/ePkgKDz82+AC9VNevPkQKDz82+AC9Pob9vj8OrT5pKMQ7Pob9vj8OrT4uFN08Q/IAv2Bx2z4uFN08ORwAP9wO3T4uFN08K9r7Pv+4BT8uFN08K9r7Pv+4BT9pKMQ7ORwAP9wO3T5pKMQ7Q/IAv2Bx2z5pKMQ7C2r+vjYXtT1pKMQ7C2r+vjYXtT0uFN08dMkAPyUTpz0uFN08RPIAP1q4MD4uFN08cRj+vmG6Nz4uFN08RPIAP1q4MD5pKMQ7cRj+vmG6Nz5pKMQ7dMkAPyUTpz1pKMQ7zbXSvrHLDz8uFN28zbXSvrHLDz9mKMS7kAPVvkQKDz9mKMS7zbXSvkQKDz/N3cK6kAPVvkQKDz8uFN28kAPVvgAAAABmKMS7zbXSvgAAAADN3cK6kAPVvgAAAAAuFN28Hx6kvkgKDz/N3cK6zbXSvnFtQbtmKMS7Hx6kvgAAAADN3cK6Hx6kvoVrQbtmKMS7zbXSvnFtQbsuFN28Hx6kvrTLDz9mKMS7XdChvkQKDz9mKMS7Hx6kvoVrQbsuFN28zbXSvgAAAAA2+AC9XdChvgAAAABmKMS7XdChvgAAAAAuFN28XdChvkQKDz8uFN28Hx6kvgAAAAA2+AC9Hx6kvrTLDz8uFN28Hx6kvkgKDz82+AC9zbXSvkQKDz82+AC9") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_ir84x"] +resource_name = "MSH_Staccioanta_1" +_surfaces = [{ +"aabb": AABB(-0.5036966, -0.0029514695, -0.031486712, 1.0073934, 0.56465346, 0.062973425), +"attribute_data": PackedByteArray("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"), +"format": 34359742487, +"index_count": 528, +"index_data": PackedByteArray("YABhAGIAYQBjAGIAYgBkAGAAZQBjAGEAZABmAGAAYABmAGcAZwBoAGAAZwBpAGgAagBhAGAAYQBqAGUAYABoAGoAagBoAGkAawBlAGoAaQBrAGoAbABtAG4AbgBvAGwAcABxAHIAcQBzAHIAcgB0AHAAdAB1AHAAdQB0AHYAdgB0AHIAdgB3AHUAdgB4AHcAeQB4AHYAegByAHMAcgB6AHYAdgB6AHkAcwB7AHoAegB7AHkAfAB9AH4AfgB/AHwAgACBAIIAggCDAIAAhACFAIYAhgCHAIQAiACJAIoAigCLAIgAjACNAI4AjgCPAIwAkACRAJIAkgCTAJAAlACVAJYAlgCXAJQAmACZAAIAmQABAAIAAgADAJgABAABAJkAAwAAAJgAmAAAAAUABQCaAJgABQAGAJoAmwCZAJgAmQCbAAQAmACaAJsAmwCaAAYABwAEAJsABgAHAJsACAAJAAoACgALAAgADAANAJwADQAOAJwAnAAOABEAEQCdAJwAnQARABIAnACeAAwAngAPAAwAEAAPAJ4AnwCeAJwAngCfABAAnACdAJ8AnwCdABIAnwATABAAEgATAJ8AFAAVABYAFgAXABQAGAAZABoAGgAbABgAHAAdAB4AHgAfABwAIAAhACIAIgAjACAAJAAlACYAJgAnACQAKAApACoAKgArACgALAAtAC4ALgAvACwAoAChADIAoQAxADIAMgAzAKAANAAxAKEAMwAwAKAAoAAwADUANQCiAKAANQA2AKIAowChAKAAoQCjADQAoACiAKMAowCiADYANwA0AKMANgA3AKMAOAA5ADoAOgA7ADgAPAA9AKQAPQA+AKQApAA+AEEAQQClAKQApQBBAEIApACmADwApgA/ADwAQAA/AKYApwCmAKQApgCnAEAApAClAKcApwClAEIApwBDAEAAQgBDAKcARABFAEYARgBHAEQASABJAEoASgBLAEgATABNAE4ATgBPAEwAUABRAFIAUgBTAFAAVABVAFYAVgBXAFQAWABZAFoAWgBbAFgAXABdAF4AXgBfAFwAqACpAKoAqQCrAKoAqgCsAKgArQCrAKkArACuAKgAqACuAK8ArwCwAKgArwCxALAAsgCpAKgAqQCyAK0AqACwALIAsgCwALEAswCtALIAsQCzALIAtAC1ALYAtgC3ALQAuAC5ALoAuQC7ALoAugC8ALgAvAC9ALgAvQC8AL4AvgC8ALoAvgC/AL0AvgDAAL8AwQDAAL4AwgC6ALsAugDCAL4AvgDCAMEAuwDDAMIAwgDDAMEAxADFAMYAxgDHAMQAyADJAMoAygDLAMgAzADNAM4AzgDPAMwA0ADRANIA0gDTANAA1ADVANYA1gDXANQA2ADZANoA2gDbANgA3ADdAN4A3gDfANwA"), +"lods": [0.2913254, PackedByteArray("AAABAAIAAgADAAAABAABAAAAAAAFAAQABAAFAAYABgAHAAQACAAJAAoACgALAAgADAANAA4ADgAPAAwAEAAPAA4ADgARABAAEAARABIAEgATABAAFAAVABYAFgAXABQAGAAZABoAGgAbABgAHAAdAB4AHgAfABwAIAAhACIAIgAjACAAJAAlACYAJgAnACQAKAApACoAKgArACgALAAtAC4ALgAvACwAMAAxADIAMgAzADAANAAxADAAMAA1ADQANAA1ADYANgA3ADQAOAA5ADoAOgA7ADgAPAA9AD4APgA/ADwAQAA/AD4APgBBAEAAQABBAEIAQgBDAEAARABFAEYARgBHAEQASABJAEoASgBLAEgATABNAE4ATgBPAEwAUABRAFIAUgBTAFAAVABVAFYAVgBXAFQAWABZAFoAWgBbAFgAXABdAF4AXgBfAFwA")], +"material": SubResource("StandardMaterial3D_ac5is"), +"name": "lambert48", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 224, +"vertex_data": PackedByteArray("FTv7volFrT7N3cI6FTv7volFrT42+AA9wwP7vmD6qj4uFN08wwP7vmD6qj5pKMQ7Z5n/vqqo2z42+AA9Z5n/vqqo2z7N3cI6pND/vtbz3T5pKMQ7pND/vtbz3T4uFN08Re39PpHX3D42+AA9kST+PmaM2j4uFN08wwP7vmD6qj4uFN08FTv7volFrT42+AA9kST+PmaM2j5pKMQ7kST+PmaM2j4uFN08Re39PpHX3D42+AA9Re39PpHX3D7N3cI6/475PlmdBT/N3cI6/475PlmdBT82+AA9ulf5Pu/CBj8uFN08ulf5Pu/CBj9pKMQ7/475PlmdBT82+AA9Z5n/vqqo2z42+AA9pND/vtbz3T4uFN08ulf5Pu/CBj8uFN08/475PlmdBT/N3cI6ulf5Pu/CBj9pKMQ7pND/vtbz3T5pKMQ7Z5n/vqqo2z7N3cI6Re39PpHX3D7N3cI6FTv7volFrT7N3cI6wwP7vmD6qj5pKMQ7kST+PmaM2j5pKMQ7/475PlmdBT82+AA9Re39PpHX3D42+AA9FTv7volFrT42+AA9Z5n/vqqo2z42+AA9ulf5Pu/CBj9pKMQ7ulf5Pu/CBj8uFN08pND/vtbz3T4uFN08pND/vtbz3T5pKMQ7FTv7volFrT7N3cI6Re39PpHX3D7N3cI6/475PlmdBT/N3cI6Z5n/vqqo2z7N3cI6kST+PmaM2j4uFN08kST+PmaM2j5pKMQ7wwP7vmD6qj5pKMQ7wwP7vmD6qj4uFN08SBz8vg0HtT3N3cI6SBz8vg0HtT02+AA9UiD8vg/Qqz0uFN08UiD8vg/Qqz1pKMQ7r8r7vk6yNz42+AA9r8r7vk6yNz7N3cI6pMb7vs9NPD5pKMQ7pMb7vs9NPD4uFN08HEH/PkrsnT0uFN08UiD8vg/Qqz0uFN08SBz8vg0HtT02+AA9JkX/Pkojpz02+AA9HEH/PkrsnT1pKMQ7HEH/PkrsnT0uFN08JkX/Pkojpz02+AA9JkX/Pkojpz3N3cI6x5b/PmzAMD7N3cI6x5b/PmzAMD42+AA91Jr/PuxbNT4uFN081Jr/PuxbNT5pKMQ7x5b/PmzAMD42+AA9r8r7vk6yNz42+AA9pMb7vs9NPD4uFN081Jr/PuxbNT4uFN08x5b/PmzAMD7N3cI61Jr/PuxbNT5pKMQ7pMb7vs9NPD5pKMQ7r8r7vk6yNz7N3cI6HEH/PkrsnT1pKMQ7JkX/Pkojpz3N3cI6SBz8vg0HtT3N3cI6UiD8vg/Qqz1pKMQ7x5b/PmzAMD42+AA9JkX/Pkojpz02+AA9SBz8vg0HtT02+AA9r8r7vk6yNz42+AA91Jr/PuxbNT5pKMQ71Jr/PuxbNT4uFN08pMb7vs9NPD4uFN08pMb7vs9NPD5pKMQ7SBz8vg0HtT3N3cI6JkX/Pkojpz3N3cI6x5b/PmzAMD7N3cI6r8r7vk6yNz7N3cI6HEH/PkrsnT0uFN08HEH/PkrsnT1pKMQ7UiD8vg/Qqz1pKMQ7UiD8vg/Qqz0uFN08VNevPrHLDz8uFN28VNevPrHLDz9mKMS7kYmtPkQKDz9mKMS7VNevPkQKDz/N3cK6kYmtPkQKDz8uFN28Am/ePkgKDz/N3cK6VNevPkQKDz82+AC9Am/ePkgKDz82+AC9Am/ePrTLDz8uFN28xbzgPkQKDz8uFN28Am/ePrTLDz9mKMS7xbzgPkQKDz9mKMS7kYmtPgAAAABmKMS7kYmtPkQKDz9mKMS7VNevPkQKDz/N3cK6VNevPgAAAADN3cK6kYmtPgAAAAAuFN28kYmtPgAAAABmKMS7VNevPnFtQbtmKMS7VNevPgAAAADN3cK6VNevPnFtQbsuFN28VNevPgAAAAA2+AC9/27ePoVrQbsuFN28/27ePgAAAAA2+AC9xbzgPgAAAAAuFN28xbzgPgAAAABmKMS7/27ePoVrQbtmKMS7/27ePgAAAADN3cK6/27ePgAAAADN3cK6Am/ePkgKDz/N3cK6xbzgPkQKDz9mKMS7xbzgPgAAAABmKMS7/27ePgAAAAA2+AC9xbzgPgAAAAAuFN28xbzgPkQKDz8uFN28Am/ePkgKDz82+AC9VNevPgAAAAA2+AC9VNevPkQKDz82+AC9kYmtPkQKDz8uFN28kYmtPgAAAAAuFN28/27ePgAAAADN3cK6VNevPgAAAADN3cK6VNevPkQKDz/N3cK6Am/ePkgKDz/N3cK6xbzgPgAAAAAuFN28xbzgPgAAAABmKMS7xbzgPkQKDz9mKMS7xbzgPkQKDz8uFN28VNevPkQKDz82+AC9VNevPgAAAAA2+AC9/27ePgAAAAA2+AC9Am/ePkgKDz82+AC9kYmtPgAAAABmKMS7kYmtPgAAAAAuFN28kYmtPkQKDz8uFN28kYmtPkQKDz9mKMS7Pob9vj8OrT5pKMQ7Pob9vj8OrT4uFN08Q/IAv2Bx2z5pKMQ7Q/IAv2Bx2z4uFN08ORwAP9wO3T4uFN08K9r7Pv+4BT8uFN08ORwAP9wO3T5pKMQ7K9r7Pv+4BT9pKMQ7C2r+vjYXtT1pKMQ7C2r+vjYXtT0uFN08cRj+vmG6Nz5pKMQ7cRj+vmG6Nz4uFN08dMkAPyUTpz0uFN08RPIAP1q4MD4uFN08dMkAPyUTpz1pKMQ7RPIAP1q4MD5pKMQ7zbXSvrHLDz8uFN28zbXSvrHLDz9mKMS7kAPVvkQKDz9mKMS7zbXSvkQKDz/N3cK6kAPVvkQKDz8uFN28Hx6kvkgKDz/N3cK6zbXSvkQKDz82+AC9Hx6kvkgKDz82+AC9Hx6kvrTLDz8uFN28XdChvkQKDz8uFN28Hx6kvrTLDz9mKMS7XdChvkQKDz9mKMS7kAPVvgAAAABmKMS7kAPVvkQKDz9mKMS7zbXSvkQKDz/N3cK6zbXSvgAAAADN3cK6kAPVvgAAAAAuFN28kAPVvgAAAABmKMS7zbXSvnFtQbtmKMS7zbXSvgAAAADN3cK6zbXSvnFtQbsuFN28zbXSvgAAAAA2+AC9Hx6kvoVrQbsuFN28Hx6kvgAAAAA2+AC9XdChvgAAAAAuFN28XdChvgAAAABmKMS7Hx6kvoVrQbtmKMS7Hx6kvgAAAADN3cK6Hx6kvgAAAADN3cK6Hx6kvkgKDz/N3cK6XdChvkQKDz9mKMS7XdChvgAAAABmKMS7Hx6kvgAAAAA2+AC9XdChvgAAAAAuFN28XdChvkQKDz8uFN28Hx6kvkgKDz82+AC9zbXSvgAAAAA2+AC9zbXSvkQKDz82+AC9kAPVvkQKDz8uFN28kAPVvgAAAAAuFN28Hx6kvgAAAADN3cK6zbXSvgAAAADN3cK6zbXSvkQKDz/N3cK6Hx6kvkgKDz/N3cK6XdChvgAAAAAuFN28XdChvgAAAABmKMS7XdChvkQKDz9mKMS7XdChvkQKDz8uFN28zbXSvkQKDz82+AC9zbXSvgAAAAA2+AC9Hx6kvgAAAAA2+AC9Hx6kvkgKDz82+AC9kAPVvgAAAABmKMS7kAPVvgAAAAAuFN28kAPVvkQKDz8uFN28kAPVvkQKDz9mKMS7rwZ6PDuiKouFQ095RZYLkedHPTwJye2gwkMXOAvBz6R7QjV7gm1/gskEhD0CezuJGDg9vFVCPJs9PBe4M0own72FAUPz9ILFeolSG/b0gcV6iVIb9vSBxb2FAUPz9ILF5sfBQ4ZJ1Z7Bw+dHnkHlmoO9yYTwekuJNft7wqFtd4JP+YXDUJYXkXm8r4YjoiWLF7jBw9jBhKQ9vObHnsmFoEF6/bz39ITFQXr9vPf0hMWEdqzk+vSDxYR2rOT69IPF/TxA+vr0fTqsZIP2+vR9OqxkhPb69H06/TxA+vr0fToAw74F+vSBxQDDvgX69IHFUpt7Cfr0gcVSm3sJ+vSBxf9//3/19IPF/3//f/X0g8X/f/9/9fSDxf9//3/19IPFrGSD9vv0gcWEdqzk+vSCxYR2rOT69ILFrGSE9vv0gcX//////fR/xf/////99H/F//////30f8X//////fR/xXqJUhv79IHFUpt7Cfr0gsVSm3sJ+vSCxXqJUhv79IHFmACzP0mazoZLQGZ/io0QjaNBfELswuKdgj1bPge7yaG7QHSBpGRqh3UBu8AqcaqNXD58wj88TJ58Qlu+JkQyokF/0xPdAHDAQX/TE90AcMCPfzdA2gBuwI9/N0DaAG7AosGCPWdD4KGCvaNBmjvsnUO/in4dcbiNif5DP79kZIdm/0rAl40djbO/mIAtmsiGW76CvcO7dqF8wqPBksOEnW+Ax7/eAGzAb4DHv94AbMC9gCvs4gBuwL2AK+ziAG7AN8CP/+MAb8DTk0H/4QBuwNOTQf/hAG7AN8CP/+MAb8ArbL0A3wBwwMc/bwDhAHDAxz9vAOEAcMArbL0A3wBwwP9//3/YAGvA/3//f9gAa8D/f/9/2ABrwP9//3/YAGvA05NB/x//jr+9gCvsIP+Pv72AK+wg/4+/05NB/x//jr//////4gBwwP/////iAHDA/////+IAcMD/////4gBwwEF/0xMf/46/K2y9ACD/j78rbL0AIP+Pv0F/0xMf/46/MnDg/AcGeL7hfDLwzQIxvHlOf8sDLxmkQ3/azGIMNb1/S3nOkjjFqLuA2syeBUDG2kxD/6YFtLkks0P/dgzMwsyP4PzNAsrDgLR4zgQv5NsdgzLwCwaFwYWxfsuSODnXMhP/f/9//f8yE/9//3/9//8//38BgP3//z//fwGA/f9/S4UxzTeA13lOgDR1Lkfc4XzMDw0DA8NDfyQzhwzPwjJwHgObB2XB2ky7AJgFN8bMjx4DDgP9vCSzuwCaDCu9f7SFMXQut6OEsX80zDd+qB2DzA+fB5i+u4AkM5AF0Ln/v/9/AoD+//+//38CgP7/zOz/fwGA/v/M7P9/AYD+/////z/2fwGA///MbPl/AID//8xs+X8AgP///z/2fwGAAAD/v/t/A4AAAP+/+38DgAAAMpP+fwKAAAAyk/5/AoD/f/9/AYD9//9//38BgP3//3//fwGA/f//f/9/AYD9////zGz8fwCAzOz/fwKAAIDM7P9/AoAAgP//zGz8fwCAAAD///l/AoAAAP//+X8CgAAA///5fwKAAAD///l/AoAyE/9/+38AgAAAMpMDgACAAAAykwOAAIAyE/9/+38AgFcNuWElkbaHRh6ocmKProd0BZBoV4Ysg24Xi3rGh/qCkOhzhfKF54O44VaNXo+wh4r6bpdYhjCDp/JGnm2PkYi1AxFqb4ZIgu4VSnxVhCiCGgUhlw56+YIhFxmFBngTg93o5XrWeQKEEOq0g1GEKYLk+t1oEHr7gkn87ZWRhDaDMnDg/AcGeL7hfDLwzQIxvHlOf8sDLxmkQ3/azGIMNb1/S3nOkjjFqLuA2syeBUDG2kxD/6YFtLkks0P/dgzMwsyP4PzNAsrDgLR4zgQv5dsdgzLwCwaFwYWxfsuSODnXMhP/fwCABIAyE/9/AIAEgP8//38GgAaA/z//fwaABoB/S4UxzTeA13lOgDR1Lkfc4XzMDw0DA8NDfyQzhwzPwjJwHgObB2XB2ky7AJgFN8bMjx4DDgP9vCSzuwCaDCu9f7SFMXUut6OFsYA0zDd9qB2DzQ+fB5i+u4AkM5AF0Ln/v/9/DoADgP+//38OgAOAzOz/fwmAAIDM7P9/CYAAgP///78DgPr///8ykwCA/P///zKTAID8/////78DgPr/AAD/vwiA/P8AAP+/CID8/wAAMpMFgP7/AAAykwWA/v//f/9/CYAEgP9//38JgASA/3//fwmABID/f/9/CYAEgP//MpP8fwCAzOz/fwKAAIDM7P9/AoAAgP//MpP8fwCAAAD//wWA+/8AAP//BYD7/wAA//8FgPv/AAD//wWA+/8yE/9/+38AgAAAMpMDgACAAAAykwOAAIAyE/9/+38AgA==") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_gwoio") + +[node name="Test_Chunk_C_L_2" unique_id=386843590 instance=ExtResource("1_sr7sh")] +script = ExtResource("2_5cl6b") +sud = true +ovest = true + +[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) +material_override = ExtResource("3_hj70d") + +[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) +material_override = ExtResource("3_hj70d") +mesh = SubResource("ArrayMesh_s4u17") +skeleton = NodePath("") + +[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) +material_override = ExtResource("3_hj70d") +mesh = SubResource("ArrayMesh_s4u17") +skeleton = NodePath("") + +[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) +material_override = SubResource("StandardMaterial3D_15ugy") +mesh = SubResource("ArrayMesh_s4u17") +skeleton = NodePath("") + +[node name="Chunk_004" parent="." index="4" unique_id=2103650482] +material_override = SubResource("StandardMaterial3D_vxc6e") + +[node name="Chunk_038" parent="." index="5" unique_id=476922148] +material_override = ExtResource("3_hj70d") + +[node name="Cube_016" parent="." index="6" unique_id=117542775] +visible = false + +[node name="Cube_017" parent="." index="7" unique_id=1756376932] +visible = false + +[node name="Cube_019" parent="." index="8" unique_id=1580622513] +visible = false + +[node name="Cube_020" parent="." index="9" unique_id=2036193462] +visible = false + +[node name="Cube_032" parent="." index="10" unique_id=768764430] +visible = false + +[node name="Cube_033" parent="." index="11" unique_id=245689535] +transform = Transform3D(1.1920929e-05, -100, -1.4901161e-05, -2.9802322e-06, -1.1920929e-05, 99.99999, -100, -5.9604645e-06, 0, 0.6881552, 0, 2.5324297) +visible = false +material_override = ExtResource("5_wgav2") + +[node name="Cube_035" parent="." index="12" unique_id=1334292460] +visible = false + +[node name="Cube_053" parent="." index="13" unique_id=1612072202] +visible = false + +[node name="Grass4" parent="." index="14" unique_id=1987777413 instance=ExtResource("6_lt21y")] +transform = Transform3D(0.6122072, 0, 0, 0, 1, 0, 0, 0, 0.6007669, -5.700036, 0.07019353, 5.611025) + +[node name="MultiMeshInstance3D" parent="Grass4" index="4" unique_id=626174101] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.18730783, 0) +material_override = SubResource("ShaderMaterial_odndq") + +[node name="Grass2" parent="." index="15" unique_id=560220625 instance=ExtResource("6_lt21y")] +transform = Transform3D(0.8395087, 0, 0, 0, 1, 0, 0, 0, 0.61816335, -4.278, 0.17403081, -5.945) + +[node name="MultiMeshInstance3D" parent="Grass2" index="4" unique_id=626174101] +material_override = SubResource("ShaderMaterial_bp8uq") + +[node name="Grass6" parent="." index="16" unique_id=1952119838 instance=ExtResource("6_lt21y")] +transform = Transform3D(0.6270817, 0, 0, 0, 1, 0, 0, 0, 0.6876393, 5.735, 0.206, -5.6978197) + +[node name="MultiMeshInstance3D" parent="Grass6" index="4" unique_id=626174101] +material_override = SubResource("ShaderMaterial_xlq82") + +[node name="Test_BordiSentiero" parent="." index="17" unique_id=1395614268 instance=ExtResource("9_jn6md")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.46797252, 0.13621283, -0.5412421) + +[node name="Test_BordiSentiero2" parent="." index="18" unique_id=1399898204 instance=ExtResource("10_flfvy")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.7006979, 0.16054237, 1.681727) + +[node name="Test_BordiSentiero3" parent="." index="19" unique_id=1247642838 instance=ExtResource("11_v17qr")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.5992937, 0.15716672, -1.34815) + +[node name="Test_BordiSentiero4" parent="." index="20" unique_id=118309549 instance=ExtResource("11_v17qr")] +transform = Transform3D(-0.9999916, 0, 0.004101416, 0, 1, 0, -0.004101416, 0, -0.9999916, -5.8598804, 0.15716672, 1.3256807) + +[node name="Test_BordiSentiero5" parent="." index="21" unique_id=1417806888 instance=ExtResource("11_v17qr")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.2601616, 0.15716672, 5.635663) + +[node name="Test_BordiSentiero7" parent="." index="22" unique_id=898809213 instance=ExtResource("11_v17qr")] +transform = Transform3D(-3.706939e-08, 0, 2.2739074, 0, 1, 0, -0.8480488, 0, -9.939565e-08, 2.0156124, 0.15716672, 2.360465) + +[node name="Test_BordiSentiero10" parent="." index="23" unique_id=239911816 instance=ExtResource("11_v17qr")] +transform = Transform3D(-1.5587917e-08, 0, 4.380512, 0, 1, 0, -0.35661, 0, -1.9147826e-07, 2.6081517, 0.15716672, 8.251663) + +[node name="Test_BordiSentiero8" parent="." index="24" unique_id=1814839146 instance=ExtResource("11_v17qr")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 3.742513, 0.15716672, 5.0782814) + +[node name="Test_BordiSentiero9" parent="." index="25" unique_id=1502157983 instance=ExtResource("11_v17qr")] +transform = Transform3D(0.6867612, 0, 0, 0, 1, 0, 0, 0, 2.8097181, 6.560918, 0.15716672, 1.6488471) + +[node name="Test_BordiSentiero6" parent="." index="26" unique_id=1351123001 instance=ExtResource("11_v17qr")] +transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, 1.1930683, 0.15716672, 5.635663) + +[node name="Test_BordiSentiero11" parent="." index="27" unique_id=113456556 instance=ExtResource("11_v17qr")] +transform = Transform3D(1.5706487e-08, 0, -1.2851603, 0, 1, 0, 1.3171189, 0, 1.5325384e-08, 9.6675, 0.15716672, 4.475239) + +[node name="Test_BordiSentiero12" parent="." index="28" unique_id=386686351 instance=ExtResource("11_v17qr")] +transform = Transform3D(-1.0718222, 0, 1.12352275e-07, 0, 1, 0, -9.370167e-08, 0, -1.2851602, 5.3966093, 0.15716672, 9.677978) + +[node name="SK_Mannequin" parent="." index="29" unique_id=1460559169 instance=ExtResource("12_emned")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.16766357, 0, 0.1498737) + +[node name="SK_Mannequin3" parent="." index="30" unique_id=580559701 instance=ExtResource("12_emned")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.16766357, 0, 8.473844) + +[node name="SK_Mannequin2" parent="." index="31" unique_id=61451950 instance=ExtResource("12_emned")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.168, 0, -5.1774583) + +[node name="MSH_Staccionate2" parent="." index="32" unique_id=118332436 instance=ExtResource("14_sg641")] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0.75776386, 0, 9.171503) + +[node name="MSH_Staccioanta_3" parent="MSH_Staccionate2" index="0" unique_id=1218567814] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.61059964, 0, -0.48803043) + +[node name="MSH_Staccioanta_1" parent="MSH_Staccionate2" index="3" unique_id=1140003948] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.6117797, 0, -4.2981853) + +[node name="MSH_Staccioanta_7" type="MeshInstance3D" parent="MSH_Staccionate2" index="4" unique_id=2131335904] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.6117797, 0, -5.2866135) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_8" type="MeshInstance3D" parent="MSH_Staccionate2" index="5" unique_id=426420792] +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.0782298, 0, -5.750946) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_9" type="MeshInstance3D" parent="MSH_Staccionate2" index="6" unique_id=346456244] +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 2.0315967, 0, -5.750946) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_10" type="MeshInstance3D" parent="MSH_Staccionate2" index="7" unique_id=2016893685] +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3.1042657, 0, -5.750946) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_12" type="MeshInstance3D" parent="MSH_Staccionate2" index="8" unique_id=327841375] +transform = Transform3D(-4.3711385e-08, 0, 0.99999994, 0, 1, 0, -0.99999994, 0, -4.3711385e-08, 4.349199, 0, -5.2948666) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_13" type="MeshInstance3D" parent="MSH_Staccionate2" index="9" unique_id=1060150728] +transform = Transform3D(-4.3711385e-08, 0, 0.99999994, 0, 1, 0, -0.99999994, 0, -4.3711385e-08, 4.349199, 0, -4.266531) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_11" type="MeshInstance3D" parent="MSH_Staccionate2" index="10" unique_id=2037753845] +transform = Transform3D(-0.7882868, 0, 8.742278e-08, 0, 1, 0, -6.891422e-08, 0, -1, 4.026463, 0, -5.750946) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_5" type="MeshInstance3D" parent="MSH_Staccionate2" index="11" unique_id=2058245282] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.6117797, 0, -2.2385662) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="MSH_Staccioanta_6" type="MeshInstance3D" parent="MSH_Staccionate2" index="12" unique_id=2072152824] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0.6117797, 0, -3.2790153) +material_override = ExtResource("15_u5vqi") +mesh = SubResource("ArrayMesh_ir84x") +skeleton = NodePath("") + +[node name="AnimationPlayer" parent="MSH_Staccionate2" index="13" unique_id=929358565] +root_node = NodePath("../../MSH_Staccionate2") + +[node name="House_XL_1" parent="." index="33" unique_id=297136650 instance=ExtResource("17_j3hnw")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.126238, 0, 5.834319) + +[node name="TreeTest3" parent="." index="34" unique_id=838519336 instance=ExtResource("16_w82ua")] +transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, -6, 0, 5) + +[node name="TreeTest4" parent="." index="35" unique_id=47639112 instance=ExtResource("16_w82ua")] +transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, -6, 0, -6) + +[node name="TreeTest5" parent="." index="36" unique_id=905854037 instance=ExtResource("16_w82ua")] +transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, 0, 0, -6) + +[node name="TreeTest6" parent="." index="37" unique_id=591576332 instance=ExtResource("16_w82ua")] +transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, 6, 0, -6) + +[node name="TreeTest7" parent="." index="38" unique_id=124591746 instance=ExtResource("16_w82ua")] +transform = Transform3D(1.7, 0, 0, 0, 2.21, 0, 0, 0, 1.7, 4, 0, -9) + +[node name="TreeTest8" parent="." index="39" unique_id=1044651283 instance=ExtResource("16_w82ua")] +transform = Transform3D(1.7, 0, 0, 0, 1.768, 0, 0, 0, 1.53, -2, 0, -9) + +[editable path="Grass4"] +[editable path="Grass2"] +[editable path="Grass6"] +[editable path="MSH_Staccionate2"] diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_e_1.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_e_1.tscn new file mode 100644 index 0000000..9e23cd8 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_e_1.tscn @@ -0,0 +1,27 @@ +[gd_scene format=3 uid="uid://bi12g5nj421jv"] + +[ext_resource type="PackedScene" uid="uid://d3loscamahf5y" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_E_1.fbx" id="1_anwxh"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_scq5d"] +[ext_resource type="PackedScene" uid="uid://ddupqq1tx1jxu" path="res://Scenes/Test/Tree_Sad.tscn" id="4_cdmr2"] +[ext_resource type="PackedScene" uid="uid://d12t04rs47jq3" path="res://Scenes/Test/Tree_V1.tscn" id="5_vyg4h"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pynx0"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_E_1" unique_id=1874739368 instance=ExtResource("1_anwxh")] +script = ExtResource("2_scq5d") + +[node name="Chunk_026" parent="." index="0" unique_id=1559745184] +material_override = SubResource("StandardMaterial3D_pynx0") + +[node name="SadTree" parent="." index="1" unique_id=753856045 instance=ExtResource("4_cdmr2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, -4) + +[node name="TreeTest3" parent="." index="2" unique_id=838519336 instance=ExtResource("5_vyg4h")] +transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, -4, 0, 4) + +[node name="TreeTest4" parent="." index="3" unique_id=2002110381 instance=ExtResource("5_vyg4h")] +transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, 2, 0, -6) + +[node name="TreeTest5" parent="." index="4" unique_id=286631858 instance=ExtResource("5_vyg4h")] +transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, 3, 0, 2) diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_f_1.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_f_1.tscn new file mode 100644 index 0000000..2161562 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_f_1.tscn @@ -0,0 +1,134 @@ +[gd_scene format=4 uid="uid://boxnrd3pwpjx5"] + +[ext_resource type="PackedScene" uid="uid://d3loscamahf5y" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_E_1.fbx" id="1_453cn"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_fas56"] +[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_kllpc"] +[ext_resource type="PackedScene" uid="uid://8jtrp8ckqf1a" path="res://Scenes/Chunk_Scene/House/House_muraglione.tscn" id="4_kg6th"] +[ext_resource type="PackedScene" uid="uid://5sod22d0vnip" path="res://Scenes/Chunk_Scene/House/House_XL_4.tscn" id="5_gvooa"] +[ext_resource type="PackedScene" uid="uid://uc4lteo7ebjb" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_l_1.tscn" id="6_rjyte"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="7_xnnck"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0uwhb"] +resource_name = "Material" +vertex_color_use_as_albedo = true +albedo_color = Color(0.9063318, 0.9063318, 0.9063318, 1) +emission_enabled = true + +[sub_resource type="ArrayMesh" id="ArrayMesh_v3qhc"] +_surfaces = [{ +"aabb": AABB(-0.1, -0.015, -0.00043503524, 0.085, 0.03, 0.0008700705), +"format": 34359742465, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAwABAAAAAgAEAAAAAQADAAUABQACAAEABgAEAAIAAgAFAAYABwAAAAQAAAAHAAMABAAGAAcABQADAAcABwAGAAUA"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("j8J1vI3CdbxxFeS5j8J1vI/CdTxxFeS5zczMvY3CdTxxFeS5j8J1vI/CdTxxFeQ5zczMvY/CdbxxFeS5zczMvY3CdTxxFeQ5zczMvY/CdbxxFeQ5j8J1vI3CdbxxFeQ5") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_db63l"] +resource_name = "Cube_041" +_surfaces = [{ +"aabb": AABB(-0.1, -0.015, -0.00043503524, 0.085, 0.03, 0.0008700705), +"attribute_data": PackedByteArray("EI5NP1hyCb/sx0k+7m8Lv+zHST7jt8U/EI5NPxi5xD/sx0k+7m8Lvzo2PD4K+Ri/OjY8PoV8zD/sx0k+47fFPxCOTT9Ycgm/cvJQP/r6FL86Njw+CvkYv+zHST7ubwu/mhRSP298zD+aFFI/3vgYv5atNz4K+Ri/lq03PoV8zD/sx0k+47fFPzo2PD6FfMw/cvJQP2l9yj8Qjk0/GLnEPxCOTT8YucQ/cvJQP2l9yj9y8lA/+voUvxCOTT9Ycgm/"), +"format": 34359742487, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAgADAAAABAAFAAYABgAHAAQACAAJAAoACgALAAgADAANAA4ADgAPAAwAEAARABIAEgATABAAFAAVABYAFgAXABQA"), +"material": SubResource("StandardMaterial3D_0uwhb"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 24, +"vertex_data": PackedByteArray("j8J1vI3CdbxxFeS5j8J1vI/CdTxxFeS5zczMvY3CdTxxFeS5zczMvY/CdbxxFeS5j8J1vI/CdTxxFeS5j8J1vI/CdTxxFeQ5zczMvY3CdTxxFeQ5zczMvY3CdTxxFeS5j8J1vI3CdbxxFeS5j8J1vI3CdbxxFeQ5j8J1vI/CdTxxFeQ5j8J1vI/CdTxxFeS5zczMvY3CdTxxFeQ5j8J1vI/CdTxxFeQ5j8J1vI3CdbxxFeQ5zczMvY/CdbxxFeQ5zczMvY3CdTxxFeS5zczMvY3CdTxxFeQ5zczMvY/CdbxxFeQ5zczMvY/CdbxxFeS5zczMvY/CdbxxFeS5zczMvY/CdbxxFeQ5j8J1vI3CdbxxFeQ5j8J1vI3CdbxxFeS5/////8KAnn//////VYFUf/////86f5x//////6d+U3//f/////+9LP9//////+ks/3///wAAm1L/f///AABuUv///3//f15/////f/9/XH////9//3+4f////3//f7l//3//f/9/AAD/f/9//38AAP9//3//fwAA/3//f/9/AAAAAP9//391fwAA/3//f3R/AAD/f/9/rH8AAP9//3+tf/9/AABx1f8//38AAM7V/z//fwAAXSn/P/9/AAD+KP8/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_v3qhc") + +[sub_resource type="ArrayMesh" id="ArrayMesh_7ona5"] +_surfaces = [{ +"aabb": AABB(-0.015000002, -0.1, -0.00043503524, 0.030000005, 0.115, 0.0008700705), +"format": 34359742465, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAwABAAAAAgAEAAAAAQADAAUABQACAAEABgAEAAIAAgAFAAYABwAAAAQAAAAHAAMABAAGAAcABQADAAcABwAGAAUA"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray("isJ1PI/CdTxxFeS5ksJ1vI/CdTxxFeS5isJ1vM3MzL1xFeS5ksJ1vI/CdTxxFeQ5ksJ1PM3MzL1xFeS5isJ1vM3MzL1xFeQ5ksJ1PM3MzL1xFeQ5isJ1PI/CdTxxFeQ5") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_vall4"] +resource_name = "Cube_042" +_surfaces = [{ +"aabb": AABB(-0.015000002, -0.1, -0.00043503524, 0.030000005, 0.115, 0.0008700705), +"attribute_data": PackedByteArray("EI5NP1hyCb/sx0k+7m8Lv+zHST7jt8U/EI5NPxi5xD/sx0k+7m8Lvzo2PD4K+Ri/OjY8PoV8zD/sx0k+47fFPxCOTT9Ycgm/cvJQP/r6FL86Njw+CvkYv+zHST7ubwu/mhRSP298zD+aFFI/3vgYv5atNz4K+Ri/lq03PoV8zD/sx0k+47fFPzo2PD6FfMw/cvJQP2l9yj8Qjk0/GLnEPxCOTT8YucQ/cvJQP2l9yj9y8lA/+voUvxCOTT9Ycgm/"), +"format": 34359742487, +"index_count": 36, +"index_data": PackedByteArray("AAABAAIAAgADAAAABAAFAAYABgAHAAQACAAJAAoACgALAAgADAANAA4ADgAPAAwAEAARABIAEgATABAAFAAVABYAFgAXABQA"), +"material": SubResource("StandardMaterial3D_0uwhb"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 24, +"vertex_data": PackedByteArray("isJ1PI/CdTxxFeS5ksJ1vI/CdTxxFeS5isJ1vM3MzL1xFeS5ksJ1PM3MzL1xFeS5ksJ1vI/CdTxxFeS5ksJ1vI/CdTxxFeQ5isJ1vM3MzL1xFeQ5isJ1vM3MzL1xFeS5isJ1PI/CdTxxFeS5isJ1PI/CdTxxFeQ5ksJ1vI/CdTxxFeQ5ksJ1vI/CdTxxFeS5isJ1vM3MzL1xFeQ5ksJ1vI/CdTxxFeQ5isJ1PI/CdTxxFeQ5ksJ1PM3MzL1xFeQ5isJ1vM3MzL1xFeS5isJ1vM3MzL1xFeQ5ksJ1PM3MzL1xFeQ5ksJ1PM3MzL1xFeS5ksJ1PM3MzL1xFeS5ksJ1PM3MzL1xFeQ5isJ1PI/CdTxxFeQ5isJ1PI/CdTxxFeS5/////8b+Yz//////Mv4ZP//////D/p1A/////y7+50AAAP9/LmEAAAAA/39nYQAAAAD/f66d/n8AAP9/dZ3+f/9///+8/v8//3///7n+/z//f///cP//P/9///9z//8//3//fwAA/z//f/9/AAD/P/9//38AAP8//3//fwAA/z//fwAA6/7/P/9/AADp/v8//38AAFn//z//fwAAW///P////3//fy0R////f/9/DhH///9//39Yb////3//f3dv") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_7ona5") + +[sub_resource type="BoxShape3D" id="BoxShape3D_lunjj"] +size = Vector3(20, 10, 20) + +[node name="Chunk_C_E_1" unique_id=1874739368 instance=ExtResource("1_453cn")] +script = ExtResource("2_fas56") +nord = true +est = true +ovest = true + +[node name="Chunk_026" parent="." index="0" unique_id=1559745184] +material_override = ExtResource("3_kllpc") + +[node name="House_Muraglione" parent="." index="1" unique_id=1060427946 instance=ExtResource("4_kg6th")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, -0.891696) + +[node name="House_XL_4" parent="." index="2" unique_id=1350238174 instance=ExtResource("5_gvooa")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0) + +[node name="Chunk_C_L_1" parent="." index="3" unique_id=47126446 instance=ExtResource("6_rjyte")] +nord = true +est = true +sud = false + +[node name="Chunk_005" parent="Chunk_C_L_1" index="0" unique_id=1667835125] +visible = false + +[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) +material_override = ExtResource("7_xnnck") +mesh = SubResource("ArrayMesh_db63l") +skeleton = NodePath("") + +[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) +material_override = ExtResource("7_xnnck") +mesh = SubResource("ArrayMesh_vall4") +skeleton = NodePath("") + +[node name="Cube_030" parent="Chunk_C_L_1" index="5" unique_id=807948711] +visible = false + +[node name="Cube_031" parent="Chunk_C_L_1" index="6" unique_id=1667337241] +visible = false + +[node name="Cube_034" parent="Chunk_C_L_1" index="7" unique_id=934323945] +visible = false + +[node name="StaticBody3D" type="StaticBody3D" parent="." index="4" unique_id=1294838844] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0" unique_id=415467932] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0) +shape = SubResource("BoxShape3D_lunjj") + +[editable path="Chunk_C_L_1"] diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_l_1.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_l_1.tscn new file mode 100644 index 0000000..985ea12 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_l_1.tscn @@ -0,0 +1,32 @@ +[gd_scene format=3 uid="uid://uc4lteo7ebjb"] + +[ext_resource type="PackedScene" uid="uid://deqp06tkp4orv" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_L_1.fbx" id="1_t2h3f"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_mx3ua"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_l5m85"] +[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="5_l352o"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ryncd"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_L_1" unique_id=47126446 instance=ExtResource("1_t2h3f")] +script = ExtResource("2_mx3ua") +sud = true +ovest = true + +[node name="Chunk_005" parent="." index="0" unique_id=1667835125] +material_override = SubResource("StandardMaterial3D_ryncd") + +[node name="Chunk_036" parent="." index="1" unique_id=248347357] +material_override = ExtResource("4_l5m85") + +[node name="Chunk_037" parent="." index="2" unique_id=1414101746] +material_override = ExtResource("4_l5m85") + +[node name="Cube_030" parent="." index="3" unique_id=807948711] +material_override = ExtResource("5_l352o") + +[node name="Cube_031" parent="." index="4" unique_id=1667337241] +material_override = ExtResource("5_l352o") + +[node name="Cube_034" parent="." index="5" unique_id=934323945] +material_override = ExtResource("5_l352o") diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_r_1.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_r_1.tscn new file mode 100644 index 0000000..bc18424 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_r_1.tscn @@ -0,0 +1,27 @@ +[gd_scene format=3 uid="uid://51n0mv0hpnu0"] + +[ext_resource type="PackedScene" uid="uid://bign7y2duatrm" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_R_1.fbx" id="1_w4ilb"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_0ctfe"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_tgve8"] +[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="5_e2fgg"] +[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="6_iyerk"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_b67nn"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_R_1" unique_id=1252470746 instance=ExtResource("1_w4ilb")] +script = ExtResource("2_0ctfe") +nord = true +sud = true + +[node name="Chunk_017" parent="." index="0" unique_id=965675178] +material_override = SubResource("StandardMaterial3D_b67nn") + +[node name="Chunk_044" parent="." index="1" unique_id=1786132713] +material_override = ExtResource("4_tgve8") + +[node name="Cube_021" parent="." index="2" unique_id=2051615722] +material_override = ExtResource("5_e2fgg") + +[node name="Cube_022" parent="." index="3" unique_id=1647034237] +material_override = ExtResource("6_iyerk") diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_1_1.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_1_1.tscn new file mode 100644 index 0000000..5fce7ce --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_1_1.tscn @@ -0,0 +1,32 @@ +[gd_scene format=3 uid="uid://c0trecscea4xr"] + +[ext_resource type="PackedScene" uid="uid://c7ax77lnixftt" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T1_1.fbx" id="1_i7r44"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_177li"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_gocca"] +[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="5_u17b2"] +[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="6_iaosl"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vcre4"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_T1_1" unique_id=1230400446 instance=ExtResource("1_i7r44")] +script = ExtResource("2_177li") +ovest = true + +[node name="Chunk_013" parent="." index="0" unique_id=1316424628] +material_override = SubResource("StandardMaterial3D_vcre4") + +[node name="Chunk_034" parent="." index="1" unique_id=1645287092] +material_override = ExtResource("4_gocca") + +[node name="Chunk_035" parent="." index="2" unique_id=776180449] +material_override = ExtResource("4_gocca") + +[node name="Cube_023" parent="." index="3" unique_id=1570957191] +material_override = ExtResource("5_u17b2") + +[node name="Cube_024" parent="." index="4" unique_id=345131950] +material_override = ExtResource("5_u17b2") + +[node name="Cube_026" parent="." index="5" unique_id=675112727] +material_override = ExtResource("6_iaosl") diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_1.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_1.tscn new file mode 100644 index 0000000..b3fb5a3 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_1.tscn @@ -0,0 +1,33 @@ +[gd_scene format=3 uid="uid://bkgfmga5y03wo"] + +[ext_resource type="PackedScene" uid="uid://0fj7s2vhg2vl" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T3_1.fbx" id="1_4jfhy"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_0bnc8"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="3_vf36v"] +[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="4_vlk7m"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6bxnm"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_T3_1" unique_id=1372695450 instance=ExtResource("1_4jfhy")] +script = ExtResource("2_0bnc8") +nord = true +est = true +sud = true + +[node name="Chunk_010" parent="." index="0" unique_id=592368015] +material_override = SubResource("StandardMaterial3D_6bxnm") + +[node name="Chunk_024" parent="." index="1" unique_id=1847202267] +material_override = ExtResource("3_vf36v") + +[node name="Chunk_033" parent="." index="2" unique_id=599786477] +material_override = ExtResource("3_vf36v") + +[node name="Cube_027" parent="." index="3" unique_id=218487406] +material_override = ExtResource("4_vlk7m") + +[node name="Cube_028" parent="." index="4" unique_id=363845367] +material_override = ExtResource("4_vlk7m") + +[node name="Cube_029" parent="." index="5" unique_id=1192969853] +material_override = ExtResource("4_vlk7m") diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_2.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_2.tscn new file mode 100644 index 0000000..614d735 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_2.tscn @@ -0,0 +1,34 @@ +[gd_scene format=3 uid="uid://doa52qwel85w3"] + +[ext_resource type="PackedScene" uid="uid://bgbmyk84rks48" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T3_2.fbx" id="1_u7do2"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_ruqbe"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_dkigq"] +[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="5_j3d8l"] +[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="6_5nlrv"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0v7uk"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_T3_2" unique_id=292611530 instance=ExtResource("1_u7do2")] +script = ExtResource("2_ruqbe") +nord = true +est = true +sud = true + +[node name="Chunk_007" parent="." index="0" unique_id=1142532007] +material_override = SubResource("StandardMaterial3D_0v7uk") + +[node name="Chunk_009" parent="." index="1" unique_id=782039887] +material_override = ExtResource("4_dkigq") + +[node name="Chunk_040" parent="." index="2" unique_id=1927929842] +material_override = ExtResource("4_dkigq") + +[node name="Cube_037" parent="." index="3" unique_id=1809317103] +material_override = ExtResource("5_j3d8l") + +[node name="Cube_039" parent="." index="4" unique_id=1386993725] +material_override = ExtResource("6_5nlrv") + +[node name="Cube_040" parent="." index="5" unique_id=690313787] +material_override = ExtResource("5_j3d8l") diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_3.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_3.tscn new file mode 100644 index 0000000..7fb8863 --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_3.tscn @@ -0,0 +1,34 @@ +[gd_scene format=3 uid="uid://d16askvk5gdjy"] + +[ext_resource type="PackedScene" uid="uid://bbe7lqa1ayf51" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T3_3.fbx" id="1_b25ct"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_t8uks"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_3l5th"] +[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="5_3xark"] +[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="6_ckigp"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wv0pw"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_T3_3" unique_id=466510246 instance=ExtResource("1_b25ct")] +script = ExtResource("2_t8uks") +nord = true +est = true +sud = true + +[node name="Chunk_011" parent="." index="0" unique_id=622687573] +material_override = SubResource("StandardMaterial3D_wv0pw") + +[node name="Chunk_039" parent="." index="1" unique_id=41647118] +material_override = ExtResource("4_3l5th") + +[node name="Chunk_042" parent="." index="2" unique_id=1398607153] +material_override = ExtResource("4_3l5th") + +[node name="Cube_044" parent="." index="3" unique_id=1489430551] +material_override = ExtResource("5_3xark") + +[node name="Cube_045" parent="." index="4" unique_id=1520396724] +material_override = ExtResource("6_ckigp") + +[node name="Cube_046" parent="." index="5" unique_id=948875408] +material_override = ExtResource("5_3xark") diff --git a/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_x_1.tscn b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_x_1.tscn new file mode 100644 index 0000000..a5cd94c --- /dev/null +++ b/Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_x_1.tscn @@ -0,0 +1,31 @@ +[gd_scene format=3 uid="uid://c7tntbuu6xauu"] + +[ext_resource type="PackedScene" uid="uid://bhpk5c2ydvf3m" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_X_1.fbx" id="1_krvni"] +[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_8bqar"] +[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_d4n6v"] +[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="5_dss04"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cgswe"] +albedo_color = Color(0.83137256, 0.24313726, 0.1882353, 1) + +[node name="Chunk_C_X_1" unique_id=1877580989 instance=ExtResource("1_krvni")] +script = ExtResource("2_8bqar") +nord = true +est = true +sud = true +ovest = true + +[node name="Chunk_008" parent="." index="0" unique_id=1278184955] +material_override = SubResource("StandardMaterial3D_cgswe") + +[node name="Chunk_015" parent="." index="1" unique_id=1411882798] +material_override = ExtResource("4_d4n6v") + +[node name="Chunk_023" parent="." index="2" unique_id=728576742] +material_override = ExtResource("4_d4n6v") + +[node name="Cube_036" parent="." index="3" unique_id=966527601] +material_override = ExtResource("5_dss04") + +[node name="Cube_038" parent="." index="4" unique_id=115744551] +material_override = ExtResource("5_dss04") diff --git a/Scenes/Gameplay.tscn b/Scenes/Gameplay.tscn index 3877d8b..282d6d4 100644 --- a/Scenes/Gameplay.tscn +++ b/Scenes/Gameplay.tscn @@ -8,26 +8,45 @@ [ext_resource type="Texture2D" uid="uid://dxahudyvihk8b" path="res://Assets/Textures/Stars.png" id="6_jawsd"] [ext_resource type="Script" uid="uid://brcimd12tx3dm" path="res://Scripts/edge_detection_compositor.gd" id="7_4xv0h"] [ext_resource type="Texture2D" uid="uid://dey5onb6mwp3f" path="res://Assets/Textures/leaf_particle.png" id="7_vufuq"] +[ext_resource type="Script" uid="uid://c5xr1w2tvcxl1" path="res://Scenes/generatore_bioma.gd" id="8_7j5hj"] [ext_resource type="Script" uid="uid://b8x6nf7u6iopv" path="res://Scripts/CameraMove.gd" id="8_17jdd"] +[ext_resource type="PackedScene" uid="uid://bx2amm4q66ei" path="res://Scenes/MainMap.tscn" id="8_bedag"] [ext_resource type="Script" uid="uid://bhdoxc2oak88u" path="res://Scripts/palette_manager.gd" id="8_gffi5"] [ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="9_bedag"] [ext_resource type="Script" uid="uid://cagpbu4pg5s1y" path="res://Scripts/Binari.gd" id="9_isbua"] +[ext_resource type="PackedScene" uid="uid://botm0dqtr5whb" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_e_1.tscn" id="9_u10x4"] +[ext_resource type="PackedScene" uid="uid://birttctl11th8" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_l_1.tscn" id="10_l1dl0"] [ext_resource type="PackedScene" uid="uid://dvk3bytqn3m5s" path="res://Scenes/Test/Main_Train.tscn" id="10_ur7m6"] [ext_resource type="PackedScene" uid="uid://bbrsmc2vxdcwq" path="res://Scenes/Test/fuoco_d'artificio_root.tscn" id="11_gwrkm"] +[ext_resource type="PackedScene" uid="uid://badmwcxptjfvo" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_r_1.tscn" id="12_kjb07"] [ext_resource type="PackedScene" uid="uid://qyml1s00773u" path="res://Scenes/Test/Rotaie_Blockout.tscn" id="12_nonqo"] [ext_resource type="Shader" uid="uid://co2jw3fnyc6aa" path="res://Shaders/tree_leaves.gdshader" id="13_kwbnj"] +[ext_resource type="PackedScene" uid="uid://r7gp3qvjpehw" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_1_1.tscn" id="13_on20a"] +[ext_resource type="PackedScene" uid="uid://b3l7mu5ompcb6" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_1.tscn" id="14_6k3cw"] [ext_resource type="Texture2D" uid="uid://bsabg0b27m7uw" path="res://Assets/Textures/Fuji.png" id="14_7j5hj"] +[ext_resource type="PackedScene" uid="uid://cor3j8w3wewl5" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_2.tscn" id="15_16mw0"] [ext_resource type="Texture2D" uid="uid://m06lpixnkjdd" path="res://Assets/Textures/Fuji_1.png" id="15_u10x4"] [ext_resource type="Texture2D" uid="uid://bl08clorvfthf" path="res://Assets/Textures/Fuji_2.png" id="16_l1dl0"] +[ext_resource type="PackedScene" uid="uid://bqc1txstk8y5v" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_t_3_3.tscn" id="16_qdxup"] [ext_resource type="ArrayMesh" uid="uid://dp5c3nqdvnsv0" path="res://Assets/Test/Demo/flower.res" id="17_kjb07"] +[ext_resource type="PackedScene" uid="uid://deoglbhviiria" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_x_1.tscn" id="17_tbvi6"] +[ext_resource type="PackedScene" uid="uid://bi12g5nj421jv" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_e_1.tscn" id="18_4udcq"] [ext_resource type="PackedScene" uid="uid://d12t04rs47jq3" path="res://Scenes/Test/Tree_V1.tscn" id="18_on20a"] [ext_resource type="Shader" uid="uid://cglb64vpwpgpu" path="res://Shaders/Water2.gdshader" id="19_6k3cw"] +[ext_resource type="PackedScene" uid="uid://uc4lteo7ebjb" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_l_1.tscn" id="19_vj0n5"] +[ext_resource type="PackedScene" uid="uid://cpebna545ihfh" path="res://Scenes/Chunk_Scene/Chunk/Foresta/Chunk_F_L_2.tscn" id="20_00nhk"] [ext_resource type="PackedScene" uid="uid://bp5gnv0noxcpc" path="res://Scenes/Test/Scogliera_Blockout.tscn" id="20_16mw0"] [ext_resource type="PackedScene" uid="uid://dk85mk0hapngf" path="res://Assets/Test/rock2.glb" id="21_qdxup"] +[ext_resource type="PackedScene" uid="uid://51n0mv0hpnu0" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_r_1.tscn" id="21_vpybn"] +[ext_resource type="PackedScene" uid="uid://c0trecscea4xr" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_1_1.tscn" id="22_5lko7"] [ext_resource type="Shader" uid="uid://c0dy1aqj1b4q3" path="res://Shaders/trunk_shader.gdshader" id="22_tbvi6"] [ext_resource type="Texture2D" uid="uid://8sdgkykyg5l5" path="res://Assets/Textures/rock_color.png" id="23_4udcq"] +[ext_resource type="PackedScene" uid="uid://bkgfmga5y03wo" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_1.tscn" id="23_j2rq4"] +[ext_resource type="PackedScene" uid="uid://doa52qwel85w3" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_2.tscn" id="24_eyx0r"] [ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="24_vj0n5"] [ext_resource type="PackedScene" uid="uid://bioksfn7mydfa" path="res://Assets/Test/Demo/Tree_V2.glb" id="25_00nhk"] +[ext_resource type="PackedScene" uid="uid://d16askvk5gdjy" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_t_3_3.tscn" id="25_vmtna"] +[ext_resource type="PackedScene" uid="uid://c7tntbuu6xauu" path="res://Scenes/Chunk_Scene/Chunk/Foresta/chunk_F_x_1.tscn" id="26_am4st"] [ext_resource type="Texture2D" uid="uid://cy7kh4dvdd34v" path="res://Assets/Textures/tree_bark.png" id="26_vpybn"] [ext_resource type="Material" uid="uid://b6hcjwe0eglcm" path="res://Materials/leaves_mat.tres" id="27_5lko7"] [ext_resource type="PackedScene" uid="uid://h63qncgtdqpi" path="res://Scenes/Test/Casetta_Blockout.tscn" id="28_j2rq4"] @@ -37,7 +56,7 @@ [ext_resource type="PackedScene" uid="uid://r0cco08s70si" path="res://Scenes/Test/Test_Chunk_Curva.tscn" id="32_df2ev"] [ext_resource type="PackedScene" uid="uid://jqqiendhdgqq" path="res://Scenes/Test/Test_Chunk_Rettilineo.tscn" id="33_mvcuv"] [ext_resource type="PackedScene" uid="uid://bhcut7ndtdo2w" path="res://Assets/Test/SK_Mannequin.FBX" id="34_3nw1o"] -[ext_resource type="PackedScene" uid="uid://xebpudhewwwj" path="res://Scenes/Chunk_Scene/Chunk/Chunk_C_L_2.tscn" id="35_n33lw"] +[ext_resource type="PackedScene" uid="uid://xebpudhewwwj" path="res://Scenes/Chunk_Scene/Chunk/Campagna/Chunk_C_L_2.tscn" id="35_n33lw"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_jfpsf"] fractal_lacunarity = 1.915 @@ -227,13 +246,13 @@ sub_emitter_amount_at_collision = 1 material = ExtResource("3_4wepm") size = Vector2(0.05, 1) -[sub_resource type="Curve3D" id="Curve3D_l1dl0"] +[sub_resource type="Curve3D" id="Curve3D_bedag"] bake_interval = 50.0 _data = { -"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 120), -"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0) +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, -4.372, 0, 140, 0, 0, 0, 0, 0, 0, -20.963, 0, 160, 0, 0, 0, 0, 0, 0, -40.62518, 0, 168.52754, 0, 0, 0, 0, 0, 0, -60, 0, 170, 0, 0, 0, 0, 0, 0, -80, 0, 170, 0, 0, 0, 0, 0, 0, -100, 0, 170, 0, 0, 0, 0, 0, 0, -120.42937, 0, 171.50279, 0, 0, 0, 0, 0, 0, -141.41747, 7.6293945e-06, 180.5982, 0, 0, 0, 0, 0, 0, -155.77005, 7.6293945e-06, 198.35184, 0, 0, 0, 0, 0, 0, -160.14105, 7.6293945e-06, 219.80951, 0, 0, 0, 0, 0, 0, -163.99007, 7.6293945e-06, 239.36005, 0, 0, 0, 0, 0, 0, -175.77509, 7.6293945e-06, 256.16028, 0, 0, 0, 0, 0, 0, -195.62283, 7.6293945e-06, 267.46912, 0, 0, 0, 0, 0, 0, -219.9999, 7.6293945e-06, 270.11758, 0, 0, 0, 0, 0, 0, -240, 0, 270.118, 0, 0, 0, 0, 0, 0, -260, 0, 270.118, 0, 0, 0, 0, 0, 0, -275.19666, 7.6293945e-06, 270.55228, 0, 0, 0, 0, 0, 0, -294.2925, 7.6293945e-06, 276.05307, 0, 0, 0, 0, 0, 0, -307.19006, 7.6293945e-06, 286.9095, 0, 0, 0, 0, 0, 0, -317.32443, 7.6293945e-06, 303.14682, 0, 0, 0, 0, 0, 0, -320, 0, 320, 0, 0, 0, 0, 0, 0, -320, 0, 340, 0, 0, 0, 0, 0, 0, -320, 0, 360, 0, 0, 0, 0, 0, 0, -320, 0, 380, 0, 0, 0, 0, 0, 0, -316.78876, 7.6293945e-06, 396.91193, 0, 0, 0, 0, 0, 0, -307.68207, 7.6293945e-06, 412.70596, 0, 0, 0, 0, 0, 0, -291.08273, 7.6293945e-06, 424.7491, 0, 0, 0, 0, 0, 0, -270, 0, 429.994, 0, 0, 0, 0, 0, 0, -250, 0, 429.994), +"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) } -point_count = 7 +point_count = 36 [sub_resource type="PlaneMesh" id="PlaneMesh_gsfny"] @@ -727,6 +746,15 @@ render_target_update_mode = 4 [node name="World" type="Node3D" parent="SubViewportContainer/SubViewport" unique_id=735268770] +[node name="GeneratoreBioma" type="Node3D" parent="SubViewportContainer/SubViewport/World" unique_id=757461529 node_paths=PackedStringArray("path_treno")] +script = ExtResource("8_7j5hj") +path_treno = NodePath("../Path3D") +bioma_campagna = Array[PackedScene]([ExtResource("9_u10x4"), ExtResource("10_l1dl0"), ExtResource("35_n33lw"), ExtResource("12_kjb07"), ExtResource("13_on20a"), ExtResource("14_6k3cw"), ExtResource("15_16mw0"), ExtResource("16_qdxup"), ExtResource("17_tbvi6")]) +bioma_foresta = Array[PackedScene]([ExtResource("18_4udcq"), ExtResource("19_vj0n5"), ExtResource("20_00nhk"), ExtResource("21_vpybn"), ExtResource("22_5lko7"), ExtResource("23_j2rq4"), ExtResource("24_eyx0r"), ExtResource("25_vmtna"), ExtResource("26_am4st")]) + +[node name="MainMap" parent="SubViewportContainer/SubViewport/World" unique_id=1895741703 instance=ExtResource("8_bedag")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0) + [node name="PaletteManager" type="Node3D" parent="SubViewportContainer/SubViewport/World" unique_id=112568566] script = ExtResource("8_gffi5") materiale_da_cambiare = ExtResource("9_bedag") @@ -763,7 +791,7 @@ process_material = SubResource("ParticleProcessMaterial_qqnw7") draw_pass_1 = SubResource("QuadMesh_54p3t") [node name="CameraFrontale" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1311130431] -transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 2.55, 7.1470237) +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 2.55, 7.5862045) fov = 86.0 size = 8.692 near = 0.001 @@ -777,20 +805,21 @@ near = 0.001 far = 5000.0 [node name="CameraLaterale" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1451175697] -transform = Transform3D(-0.18395132, 0, 0.98293537, 0, 1, 0, -0.98293537, 0, -0.18395132, -0.684, 2.257, 2.639) +transform = Transform3D(-0.18395132, 0, 0.98293537, 0, 1, 0, -0.98293537, 0, -0.18395132, -0.68400574, 2.257, 2.8508348) fov = 60.0 size = 8.692 [node name="CameraLaterale2" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1248525079] -transform = Transform3D(-4.371139e-08, 0.005235964, -0.9999863, 0, 0.9999863, 0.005235964, 1, 2.2887126e-10, -4.3710788e-08, 1.145, 2.207, 2.8140235) +transform = Transform3D(-4.371139e-08, 0.005235964, -0.9999863, 0, 0.9999863, 0.005235964, 1, 2.2887126e-10, -4.3710788e-08, 0.41860962, 2.207, 2.814024) fov = 96.6 size = 15.0 far = 5000.0 -[node name="CameraPivot" type="Node3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=923389158 node_paths=PackedStringArray("camera_iso", "camera_frontale", "camera_laterale", "camera_laterale_2", "camera_alta")] +[node name="CameraPivot" type="Node3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=923389158 node_paths=PackedStringArray("camera_iso", "pivot_iso", "camera_frontale", "camera_laterale", "camera_laterale_2", "camera_alta")] transform = Transform3D(1, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0) script = ExtResource("8_17jdd") camera_iso = NodePath("CameraIso") +pivot_iso = NodePath(".") camera_frontale = NodePath("../CameraFrontale") camera_laterale = NodePath("../CameraLaterale") camera_laterale_2 = NodePath("../CameraLaterale2") @@ -805,13 +834,13 @@ far = 500.0 [node name="Path3D" type="Path3D" parent="SubViewportContainer/SubViewport/World" unique_id=335893914 node_paths=PackedStringArray("gruppo_camere")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7547531, 9.898563) -curve = SubResource("Curve3D_l1dl0") +curve = SubResource("Curve3D_bedag") script = ExtResource("9_isbua") modello_treno = ExtResource("10_ur7m6") gruppo_camere = NodePath("../Camere") +modello_traversina = ExtResource("12_nonqo") scena_fuochi = ExtResource("11_gwrkm") intensita_oscillazione_base = 0.1 -modello_traversina = ExtResource("12_nonqo") [node name="Fog" type="Node3D" parent="SubViewportContainer/SubViewport/World" unique_id=738199833] transform = Transform3D(-8.749486e-05, 0, 90.00002, 0, 137.78568, 0, -2001.6499, 0, -3.934034e-06, -204.9603, -2.305603, -337.9278) @@ -823,85 +852,85 @@ skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D12" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=482282552] -transform = Transform3D(0.022074612, 0.29832286, -0.0011317111, 0.0016087424, -0.0011249088, -0.30027145, -4.4652863, 0.001474387, -0.00011377601, -0.43824148, 0.103310406, -1.2671857) +transform = Transform3D(0.022074612, 0.29832286, -0.0011317111, 0.0016087424, -0.0011249088, -0.30027145, -4.4652863, 0.001474387, -0.00011377601, -0.58847785, 0.103310406, -1.2671859) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D19" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=160566732] -transform = Transform3D(0.061849624, -0.010090326, 5.972657e-05, 0.0023578368, 0.15785035, -0.070103556, 0.0019179009, 0.13134009, 0.084258154, -0.20321724, 0.03500054, 1.6064305) +transform = Transform3D(0.061849624, -0.010090326, 5.9726568e-05, 0.0023578366, 0.15785035, -0.07010355, 0.0019179009, 0.13134009, 0.084258154, -0.12215987, 0.03500054, 4.8201017) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D20" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1575620825] -transform = Transform3D(0.043454673, -0.010095915, 5.9726797e-05, -0.0010768108, -0.1055714, -0.09403253, 0.0018440381, 0.1762621, -0.05631697, -0.22729564, 0.027557772, 2.8215847) +transform = Transform3D(0.043454673, -0.010095915, 5.972679e-05, -0.0010768108, -0.1055714, -0.09403253, 0.0018440381, 0.1762621, -0.05631697, -0.313622, 0.027557772, -0.14765048) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D22" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1897543279] -transform = Transform3D(-4.6833087e-08, -0.37123537, 6.900085e-09, 0, -1.6227208e-08, -0.15785554, 1.0714161, -1.6227261e-08, 3.0160853e-16, -0.25688857, 0.027557772, 0.8629875) +transform = Transform3D(-4.683309e-08, -0.37123537, 6.900085e-09, 0, -1.6227208e-08, -0.15785554, 1.0714161, -1.6227261e-08, 3.0160853e-16, -0.1758312, 0.027557772, 4.076659) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D24" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1013039618] -transform = Transform3D(-0.0005423392, -0.37123534, 6.900085e-09, -5.620008e-23, -1.6227206e-08, -0.15785554, 1.0714161, -0.00018791536, 3.4927482e-12, -0.2552156, 0.027557772, -1.0049188) +transform = Transform3D(-0.0005423392, -0.37123534, 6.900085e-09, -5.620008e-23, -1.6227206e-08, -0.15785554, 1.0714161, -0.00018791536, 3.4927482e-12, -0.17415822, 0.027557772, 2.2087526) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D25" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=401092751] -transform = Transform3D(0.040370595, -0.030550359, 6.882802e-09, 2.9938556e-23, -1.338751e-09, -0.15785554, -0.56932855, -0.0021663017, 4.880533e-10, -0.21763968, 0.027557826, -2.1323903) +transform = Transform3D(0.040370595, -0.030550359, 6.8828014e-09, 2.9938556e-23, -1.338751e-09, -0.15785554, -0.56932855, -0.002166302, 4.880533e-10, -0.1365823, 0.027557824, 1.0812811) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D26" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1373764872] -transform = Transform3D(0.054542374, -0.023802482, 5.330778e-09, 2.0053278e-17, -1.3467298e-09, -0.15785556, -0.06636552, -0.019562026, 4.381091e-09, -0.13788676, 0.02755782, -2.670678) +transform = Transform3D(0.054542374, -0.02380248, 5.3307776e-09, 2.0053278e-17, -1.3467298e-09, -0.15785556, -0.06636552, -0.019562026, 4.3810915e-09, -0.056829393, 0.02755782, 0.54299366) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D27" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=757807178] -transform = Transform3D(0.036159825, 0.10523818, -6.895278e-09, 1.9878173e-16, -4.6033093e-09, -0.15785557, 0.9685916, -0.0039287764, 2.5741495e-10, -0.05616922, 0.02755782, -1.8687828) +transform = Transform3D(0.023630448, 0.105280176, -6.8980293e-09, 2.182254e-16, -4.603308e-09, -0.15785556, 0.96897835, -0.0025674512, 1.6822002e-10, 0.011065975, 0.02755782, 1.3067662) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D28" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1978978515] -transform = Transform3D(-0.019571606, 0.10529002, -6.898674e-09, 9.888368e-17, -4.6033084e-09, -0.15785556, 0.96906894, 0.0021264832, -1.3932981e-10, -0.040233076, 0.02755782, -0.29972982) +transform = Transform3D(-0.0035864632, 0.105310775, -6.900033e-09, 1.6347773e-16, -4.603309e-09, -0.15785556, 0.96925986, 0.00038968676, -2.5533683e-11, 0.027688473, 0.02755782, 2.9139419) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D29" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1686710496] -transform = Transform3D(-0.04447535, 0.109151766, -6.8844277e-09, 1.1142897e-16, -4.7820206e-09, -0.15785556, 0.6591685, 0.007364694, -4.6450768e-10, -0.09075473, 0.02755782, 0.9710815) +transform = Transform3D(-0.044475347, 0.109151766, -6.8844277e-09, 1.1142897e-16, -4.7820206e-09, -0.15785556, 0.6591685, 0.007364694, -4.6450768e-10, -0.009697363, 0.02755782, 4.184753) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D30" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=986249592] -transform = Transform3D(-0.06889332, -0.011342604, 7.1718465e-10, -1.7795609e-16, -4.770135e-09, -0.15785556, -0.007199659, 0.108537, -6.8627077e-09, -0.17637756, 0.027557764, 1.5695573) +transform = Transform3D(-0.11249155, -0.022589056, 1.4263626e-09, -2.4820342e-16, -4.776576e-09, -0.15785557, -0.023767235, 0.10691518, -6.7510455e-09, 0.028474286, 0.027557537, -4.254081) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D23" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1093148548] -transform = Transform3D(0.028270675, -0.3711061, 6.897683e-09, -5.5245266e-17, -1.6227208e-08, -0.15785556, 1.0710434, 0.009795521, -1.8206756e-10, -0.31585705, 0.00522942, 1.1204157) +transform = Transform3D(0.028270675, -0.3711061, 6.897683e-09, -5.5245266e-17, -1.6227208e-08, -0.15785556, 1.0710434, 0.009795522, -1.8206756e-10, -0.36126035, 0.0052291974, 2.0960937) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D13" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1415146626] -transform = Transform3D(-0.13061443, 0.30644882, -0.0011298005, 0.00022728753, -0.0011811276, -0.3001853, -0.6172065, -0.06485173, 0.00012854656, -0.32261574, 0.008036807, 4.290042) +transform = Transform3D(-0.13061443, 0.30644882, -0.0011298005, 0.00022728753, -0.0011811276, -0.3001853, -0.6172065, -0.06485173, 0.00012854656, -0.34850562, 0.008036806, 7.7801437) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D14" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=61288913] -transform = Transform3D(-0.03419531, 0.5418124, -0.0011347146, 0.0007915791, -0.002043276, -0.30051193, -2.196898, -0.008434212, -9.061751e-05, -0.42609543, 0.0080368025, 2.8505063) +transform = Transform3D(-0.03419531, 0.5418124, -0.0011347146, 0.0007915791, -0.0020432759, -0.30051193, -2.196898, -0.008434212, -9.061751e-05, -0.5381029, 0.008036802, 4.5168753) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") @@ -913,25 +942,25 @@ skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D15" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1964726645] -transform = Transform3D(0.16890842, 0.24045627, -0.0005966671, -6.780159e-05, -0.0020561107, -0.3004088, 0.08298969, -0.489401, 0.0009689623, -0.1947039, 0.13782798, 7.649206) +transform = Transform3D(0.16890842, 0.24045627, -0.0005966671, -6.780159e-05, -0.0020561107, -0.3004088, 0.08298969, -0.489401, 0.0009689623, -0.10889866, 0.13782798, 10.074109) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D16" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=56014866] -transform = Transform3D(0.13554935, -0.38146272, 0.0010810067, -0.0005763884, -0.0014435827, -0.29007035, -1.5941114, -0.03243578, 0.00019680144, 0.046480134, 0.13782798, 7.2218113) +transform = Transform3D(0.13554935, -0.38146272, 0.0010810066, -0.0005763884, -0.0014435827, -0.29007035, -1.5941114, -0.032435782, 0.00019680144, 0.06805812, 0.13782798, 8.926609) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D17" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1917312380] -transform = Transform3D(0.07060294, -0.55128634, 0.0010907176, -0.0013331762, -0.0020791302, -0.28983584, -3.6997836, -0.010519501, 0.00012525362, 0.21277176, 0.02342433, 2.921409) +transform = Transform3D(0.07060294, -0.55128634, 0.0010907176, -0.001333176, -0.0020791302, -0.28983584, -3.6997836, -0.010519501, 0.00012525362, 0.35902923, 0.023424327, 5.1229653) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") [node name="MeshInstance3D18" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1902998175] -transform = Transform3D(-0.128793, -0.5826382, 0.0010960309, -0.0012736878, -0.002198431, -0.28984737, -3.53299, 0.021240436, 6.45389e-05, 0.13941072, 0.02342432, -3.0047905) +transform = Transform3D(-0.128793, -0.5826382, 0.0010960309, -0.0012736878, -0.002198431, -0.28984737, -3.5329907, 0.021240437, 6.45389e-05, 0.28971797, 0.023424316, -1.9127305) mesh = SubResource("PlaneMesh_gsfny") skeleton = NodePath("../../../../..") surface_material_override/0 = ExtResource("2_4xv0h") @@ -946,7 +975,7 @@ skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_10fbe") [node name="MeshInstance3D8" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1141756848] -transform = Transform3D(0.25378436, 0, -1.1337603, 0, 0.16691077, 0, 0.2646902, 0, 1.0870484, -0.41155404, -0.3332736, 0.9783714) +transform = Transform3D(0.25378436, 0, -1.1337603, 0, 0.16691077, 0, 0.2646902, 0, 1.0870485, -0.48117933, -0.3332736, 1.6065899) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_10fbe") @@ -965,121 +994,139 @@ skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D4" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1641548010] -transform = Transform3D(0.013563683, 0, 0.6792068, 0, 0.5722191, 0, -0.7529863, 0, 0.027111653, -1.0050365, -0.16243273, 0.19624433) +transform = Transform3D(0.017036658, 0, 0.67454344, 0, 0.5722191, 0, -0.9457881, 0, 0.026925514, -1.3941526, -0.16243275, 0.38390565) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") [node name="MeshInstance3D9" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1782734506] -transform = Transform3D(-0.16534963, 0, -0.65973735, 0, 0.57221925, 0, 0.7347328, 0, -0.16371885, -0.9107094, -0.1598001, -0.5294764) +transform = Transform3D(-0.2033911, 0, -0.6067271, 0, 0.57221925, 0, 0.90377045, 0, -0.15056397, -1.2998257, -0.1598001, -0.52770233) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") [node name="MeshInstance3D5" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=637850015] -transform = Transform3D(-0.45914406, 0, 0.56401974, 0, 0.57221913, 0, -0.6788923, 0, -0.3637252, -0.7240519, -0.14373878, 0.8174171) +transform = Transform3D(-0.45914406, 0, 0.56401974, 0, 0.57221913, 0, -0.67889243, 0, -0.36372522, -1.025272, -0.14373879, 1.1173637) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D13" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=616021345] -transform = Transform3D(-0.13799973, 0, 0.85117775, 0, 0.08176458, 0, -0.22378987, 0, -0.52487767, -0.40063444, -0.34356952, 0.40578973) +transform = Transform3D(-0.13799974, 0, 0.85117775, 0, 0.08176458, 0, -0.22378989, 0, -0.5248777, -0.5169594, -0.34356955, 0.63507587) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D16" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=357888742] -transform = Transform3D(-0.03727403, 0.012348852, 0.97831047, -0.0035826864, 0.08077536, -0.15448463, -0.26023772, -0.0028807682, -0.13799737, -0.4769404, -0.34356952, 0.16897315) +transform = Transform3D(-0.03727403, 0.012348853, 0.9783105, -0.0035826864, 0.08077536, -0.15448463, -0.26023775, -0.0028807682, -0.13799739, -0.5932654, -0.34356955, 0.39825928) +mesh = SubResource("QuadMesh_jfpsf") +skeleton = NodePath("../../../../..") +surface_material_override/0 = SubResource("ShaderMaterial_xjipq") + +[node name="MeshInstance3D25" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=778715299] +transform = Transform3D(0.23385109, 0.0067507722, 0.4495233, -0.0035826867, 0.080775365, -0.15448464, -0.1201113, 0.010734064, 0.87980896, -0.5300503, -0.34356955, 0.23068687) +mesh = SubResource("QuadMesh_jfpsf") +skeleton = NodePath("../../../../..") +surface_material_override/0 = SubResource("ShaderMaterial_xjipq") + +[node name="MeshInstance3D26" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1412220944] +transform = Transform3D(0.16075234, -0.009322591, -0.78305227, -0.003582686, 0.08077537, -0.15448466, 0.20801869, 0.008595484, 0.60246515, -0.34326243, -0.34356952, 0.26565123) +mesh = SubResource("QuadMesh_jfpsf") +skeleton = NodePath("../../../../..") +surface_material_override/0 = SubResource("ShaderMaterial_xjipq") + +[node name="MeshInstance3D27" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1494524637] +transform = Transform3D(-0.045677815, -0.0126316715, -0.9725999, -0.0035826892, 0.08077537, -0.15448466, 0.2588951, -0.0011108485, -0.17373715, -0.2889233, -0.34356952, 0.5475807) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D17" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=969086818] -transform = Transform3D(-0.01834004, 0, 1.0015494, 0, 0.08176457, 0, -0.27238366, 0, -0.06743592, -0.21711433, -0.34356952, -0.0040292144) +transform = Transform3D(-0.01834004, 0, 1.0015494, 0, 0.08176457, 0, -0.2723837, 0, -0.06743593, 0.0008721038, -0.34356952, 0.57443184) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D18" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1090412117] -transform = Transform3D(-0.04207642, 0, 0.98711115, 0, 0.08176458, 0, -0.2595293, 0, -0.16003631, -0.18788418, -0.34356952, 0.25774887) +transform = Transform3D(-0.042076424, 0, 0.98711115, 0, 0.08176458, 0, -0.25952932, 0, -0.16003633, 0.030102232, -0.34356952, 0.8362099) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D19" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1333469856] -transform = Transform3D(-0.26256934, 0, -0.05148201, 0, 0.08176458, 0, 0.013535523, 0, -0.998674, -0.039261185, -0.34356952, 0.38697287) +transform = Transform3D(-0.26256934, 0, -0.051482014, 0, 0.08176458, 0, 0.013535524, 0, -0.998674, 0.17872526, -0.34356952, 0.9654339) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D20" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1486322614] -transform = Transform3D(-0.17675701, 0, -0.74028903, 0, 0.08176458, 0, 0.19463517, 0, -0.67228913, 0.182806, -0.34356952, 0.2841275) +transform = Transform3D(-0.17675701, 0, -0.74028903, 0, 0.08176458, 0, 0.19463517, 0, -0.67228913, 0.40079242, -0.34356952, 0.8625885) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D21" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=989608041] -transform = Transform3D(-0.015258381, 0, -0.99831504, 0, 0.081764586, 0, 0.26247498, 0, -0.058034096, 0.27847788, -0.34356952, 0.056281626) +transform = Transform3D(-0.015258381, 0, -0.99831504, 0, 0.081764586, 0, 0.26247498, 0, -0.058034096, 0.4964643, -0.34356952, 0.6347427) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D22" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1598002389] -transform = Transform3D(0.07209944, 0, -0.9616653, 0, 0.08176459, 0, 0.2528392, 0, 0.27422825, 0.24925257, -0.34356952, -0.19630307) +transform = Transform3D(0.07209944, 0, -0.9616653, 0, 0.08176459, 0, 0.2528392, 0, 0.27422825, 0.467239, -0.34356952, 0.38215792) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D23" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1911956756] -transform = Transform3D(0.26289696, 0, 0.012723468, 0, 0.08176459, 0, -0.0033450993, 0, 0.99991983, 0.08067741, -0.34411517, -0.32438624) +transform = Transform3D(0.26289696, 0, 0.012723468, 0, 0.08176459, 0, -0.0033450995, 0, 0.9999199, 0.29866382, -0.3441152, 0.2540748) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D24" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=43616988] -transform = Transform3D(0.18421313, 0, 0.7135083, 0, 0.08176459, 0, -0.18759413, 0, 0.7006483, -0.13567562, -0.34311435, -0.23105311) +transform = Transform3D(0.18421313, 0, 0.7135083, 0, 0.08176459, 0, -0.18759415, 0, 0.70064837, 0.08231081, -0.34311438, 0.3474079) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D10" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1958646480] -transform = Transform3D(0.36386207, 0, 0.5946983, 0, 0.7052621, 0, -0.7343792, 0, 0.31104392, -0.7745337, -0.09573752, -0.8678751) +transform = Transform3D(0.6284579, 0, 0.41941896, 0, 0.7052622, 0, -0.5260692, 0, 0.5239296, -0.9261085, -0.09573761, -1.00495) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D11" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1630783054] -transform = Transform3D(0.11685179, 0, -0.67366266, 0, 0.57221913, 0, 0.7439883, 0, 0.09074952, 1.1355866, -0.16243275, -0.41904497) +transform = Transform3D(0.11685179, 0, -0.67366266, 0, 0.57221913, 0, 0.74398834, 0, 0.090749525, 1.6705847, -0.16243275, -0.41904497) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") [node name="MeshInstance3D12" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1500133056] -transform = Transform3D(0.035803996, 0, 0.6781097, 0, 0.5722194, 0, -0.7522573, 0, 0.04716649, 1.1743926, -0.1598001, 0.31994924) +transform = Transform3D(0.035803996, 0, 0.6781097, 0, 0.5722194, 0, -0.7522573, 0, 0.04716649, 1.7093906, -0.1598001, 0.31994927) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") [node name="MeshInstance3D15" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=2050034117] -transform = Transform3D(-0.41859102, 0, 0.5732099, 0, 0.5722193, 0, -0.62606263, 0, -0.36536, 1.0112588, -0.1598001, -0.7688155) +transform = Transform3D(-0.41859102, 0, 0.5732099, 0, 0.5722193, 0, -0.62606263, 0, -0.36536, 1.3986524, -0.1598001, -1.0932822) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") [node name="MeshInstance3D14" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1760473840] -transform = Transform3D(-0.46362424, 0, -0.33747166, 0, 0.7052622, 0, 1.5753636, 0, -0.107394904, 1.0043737, -0.09573749, 1.152173) +transform = Transform3D(-0.46362427, 0, -0.33747166, 0, 0.7052622, 0, 1.5753638, 0, -0.10739491, 1.4800442, -0.09573749, 1.3425364) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D7" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=765004692] -transform = Transform3D(-0.51073676, 0, 0.5339068, 0, 0.57221913, 0, -0.64098036, 0, -0.40664214, -0.38727316, -0.1523613, 1.5058634) +transform = Transform3D(-0.51073676, 0, 0.5339068, 0, 0.57221913, 0, -0.64098036, 0, -0.40664217, -0.5639473, -0.15236132, 1.7477161) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") [node name="MeshInstance3D6" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=581499720] -transform = Transform3D(-3.8639286, 0, -0.0058953343, 0, 0.57221913, 0, 0.11616585, 0, -0.7214718, 0.0322481, -0.10376009, 1.8084053) +transform = Transform3D(-3.8639286, 0, -0.0058953343, 0, 0.57221913, 0, 0.116165854, 0, -0.72147185, 0.032248095, -0.10376009, 2.1008568) mesh = SubResource("QuadMesh_jfpsf") skeleton = NodePath("../../../../..") surface_material_override/0 = SubResource("ShaderMaterial_xjipq") @@ -20603,6 +20650,7 @@ visible = false [node name="Blockout_2" type="Node3D" parent="SubViewportContainer/SubViewport/World" unique_id=1762108886] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 79.361694) +visible = false [node name="TestChunk_3" parent="SubViewportContainer/SubViewport/World/Blockout_2" unique_id=1315276775 instance=ExtResource("32_df2ev")] @@ -20624,14 +20672,9 @@ transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -140 [node name="TestChunk_3_4" parent="SubViewportContainer/SubViewport/World/Blockout_2" unique_id=983834126 instance=ExtResource("33_mvcuv")] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -316.91125, 0, 238.95792) -[node name="SK_Mannequin" parent="SubViewportContainer/SubViewport/World" unique_id=1460559169 instance=ExtResource("34_3nw1o")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.7385445, 0, 43.8387) - -[node name="SK_Mannequin2" parent="SubViewportContainer/SubViewport/World" unique_id=24662648 instance=ExtResource("34_3nw1o")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9180713, 0, 29.270012) - [node name="Test_Chunk" type="Node3D" parent="SubViewportContainer/SubViewport/World" unique_id=1429673842] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, 20) +visible = false [node name="Test_Chunk_C_L_4" parent="SubViewportContainer/SubViewport/World/Test_Chunk" unique_id=386843590 instance=ExtResource("35_n33lw")] @@ -20749,6 +20792,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.98663, 0, 60) [node name="Test_Chunk_C_L_22" parent="SubViewportContainer/SubViewport/World/Test_Chunk" unique_id=2119800569 instance=ExtResource("35_n33lw")] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 39.98663, 0, 80) +[node name="SK_Mannequin" parent="SubViewportContainer/SubViewport/World" unique_id=1460559169 instance=ExtResource("34_3nw1o")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.7385445, 0, 43.8387) + +[node name="SK_Mannequin2" parent="SubViewportContainer/SubViewport/World" unique_id=24662648 instance=ExtResource("34_3nw1o")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9180713, 0, 29.270012) + [editable path="SubViewportContainer/SubViewport/World/Blockout_1/Mare/rock25"] [editable path="SubViewportContainer/SubViewport/World/Blockout_1/Tree2/Trees/tree2"] [editable path="SubViewportContainer/SubViewport/World/Blockout_1/Tree2/Trees/tree3"] diff --git a/Scenes/MainMap.tscn b/Scenes/MainMap.tscn index 845cb43..0008e70 100644 --- a/Scenes/MainMap.tscn +++ b/Scenes/MainMap.tscn @@ -1,8 +1,184 @@ [gd_scene format=3 uid="uid://bx2amm4q66ei"] -[ext_resource type="Script" uid="uid://djnl28tvtgok0" path="res://Test_Procedurale/generatore_mappa.gd" id="1_e7g1p"] +[ext_resource type="PackedScene" uid="uid://givg3dyrxsk5" path="res://Scenes/Chunk_Scene/Chunk/Campagna/chunk_c_f_1.tscn" id="1_nofk3"] +[ext_resource type="PackedScene" uid="uid://djceu7hj8lpha" path="res://Scenes/Chunk_Rotaie/chunk_rettilineo_1.tscn" id="1_q7xqk"] +[ext_resource type="PackedScene" uid="uid://rhehrw5oipc4" path="res://Scenes/Chunk_Rotaie/chunk_curva_1.tscn" id="2_nofk3"] [node name="MainMap" type="Node3D" unique_id=1895741703] -[node name="GeneratoreMappa" type="Node3D" parent="." unique_id=994805404] -script = ExtResource("1_e7g1p") +[node name="Chunk_C_E_1" parent="." unique_id=1874739368 instance=ExtResource("1_nofk3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 0, -20) + +[node name="Chunk_Rettilineo_1" parent="." unique_id=916054224 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -20, 0, 0) + +[node name="Chunk_Rettilineo_7" parent="." unique_id=1449254437 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -180, 0, -60) + +[node name="Chunk_Rettilineo_8" parent="." unique_id=839673178 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -180, 0, -80) + +[node name="Chunk_Rettilineo_23" parent="." unique_id=1943244631 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 0, 80) + +[node name="Chunk_Rettilineo_24" parent="." unique_id=1192091532 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 0, 60) + +[node name="Chunk_Rettilineo_21" parent="." unique_id=901101483 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -440, 0, -260) + +[node name="Chunk_Rettilineo_9" parent="." unique_id=443031099 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -180, 0, -100) + +[node name="Chunk_Rettilineo_10" parent="." unique_id=993903971 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0, -220) + +[node name="Chunk_Rettilineo_11" parent="." unique_id=2065300144 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0, -240) + +[node name="Chunk_Rettilineo_12" parent="." unique_id=569460576 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0, -260) + +[node name="Chunk_Rettilineo_2" parent="." unique_id=686679987 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -40, 0, 0) + +[node name="Chunk_Rettilineo_3" parent="." unique_id=1229462554 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -60, 0, 0) + +[node name="Chunk_Rettilineo_4" parent="." unique_id=1586405126 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -80, 0, 0) + +[node name="Chunk_Rettilineo_5" parent="." unique_id=266529562 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -100, 0, 0) + +[node name="Chunk_Rettilineo_13" parent="." unique_id=88649052 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -340, 0, -320) + +[node name="Chunk_Rettilineo_14" parent="." unique_id=2083436048 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -360, 0, -320) + +[node name="Chunk_Rettilineo_15" parent="." unique_id=378542667 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -560, 0, -60) + +[node name="Chunk_Rettilineo_16" parent="." unique_id=1326121435 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -560, 0, -80) + +[node name="Chunk_Rettilineo_41" parent="." unique_id=1850142438 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -460, 0, 60) + +[node name="Chunk_Rettilineo_42" parent="." unique_id=1616645985 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -460, 0, 80) + +[node name="Chunk_Rettilineo_17" parent="." unique_id=1791823964 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -560, 0, -100) + +[node name="Chunk_Rettilineo_18" parent="." unique_id=1782121534 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -560, 0, -120) + +[node name="Chunk_Rettilineo_19" parent="." unique_id=992167941 instance=ExtResource("1_q7xqk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -560, 0, -140) + +[node name="Chunk_Rettilineo_20" parent="." unique_id=2006958448 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -380, 0, -320) + +[node name="Chunk_Rettilineo_22" parent="." unique_id=5820752 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -500, 0, -200) + +[node name="Chunk_Rettilineo_6" parent="." unique_id=1011078737 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -120, 0, 0) + +[node name="Chunk_Rettilineo_25" parent="." unique_id=1291144788 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -20, 0, 140) + +[node name="Chunk_Rettilineo_26" parent="." unique_id=1934846413 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -40, 0, 140) + +[node name="Chunk_Rettilineo_27" parent="." unique_id=1054570332 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -60, 0, 140) + +[node name="Chunk_Rettilineo_28" parent="." unique_id=944753834 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -80, 0, 140) + +[node name="Chunk_Rettilineo_29" parent="." unique_id=1363918374 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -100, 0, 140) + +[node name="Chunk_Rettilineo_30" parent="." unique_id=207032243 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -120, 0, 140) + +[node name="Chunk_Rettilineo_31" parent="." unique_id=1428086358 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -140, 0, 140) + +[node name="Chunk_Rettilineo_32" parent="." unique_id=608273237 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -160, 0, 140) + +[node name="Chunk_Rettilineo_33" parent="." unique_id=2102655034 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -180, 0, 140) + +[node name="Chunk_Rettilineo_34" parent="." unique_id=349007386 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -200, 0, 140) + +[node name="Chunk_Rettilineo_35" parent="." unique_id=373623371 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -220, 0, 140) + +[node name="Chunk_Rettilineo_36" parent="." unique_id=1626262209 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -240, 0, 140) + +[node name="Chunk_Rettilineo_37" parent="." unique_id=169233115 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -260, 0, 140) + +[node name="Chunk_Rettilineo_38" parent="." unique_id=1290278022 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -280, 0, 140) + +[node name="Chunk_Rettilineo_39" parent="." unique_id=327295431 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -300, 0, 140) + +[node name="Chunk_Rettilineo_40" parent="." unique_id=1235772014 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -320, 0, 140) + +[node name="Chunk_Rettilineo_43" parent="." unique_id=109362285 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -400, 0, 140) + +[node name="Chunk_Rettilineo_44" parent="." unique_id=32742147 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -380, 0, 140) + +[node name="Chunk_Rettilineo_45" parent="." unique_id=783108639 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -360, 0, 140) + +[node name="Chunk_Rettilineo_46" parent="." unique_id=1085962673 instance=ExtResource("1_q7xqk")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -340, 0, 140) + +[node name="Chunk_Curva_1" parent="." unique_id=1316208881 instance=ExtResource("2_nofk3")] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -160, 0, -20) + +[node name="Chunk_Curva_2" parent="." unique_id=2067726409 instance=ExtResource("2_nofk3")] +transform = Transform3D(1.1924881e-08, 0, 1, 0, 1, 0, -1, 0, 1.1924881e-08, -200, 0, -140) + +[node name="Chunk_Curva_4" parent="." unique_id=1752656829 instance=ExtResource("2_nofk3")] +transform = Transform3D(1.1924881e-08, 0, 1, 0, 1, 0, -1, 0, 1.1924881e-08, -300, 0, -300) + +[node name="Chunk_Curva_5" parent="." unique_id=1625275116 instance=ExtResource("2_nofk3")] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -420, 0, -300) + +[node name="Chunk_Curva_7" parent="." unique_id=739938188 instance=ExtResource("2_nofk3")] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -540, 0, -180) + +[node name="Chunk_Curva_8" parent="." unique_id=126876831 instance=ExtResource("2_nofk3")] +transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, -540, 0, -20) + +[node name="Chunk_Curva_9" parent="." unique_id=1172712422 instance=ExtResource("2_nofk3")] +transform = Transform3D(-4.371138e-08, 0, 1, 0, 1, 0, -1, 0, -4.371138e-08, -480, 0, 20) + +[node name="Chunk_Curva_12" parent="." unique_id=316439411 instance=ExtResource("2_nofk3")] +transform = Transform3D(-4.3711395e-08, 0, -1, 0, 1, 0, 1, 0, -4.3711395e-08, -440, 0, 120) + +[node name="Chunk_Curva_10" parent="." unique_id=1052696282 instance=ExtResource("2_nofk3")] +transform = Transform3D(-4.371138e-08, 0, 1, 0, 1, 0, -1, 0, -4.371138e-08, 20, 0, 20) + +[node name="Chunk_Curva_11" parent="." unique_id=927523681 instance=ExtResource("2_nofk3")] +transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 20, 0, 120) + +[node name="Chunk_Curva_6" parent="." unique_id=175689326 instance=ExtResource("2_nofk3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -460, 0, -220) + +[node name="Chunk_Curva_3" parent="." unique_id=531270958 instance=ExtResource("2_nofk3")] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -260, 0, -180) diff --git a/Scenes/Test/Rotaie_Blockout.tscn b/Scenes/Test/Rotaie_Blockout.tscn index 67a26ee..3917825 100644 --- a/Scenes/Test/Rotaie_Blockout.tscn +++ b/Scenes/Test/Rotaie_Blockout.tscn @@ -8,6 +8,7 @@ shader = ExtResource("1_ysg1u") shader_parameter/albedo_color = Color(0.08235294, 0.105882354, 0.10980392, 1) shader_parameter/use_texture = true shader_parameter/uv_scale = Vector2(1, 1) +shader_parameter/palette_shift_y = 0.0 shader_parameter/light_steps = 3.0 shader_parameter/step_softness = 0.1 shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) @@ -25,6 +26,7 @@ shader = ExtResource("1_ysg1u") shader_parameter/albedo_color = Color(0.08061289, 0.10506997, 0.11154168, 1) shader_parameter/use_texture = true shader_parameter/uv_scale = Vector2(1, 1) +shader_parameter/palette_shift_y = 0.0 shader_parameter/light_steps = 3.0 shader_parameter/step_softness = 0.1 shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) @@ -39,6 +41,7 @@ shader = ExtResource("1_ysg1u") shader_parameter/albedo_color = Color(0.2584173, 0.19781098, 0.10103748, 1) shader_parameter/use_texture = true shader_parameter/uv_scale = Vector2(1, 1) +shader_parameter/palette_shift_y = 0.0 shader_parameter/light_steps = 3.0 shader_parameter/step_softness = 0.1 shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) @@ -56,6 +59,7 @@ shader = ExtResource("1_ysg1u") shader_parameter/albedo_color = Color(0.25882354, 0.19607843, 0.101960786, 1) shader_parameter/use_texture = true shader_parameter/uv_scale = Vector2(1, 1) +shader_parameter/palette_shift_y = 0.0 shader_parameter/light_steps = 3.0 shader_parameter/step_softness = 0.1 shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) @@ -70,6 +74,7 @@ shader = ExtResource("1_ysg1u") shader_parameter/albedo_color = Color(0.22494644, 0.08867701, 0.01631488, 1) shader_parameter/use_texture = false shader_parameter/uv_scale = Vector2(1, 1) +shader_parameter/palette_shift_y = 0.0 shader_parameter/light_steps = 3.0 shader_parameter/step_softness = 0.1 shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) @@ -104,5 +109,6 @@ material_override = SubResource("ShaderMaterial_x2uev") mesh = SubResource("BoxMesh_ysg1u") [node name="MeshInstance3D5" type="MeshInstance3D" parent="." unique_id=1376217081] +visible = false material_override = SubResource("ShaderMaterial_5u2u8") mesh = SubResource("BoxMesh_m6haf") diff --git a/Scenes/generatore_bioma.gd b/Scenes/generatore_bioma.gd new file mode 100644 index 0000000..61bdc58 --- /dev/null +++ b/Scenes/generatore_bioma.gd @@ -0,0 +1,240 @@ +extends Node3D + +@export_group("Riferimenti Base") +@export var path_treno: Path3D + +@export_group("I 3 Biomi Principali") +@export var bioma_campagna: Array[PackedScene] +@export var bioma_foresta: Array[PackedScene] +@export var bioma_altro: Array[PackedScene] + +@export_group("Impostazioni Griglia e Aree") +@export var dimensione_chunk: float = 20.0 +@export var raggio_visivo: int = 3 +@export var scala_distretti: float = 0.05 + +var scacchiera: Dictionary = {} +var ultima_pos_griglia_treno: Vector2i = Vector2i(999999, 999999) +var generatore_rumore: FastNoiseLite + +# Variabile per il Toggle del terzo bioma +var usa_terzo_bioma: bool = true + +func _ready() -> void: + if bioma_campagna.is_empty() or path_treno == null: + print("❌ ERRORE: Assegna almeno il 'Bioma Campagna' e il 'Path Treno' nell'Inspector!") + return + + generatore_rumore = FastNoiseLite.new() + generatore_rumore.noise_type = FastNoiseLite.TYPE_PERLIN + generatore_rumore.seed = randi() + generatore_rumore.frequency = scala_distretti + + print("✅ Generatore a Distretti Dinamici Pronto.") + print("Premere il tasto 'B' per abilitare/disabilitare il terzo bioma.") + +func _input(event: InputEvent) -> void: + if event is InputEventKey and event.pressed and not event.echo: + if event.keycode == KEY_B: + usa_terzo_bioma = !usa_terzo_bioma + if usa_terzo_bioma: + print("🌍 Terzo Bioma: ATTIVATO") + else: + print("🌍 Terzo Bioma: DISATTIVATO (La mappa si ferma alla Foresta)") + +func _physics_process(_delta: float) -> void: + if path_treno == null or path_treno.treno_istanziato == null: return + + var pos_treno = path_treno.treno_istanziato.global_position + var grid_x = roundi(pos_treno.x / dimensione_chunk) + var grid_z = roundi(pos_treno.z / dimensione_chunk) + var pos_attuale = Vector2i(grid_x, grid_z) + + if pos_attuale != ultima_pos_griglia_treno: + ultima_pos_griglia_treno = pos_attuale + _genera_attorno_al_treno(pos_attuale) + + # Accendiamo il GPS + _radar_bioma_treno() + +func _genera_attorno_al_treno(centro: Vector2i) -> void: + for x in range(-raggio_visivo, raggio_visivo + 1): + for z in range(-raggio_visivo, raggio_visivo + 1): + var pos_griglia = centro + Vector2i(x, z) + + if not scacchiera.has(pos_griglia): + var ce_ostacolo = _registra_cella_con_laser(pos_griglia) + + if not ce_ostacolo: + _piazza_bioma_compatibile(pos_griglia) + +# --- SCELTA DEI CATALOGHI CON IL 50/50 MATEMATICO --- +func _scegli_catalogo_per_cella(pos_griglia: Vector2i) -> Array[PackedScene]: + var valore = generatore_rumore.get_noise_2d(pos_griglia.x, pos_griglia.y) + var nome_bioma_scelto = _get_nome_bioma(valore) + + var catalogo_scelto: Array[PackedScene] = [] + + if nome_bioma_scelto == "Campagna": + catalogo_scelto = bioma_campagna + + elif nome_bioma_scelto == "Misto Campagna-Foresta": + # Lancia la moneta: 50% Campagna, 50% Foresta + catalogo_scelto = bioma_campagna if randf() > 0.5 else bioma_foresta + + elif nome_bioma_scelto == "Foresta": + catalogo_scelto = bioma_foresta + + elif nome_bioma_scelto == "Misto Foresta-Altro": + # Lancia la moneta: 50% Foresta, 50% Altro + catalogo_scelto = bioma_foresta if randf() > 0.5 else bioma_altro + + else: + catalogo_scelto = bioma_altro + + if catalogo_scelto.is_empty(): + catalogo_scelto = bioma_campagna + nome_bioma_scelto += " (FALLBACK)" + + print("🌱 Generato: [", nome_bioma_scelto, "] in cella ", pos_griglia) + + return catalogo_scelto + +# --- IL LASER INTELLIGENTE --- +func _registra_cella_con_laser(pos_griglia: Vector2i) -> bool: + if scacchiera.has(pos_griglia): return true + + var pos_mondo = Vector3(pos_griglia.x * dimensione_chunk, 0, pos_griglia.y * dimensione_chunk) + var space_state = get_world_3d().direct_space_state + var origine_raggio = Vector3(pos_mondo.x, 50.0, pos_mondo.z) + var fine_raggio = Vector3(pos_mondo.x, -10.0, pos_mondo.z) + + var query = PhysicsRayQueryParameters3D.create(origine_raggio, fine_raggio) + var result = space_state.intersect_ray(query) + + if result.size() > 0: + var collider = result["collider"] + var nodo_corrente = collider + var uscite_trovate = {"nord": false, "est": false, "sud": false, "ovest": false} + + while nodo_corrente != null and nodo_corrente != get_tree().root: + if nodo_corrente.has_method("get_uscite_ruotate"): + var scatti_rotazione = roundi(rad_to_deg(nodo_corrente.global_rotation.y) / -90.0) + uscite_trovate = nodo_corrente.get_uscite_ruotate(scatti_rotazione) + break + nodo_corrente = nodo_corrente.get_parent() + + scacchiera[pos_griglia] = {"tipo": "ostacolo", "uscite": uscite_trovate} + return true + + return false + +# --- WAVE FUNCTION COLLAPSE --- +func _piazza_bioma_compatibile(pos_griglia: Vector2i) -> void: + var req_nord = _richiede_connessione(pos_griglia + Vector2i(0, -1), "sud") + var req_est = _richiede_connessione(pos_griglia + Vector2i(1, 0), "ovest") + var req_sud = _richiede_connessione(pos_griglia + Vector2i(0, 1), "nord") + var req_ovest = _richiede_connessione(pos_griglia + Vector2i(-1, 0), "est") + + var catalogo_zona = _scegli_catalogo_per_cella(pos_griglia) + var candidati = [] + + for scena in catalogo_zona: + var test_chunk = scena.instantiate() + + if test_chunk.has_method("get_uscite_ruotate"): + for rot in range(4): + var u = test_chunk.get_uscite_ruotate(rot) + + var match_n = (req_nord == -1) or ((req_nord == 1) == u["nord"]) + var match_e = (req_est == -1) or ((req_est == 1) == u["est"]) + var match_s = (req_sud == -1) or ((req_sud == 1) == u["sud"]) + var match_o = (req_ovest == -1) or ((req_ovest == 1) == u["ovest"]) + + if match_n and match_e and match_s and match_o: + candidati.append({ + "scena": scena, + "rotazione": rot, + "uscite": u + }) + + test_chunk.queue_free() + + if candidati.size() > 0: + var scelto = candidati.pick_random() + var nuovo_chunk = scelto.scena.instantiate() + add_child(nuovo_chunk) + nuovo_chunk.position = Vector3(pos_griglia.x * dimensione_chunk, 0, pos_griglia.y * dimensione_chunk) + nuovo_chunk.rotation.y = scelto.rotazione * (-PI / 2.0) + scacchiera[pos_griglia] = {"tipo": "bioma", "uscite": scelto.uscite} + else: + var backup = catalogo_zona[0].instantiate() + add_child(backup) + backup.position = Vector3(pos_griglia.x * dimensione_chunk, 0, pos_griglia.y * dimensione_chunk) + scacchiera[pos_griglia] = {"tipo": "bioma", "uscite": {"nord":false, "est":false, "sud":false, "ovest":false}} + +func _richiede_connessione(pos_vicino: Vector2i, lato_richiesto: String) -> int: + if not scacchiera.has(pos_vicino): + _registra_cella_con_laser(pos_vicino) + + if scacchiera.has(pos_vicino): + if scacchiera[pos_vicino]["uscite"][lato_richiesto] == true: + return 1 + else: + return 0 + + return -1 + +# --- DIZIONARIO DEI BIOMI (SOGLIE RIGOROSE PER EVITARE SALTI) --- +func _get_nome_bioma(valore: float) -> String: + # Convertiamo il valore da [-1.0 a 1.0] a un percorso continuo + # per assicurare la presenza dei mix + if valore < -0.4: + return "Campagna" + elif valore < -0.15: + return "Misto Campagna-Foresta" + + if not usa_terzo_bioma: + return "Foresta" + + if valore < 0.15: + return "Foresta" + elif valore < 0.4: + return "Misto Foresta-Altro" + else: + return "Altro (Deserto/Neve)" + +# --- IL GPS DEL TRENO --- +func _radar_bioma_treno() -> void: + if path_treno == null or path_treno.curve == null: return + + var pos_treno = path_treno.treno_istanziato.global_position + var grid_x = roundi(pos_treno.x / dimensione_chunk) + var grid_z = roundi(pos_treno.z / dimensione_chunk) + var valore_attuale = generatore_rumore.get_noise_2d(grid_x, grid_z) + var bioma_attuale = _get_nome_bioma(valore_attuale) + + var progresso_attuale = path_treno.progresso_treno + var lunghezza_totale = path_treno.curve.get_baked_length() + var distanza_cambio = 0.0 + var prossimo_bioma = "" + + for step in range(1, 31): + var progresso_futuro = wrapf(progresso_attuale + (step * dimensione_chunk), 0.0, lunghezza_totale) + var pos_futura_locale = path_treno.curve.sample_baked(progresso_futuro, true) + var pos_futura_globale = path_treno.to_global(pos_futura_locale) + + var f_x = roundi(pos_futura_globale.x / dimensione_chunk) + var f_z = roundi(pos_futura_globale.z / dimensione_chunk) + var valore_futuro = generatore_rumore.get_noise_2d(f_x, f_z) + var bioma_futuro = _get_nome_bioma(valore_futuro) + + if bioma_futuro != bioma_attuale: + distanza_cambio = step * dimensione_chunk + prossimo_bioma = bioma_futuro + break + + if prossimo_bioma != "": + print("🚂 [GPS TRENO] Sei in: ", bioma_attuale, " | Tra circa ", distanza_cambio, " metri entrerai in: ", prossimo_bioma) + else: + print("🚂 [GPS TRENO] Sei in: ", bioma_attuale, " | Nessun cambio in vista per 600m.") diff --git a/Scenes/generatore_bioma.gd.uid b/Scenes/generatore_bioma.gd.uid new file mode 100644 index 0000000..99e6526 --- /dev/null +++ b/Scenes/generatore_bioma.gd.uid @@ -0,0 +1 @@ +uid://c5xr1w2tvcxl1 diff --git a/Scripts/Binari.gd b/Scripts/Binari.gd index 73a8ef4..b8e49e7 100644 --- a/Scripts/Binari.gd +++ b/Scripts/Binari.gd @@ -8,6 +8,10 @@ extends Path3D @export var larghezza_binari: float = 1.2 @export var gruppo_camere: Node3D +@export_group("Costruzione Rotaie") +@export var distanza_traversine: float = 1.0 +@export var modello_traversina: PackedScene + @export_group("Controlli Manuali") @export var velocita_max: float = 15.0 @export var velocita_min: float = -5.0 @@ -32,10 +36,6 @@ var colori_fuochi: Array[Color] = [ @export_group("Movimento e Oscillazione") @export_range(0.0, 1.0) var intensita_oscillazione_base: float = 0.5 -@export_group("Costruzione Rotaie") -@export var distanza_traversine: float = 1.0 -@export var modello_traversina: PackedScene - var treno_istanziato: Node3D var progresso_treno: float = 0.0 var tempo_oscillazione: float = 0.0 @@ -56,6 +56,63 @@ func _ready() -> void: else: print("ATTENZIONE: Devi prima disegnare i punti del Path3D!") +func _costruisci_rotaie_da_zero() -> void: + var mat_legno = StandardMaterial3D.new() + mat_legno.albedo_color = Color(0.35, 0.2, 0.1) + var mat_ferro = StandardMaterial3D.new() + mat_ferro.albedo_color = Color(0.6, 0.6, 0.65) + mat_ferro.metallic = 0.8 + + var mesh_traversina_default = BoxMesh.new() + mesh_traversina_default.size = Vector3(larghezza_binari + 0.6, 0.1, 0.3) + var mesh_binario = BoxMesh.new() + mesh_binario.size = Vector3(0.1, 0.15, distanza_traversine + 0.05) + + var lunghezza_totale = curve.get_baked_length() + var numero_pezzi = int(lunghezza_totale / distanza_traversine) + + for i in range(numero_pezzi): + var distanza = i * distanza_traversine + var pezzo_binario = Node3D.new() + add_child(pezzo_binario) + + var pos_attuale_locale = curve.sample_baked(distanza, true) + var distanza_avanti = distanza + 0.1 + var pos_avanti_locale = Vector3.ZERO + + if distanza_avanti > lunghezza_totale: + var pos_dietro = curve.sample_baked(distanza - 0.1, true) + pos_avanti_locale = pos_attuale_locale + (pos_attuale_locale - pos_dietro) + else: + pos_avanti_locale = curve.sample_baked(distanza_avanti, true) + + pezzo_binario.position = pos_attuale_locale + var globale_attuale = to_global(pos_attuale_locale) + var globale_avanti = to_global(pos_avanti_locale) + if globale_attuale.distance_to(globale_avanti) > 0.001: + pezzo_binario.look_at(globale_avanti, Vector3.UP) + + if modello_traversina != null: + var traversina_custom = modello_traversina.instantiate() + pezzo_binario.add_child(traversina_custom) + else: + var traversina = MeshInstance3D.new() + traversina.mesh = mesh_traversina_default + traversina.material_override = mat_legno + pezzo_binario.add_child(traversina) + + var binario_sx = MeshInstance3D.new() + binario_sx.mesh = mesh_binario + binario_sx.material_override = mat_ferro + binario_sx.position = Vector3(-larghezza_binari / 2.0, 0.1, 0) + pezzo_binario.add_child(binario_sx) + + var binario_dx = MeshInstance3D.new() + binario_dx.mesh = mesh_binario + binario_dx.material_override = mat_ferro + binario_dx.position = Vector3(larghezza_binari / 2.0, 0.1, 0) + pezzo_binario.add_child(binario_dx) + func _calcola_fermate() -> void: var fermate_temp = [] for figlio in get_children(): @@ -88,10 +145,8 @@ func _test_fuochi_manuale() -> void: var offset_x = randf_range(-6.0, 6.0) var offset_z = randf_range(-6.0, 6.0) - # 1. POSIZIONA fuoco_root.global_position = treno_istanziato.global_position + Vector3(offset_x, 0.5, offset_z) - # 2. COLORA E ACCENDI if fuoco_root.has_method("imposta_colore"): fuoco_root.imposta_colore(colori_fuochi.pick_random()) if fuoco_root.has_method("accendi"): @@ -156,23 +211,24 @@ func _gestione_movimento_treno(delta: float) -> void: progresso_treno += lunghezza_totale if offsets_fermate.size() > 0: indice_prossima_fermata = offsets_fermate.size() - 1 - # 1. Il centro matematico perfetto e incontrovertibile del treno var pos_centro = to_global(curve.sample_baked(progresso_treno, true)) - - # 2. Il punto in cui deve guardare (abbastanza lontano per non vibrare) var prog_davanti = wrapf(progresso_treno + 2.0, 0.0, lunghezza_totale) var pos_davanti = to_global(curve.sample_baked(prog_davanti, true)) if pos_centro.distance_to(pos_davanti) > 0.01: - # Posizionamento esatto, zero vibrazioni laterali treno_istanziato.global_position = pos_centro treno_istanziato.look_at(pos_davanti, Vector3.UP) treno_istanziato.rotate_y(PI) if gruppo_camere: - # La telecamera segue il punto perfetto gruppo_camere.global_position = gruppo_camere.global_position.lerp(pos_centro, delta * 12.0) - + + # Usiamo orthonormalized() per pulire le micro-imperfezioni matematiche + var rot_cam = gruppo_camere.global_basis.orthonormalized().get_rotation_quaternion() + var rot_treno = treno_istanziato.global_basis.orthonormalized().get_rotation_quaternion() + + gruppo_camere.global_basis = Basis(rot_cam.slerp(rot_treno, delta * 8.0)) + if not fermata_in_corso: var vel_reale = abs(velocita_treno * moltiplicatore_stazione) tempo_oscillazione += delta * vel_reale * 2.0 @@ -206,10 +262,8 @@ func _esegui_fermata(andando_avanti: bool = true) -> void: var offset_x = randf_range(-5.0, 5.0) var offset_z = randf_range(-5.0, 5.0) - # 1. POSIZIONA fuoco_root.global_position = posizione_marker + Vector3(offset_x, 0.5, offset_z) - # 2. COLORA E ACCENDI if fuoco_root.has_method("imposta_colore"): fuoco_root.imposta_colore(colori_fuochi.pick_random()) if fuoco_root.has_method("accendi"): @@ -230,63 +284,6 @@ func _esegui_fermata(andando_avanti: bool = true) -> void: tween_ripartenza.tween_property(self, "moltiplicatore_stazione", 1.0, tempo_ripartenza) tween_ripartenza.tween_callback(func(): in_ripartenza = false) -func _costruisci_rotaie_da_zero() -> void: - var mat_legno = StandardMaterial3D.new() - mat_legno.albedo_color = Color(0.35, 0.2, 0.1) - var mat_ferro = StandardMaterial3D.new() - mat_ferro.albedo_color = Color(0.6, 0.6, 0.65) - mat_ferro.metallic = 0.8 - - var mesh_traversina_default = BoxMesh.new() - mesh_traversina_default.size = Vector3(larghezza_binari + 0.6, 0.1, 0.3) - var mesh_binario = BoxMesh.new() - mesh_binario.size = Vector3(0.1, 0.15, distanza_traversine + 0.05) - - var lunghezza_totale = curve.get_baked_length() - var numero_pezzi = int(lunghezza_totale / distanza_traversine) - - for i in range(numero_pezzi): - var distanza = i * distanza_traversine - var pezzo_binario = Node3D.new() - add_child(pezzo_binario) - - var pos_attuale_locale = curve.sample_baked(distanza, true) - var distanza_avanti = distanza + 0.1 - var pos_avanti_locale = Vector3.ZERO - - if distanza_avanti > lunghezza_totale: - var pos_dietro = curve.sample_baked(distanza - 0.1, true) - pos_avanti_locale = pos_attuale_locale + (pos_attuale_locale - pos_dietro) - else: - pos_avanti_locale = curve.sample_baked(distanza_avanti, true) - - pezzo_binario.position = pos_attuale_locale - var globale_attuale = to_global(pos_attuale_locale) - var globale_avanti = to_global(pos_avanti_locale) - if globale_attuale.distance_to(globale_avanti) > 0.001: - pezzo_binario.look_at(globale_avanti, Vector3.UP) - - if modello_traversina != null: - var traversina_custom = modello_traversina.instantiate() - pezzo_binario.add_child(traversina_custom) - else: - var traversina = MeshInstance3D.new() - traversina.mesh = mesh_traversina_default - traversina.material_override = mat_legno - pezzo_binario.add_child(traversina) - - var binario_sx = MeshInstance3D.new() - binario_sx.mesh = mesh_binario - binario_sx.material_override = mat_ferro - binario_sx.position = Vector3(-larghezza_binari / 2.0, 0.1, 0) - pezzo_binario.add_child(binario_sx) - - var binario_dx = MeshInstance3D.new() - binario_dx.mesh = mesh_binario - binario_dx.material_override = mat_ferro - binario_dx.position = Vector3(larghezza_binari / 2.0, 0.1, 0) - pezzo_binario.add_child(binario_dx) - func _costruisci_treno() -> void: if modello_treno != null: treno_istanziato = modello_treno.instantiate() diff --git a/Scripts/CameraMove.gd b/Scripts/CameraMove.gd index 2e1957c..5279e06 100644 --- a/Scripts/CameraMove.gd +++ b/Scripts/CameraMove.gd @@ -2,17 +2,18 @@ extends Node3D @export_group("Riferimenti Camere") @export var camera_iso : Camera3D +@export var pivot_iso : Node3D # <-- NUOVO: Trascina qui il nodo PivotIso! @export var camera_frontale : Camera3D @export var camera_laterale : Camera3D -@export var camera_laterale_2 : Camera3D # Nuova Camera 4 -@export var camera_alta : Camera3D # Nuova Camera 5 +@export var camera_laterale_2 : Camera3D +@export var camera_alta : Camera3D @export_group("Movimento Camera 1") @export var move_speed : float = 20.0 @export var rotation_speed : float = 0.2 @export_group("Cinematic Mode") -@export var tempo_cambio_camera : float = 10.0 # Quanti secondi dura ogni inquadratura +@export var tempo_cambio_camera : float = 10.0 var is_moving_enabled : bool = true @@ -22,28 +23,38 @@ var cinematic_timer : float = 0.0 var cinematic_index : int = 0 var array_camere : Array[Camera3D] = [] +# --- Variabile per il Reset --- +var transform_iniziale_pivot : Transform3D + func _ready(): - # Creiamo un array con le telecamere valide per ciclarle facilmente + # Salviamo la posizione e rotazione del PIVOT, non della camera! + if pivot_iso: + transform_iniziale_pivot = pivot_iso.transform + if camera_iso: array_camere.append(camera_iso) if camera_frontale: array_camere.append(camera_frontale) if camera_laterale: array_camere.append(camera_laterale) if camera_laterale_2: array_camere.append(camera_laterale_2) if camera_alta: array_camere.append(camera_alta) - # All'inizio, assicuriamoci che la CameraIso sia quella attiva if camera_iso: camera_iso.make_current() func _input(event): - # Cambio Camera Manuale e Cinematic Toggle if event is InputEventKey and event.pressed and not event.echo: + # --- TASTO R: RESET DELLA CAMERA ISOMETRICA --- + if event.keycode == KEY_R and is_moving_enabled and pivot_iso: + # Riporta il Pivot al centro esatto sopra il treno + pivot_iso.transform = transform_iniziale_pivot + print("Camera Isometrica resettata!") + return + # --- TASTO C: TOGGLE CINEMATIC MODE --- if event.keycode == KEY_C: is_cinematic_mode = !is_cinematic_mode if is_cinematic_mode: - cinematic_timer = 0.0 # Azzera il timer - # Cerca qual è la camera attualmente attiva per iniziare il ciclo da lì + cinematic_timer = 0.0 for i in range(array_camere.size()): if array_camere[i].current: cinematic_index = i @@ -51,7 +62,7 @@ func _input(event): print("Cinematic Mode: ATTIVATA") else: print("Cinematic Mode: DISATTIVATA") - return # Usciamo per non eseguire altri controlli in questo frame + return # --- CONTROLLI MANUALI (1-5) --- var intervento_manuale = false @@ -81,34 +92,28 @@ func _input(event): is_moving_enabled = false intervento_manuale = true - # Se l'utente preme un numero per cambiare camera manualmente, spegni la cinematic mode if intervento_manuale and is_cinematic_mode: is_cinematic_mode = false print("Cinematic Mode: DISATTIVATA (Intervento manuale)") - # Rotazione: Solo se il movimento è abilitato (Camera 1) - if is_moving_enabled: + # --- ROTAZIONE MOUSE (Applicata al PIVOT!) --- + if is_moving_enabled and pivot_iso: if event is InputEventMouseMotion and Input.is_mouse_button_pressed(MOUSE_BUTTON_RIGHT): - rotate_y(deg_to_rad(-event.relative.x * rotation_speed)) + # Ruotando il pivot, la camera farà una bellissima orbita circolare! + pivot_iso.rotate_y(deg_to_rad(-event.relative.x * rotation_speed)) func _process(delta): - # --- LOGICA CINEMATIC MODE --- if is_cinematic_mode and array_camere.size() > 0: cinematic_timer += delta if cinematic_timer >= tempo_cambio_camera: cinematic_timer = 0.0 - # Passa alla camera successiva e se è l'ultima ricomincia da zero cinematic_index = (cinematic_index + 1) % array_camere.size() - var next_cam = array_camere[cinematic_index] next_cam.make_current() - - # Abilita il movimento WASD solo se la camera inquadrata è quella isometrica (la 1) is_moving_enabled = (next_cam == camera_iso) - # --- LOGICA DI MOVIMENTO WASD --- - # Se siamo in camera 2, 3, 4 o 5, non processare il movimento WASD - if not is_moving_enabled: + # --- LOGICA DI MOVIMENTO WASD (Applicata al PIVOT!) --- + if not is_moving_enabled or pivot_iso == null: return var input_dir = Vector3.ZERO @@ -119,9 +124,17 @@ func _process(delta): if input_dir != Vector3.ZERO: input_dir = input_dir.normalized() - var forward = transform.basis.z - var right = transform.basis.x + + # Prendiamo le direzioni dal Pivot, così WASD segue dove stiamo guardando + var forward = pivot_iso.transform.basis.z + var right = pivot_iso.transform.basis.x forward.y = 0 right.y = 0 - var motion = (forward * input_dir.z + right * input_dir.x).normalized() - position += motion * move_speed * delta + + forward = forward.normalized() + right = right.normalized() + + var motion = (forward * input_dir.z + right * input_dir.x) + + # Muoviamo il centro dell'orbita (il Pivot) + pivot_iso.position += motion * move_speed * delta