Add Procedural Map

This commit is contained in:
Matteo Sonaglioni
2026-03-11 13:05:36 +01:00
parent f7b334b21c
commit 47380d3137
29 changed files with 1568 additions and 179 deletions

View File

@@ -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="PackedScene" uid="uid://0uakvynj7hyp" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Curva_1.fbx" id="1_rsn8b"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_024mu"] [ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_024mu"]
[ext_resource type="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"] [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")] [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] [node name="Chunk_052" parent="." index="0" unique_id=2099348783]
surface_material_override/0 = ExtResource("2_024mu") surface_material_override/0 = ExtResource("2_024mu")
surface_material_override/1 = ExtResource("3_one63") surface_material_override/1 = ExtResource("3_one63")
[node name="Punto_1" type="Marker3D" parent="." index="1" unique_id=663165533] [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] [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] [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")

View File

@@ -1,15 +1,13 @@
[gd_scene format=3 uid="uid://djceu7hj8lpha"] [gd_scene format=3 uid="uid://djceu7hj8lpha"]
[ext_resource type="PackedScene" uid="uid://cm1x7327vhq8o" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Rettilineo_1.fbx" id="1_h6p6r"] [ext_resource type="PackedScene" uid="uid://cm1x7327vhq8o" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Rettilineo_1.fbx" id="1_h6p6r"]
[ext_resource type="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://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_x2uag"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="4_0tij7"] [ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="4_0tij7"]
[sub_resource type="BoxShape3D" id="BoxShape3D_h6p6r"]
size = Vector3(20, 10, 20)
[node name="Chunk_Rettilineo_1" unique_id=916054224 instance=ExtResource("1_h6p6r")] [node name="Chunk_Rettilineo_1" unique_id=916054224 instance=ExtResource("1_h6p6r")]
script = ExtResource("2_dqurx")
tipo_chunk = 1
nord = true
sud = true
[node name="Chunk" parent="." index="0" unique_id=1906873929] [node name="Chunk" parent="." index="0" unique_id=1906873929]
surface_material_override/0 = ExtResource("3_x2uag") 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] [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) 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")

View File

@@ -180,7 +180,7 @@ script = ExtResource("2_qr4wy")
sud = true sud = true
ovest = 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) transform = Transform3D(8.198544e-06, -100, -4.371139e-06, 0, -4.371139e-06, 100, -108.593, -7.54979e-06, -3.3001182e-13, 0, 0.041, -0.84952193)
material_override = ExtResource("2_xlq82") material_override = ExtResource("2_xlq82")
@@ -202,36 +202,36 @@ material_override = SubResource("StandardMaterial3D_15ugy")
mesh = SubResource("ArrayMesh_s4u17") mesh = SubResource("ArrayMesh_s4u17")
skeleton = NodePath("") 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") 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") 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 visible = false
[node name="Cube_017" parent="." index="7" unique_id=1687402325] [node name="Cube_017" parent="." index="7" unique_id=1756376932]
visible = false visible = false
[node name="Cube_019" parent="." index="8" unique_id=1780023918] [node name="Cube_019" parent="." index="8" unique_id=1580622513]
visible = false visible = false
[node name="Cube_020" parent="." index="9" unique_id=715981834] [node name="Cube_020" parent="." index="9" unique_id=2036193462]
visible = false visible = false
[node name="Cube_032" parent="." index="10" unique_id=1134282254] [node name="Cube_032" parent="." index="10" unique_id=768764430]
visible = false 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) 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 visible = false
material_override = ExtResource("4_2qt04") 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 visible = false
[node name="Cube_053" parent="." index="13" unique_id=1926218798] [node name="Cube_053" parent="." index="13" unique_id=1612072202]
visible = false visible = false
[node name="Grass4" parent="." index="14" unique_id=1987777413 instance=ExtResource("3_eyx8o")] [node name="Grass4" parent="." index="14" unique_id=1987777413 instance=ExtResource("3_eyx8o")]

View File

@@ -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"]

File diff suppressed because one or more lines are too long

View File

@@ -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)

View File

@@ -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"]

View File

@@ -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")

View File

@@ -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")

View File

@@ -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")

View File

@@ -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")

View File

@@ -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")

View File

@@ -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")

View File

@@ -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")

View File

@@ -8,26 +8,45 @@
[ext_resource type="Texture2D" uid="uid://dxahudyvihk8b" path="res://Assets/Textures/Stars.png" id="6_jawsd"] [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="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="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="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="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="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="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://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://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="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="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="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://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="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="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="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="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://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://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="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="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://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://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="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="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"] [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://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://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://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"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_jfpsf"]
fractal_lacunarity = 1.915 fractal_lacunarity = 1.915
@@ -227,13 +246,13 @@ sub_emitter_amount_at_collision = 1
material = ExtResource("3_4wepm") material = ExtResource("3_4wepm")
size = Vector2(0.05, 1) size = Vector2(0.05, 1)
[sub_resource type="Curve3D" id="Curve3D_l1dl0"] [sub_resource type="Curve3D" id="Curve3D_bedag"]
bake_interval = 50.0 bake_interval = 50.0
_data = { _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), "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) "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"] [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="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] [node name="PaletteManager" type="Node3D" parent="SubViewportContainer/SubViewport/World" unique_id=112568566]
script = ExtResource("8_gffi5") script = ExtResource("8_gffi5")
materiale_da_cambiare = ExtResource("9_bedag") materiale_da_cambiare = ExtResource("9_bedag")
@@ -763,7 +791,7 @@ process_material = SubResource("ParticleProcessMaterial_qqnw7")
draw_pass_1 = SubResource("QuadMesh_54p3t") draw_pass_1 = SubResource("QuadMesh_54p3t")
[node name="CameraFrontale" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1311130431] [node name="CameraFrontale" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1311130431]
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 fov = 86.0
size = 8.692 size = 8.692
near = 0.001 near = 0.001
@@ -777,20 +805,21 @@ near = 0.001
far = 5000.0 far = 5000.0
[node name="CameraLaterale" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1451175697] [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 fov = 60.0
size = 8.692 size = 8.692
[node name="CameraLaterale2" type="Camera3D" parent="SubViewportContainer/SubViewport/World/Camere" unique_id=1248525079] [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 fov = 96.6
size = 15.0 size = 15.0
far = 5000.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) transform = Transform3D(1, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0)
script = ExtResource("8_17jdd") script = ExtResource("8_17jdd")
camera_iso = NodePath("CameraIso") camera_iso = NodePath("CameraIso")
pivot_iso = NodePath(".")
camera_frontale = NodePath("../CameraFrontale") camera_frontale = NodePath("../CameraFrontale")
camera_laterale = NodePath("../CameraLaterale") camera_laterale = NodePath("../CameraLaterale")
camera_laterale_2 = NodePath("../CameraLaterale2") 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")] [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) 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") script = ExtResource("9_isbua")
modello_treno = ExtResource("10_ur7m6") modello_treno = ExtResource("10_ur7m6")
gruppo_camere = NodePath("../Camere") gruppo_camere = NodePath("../Camere")
modello_traversina = ExtResource("12_nonqo")
scena_fuochi = ExtResource("11_gwrkm") scena_fuochi = ExtResource("11_gwrkm")
intensita_oscillazione_base = 0.1 intensita_oscillazione_base = 0.1
modello_traversina = ExtResource("12_nonqo")
[node name="Fog" type="Node3D" parent="SubViewportContainer/SubViewport/World" unique_id=738199833] [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) 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") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D12" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=482282552] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D19" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=160566732] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D20" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1575620825] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D22" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1897543279] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D24" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1013039618] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D25" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=401092751] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D26" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1373764872] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D27" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=757807178] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D28" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1978978515] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D29" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1686710496] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D30" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=986249592] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D23" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1093148548] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D13" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1415146626] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D14" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=61288913] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
@@ -913,25 +942,25 @@ skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D15" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1964726645] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D16" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=56014866] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D17" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1917312380] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
[node name="MeshInstance3D18" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fog" unique_id=1902998175] [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") mesh = SubResource("PlaneMesh_gsfny")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = ExtResource("2_4xv0h") surface_material_override/0 = ExtResource("2_4xv0h")
@@ -946,7 +975,7 @@ skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_10fbe") surface_material_override/0 = SubResource("ShaderMaterial_10fbe")
[node name="MeshInstance3D8" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1141756848] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_10fbe") surface_material_override/0 = SubResource("ShaderMaterial_10fbe")
@@ -965,121 +994,139 @@ skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D4" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1641548010] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u")
[node name="MeshInstance3D9" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1782734506] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u")
[node name="MeshInstance3D5" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=637850015] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D13" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=616021345] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D16" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=357888742] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D17" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=969086818] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D18" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1090412117] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D19" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1333469856] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D20" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1486322614] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D21" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=989608041] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D22" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1598002389] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D23" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1911956756] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D24" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=43616988] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D10" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1958646480] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D11" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1630783054] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u")
[node name="MeshInstance3D12" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1500133056] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u")
[node name="MeshInstance3D15" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=2050034117] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_2rl0u") surface_material_override/0 = SubResource("ShaderMaterial_2rl0u")
[node name="MeshInstance3D14" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=1760473840] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D7" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=765004692] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") surface_material_override/0 = SubResource("ShaderMaterial_xjipq")
[node name="MeshInstance3D6" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/World/Fondali" unique_id=581499720] [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") mesh = SubResource("QuadMesh_jfpsf")
skeleton = NodePath("../../../../..") skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("ShaderMaterial_xjipq") 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] [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) 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")] [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")] [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) 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] [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) 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")] [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")] [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) 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/Mare/rock25"]
[editable path="SubViewportContainer/SubViewport/World/Blockout_1/Tree2/Trees/tree2"] [editable path="SubViewportContainer/SubViewport/World/Blockout_1/Tree2/Trees/tree2"]
[editable path="SubViewportContainer/SubViewport/World/Blockout_1/Tree2/Trees/tree3"] [editable path="SubViewportContainer/SubViewport/World/Blockout_1/Tree2/Trees/tree3"]

View File

@@ -1,8 +1,184 @@
[gd_scene format=3 uid="uid://bx2amm4q66ei"] [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="MainMap" type="Node3D" unique_id=1895741703]
[node name="GeneratoreMappa" type="Node3D" parent="." unique_id=994805404] [node name="Chunk_C_E_1" parent="." unique_id=1874739368 instance=ExtResource("1_nofk3")]
script = ExtResource("1_e7g1p") 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)

View File

@@ -8,6 +8,7 @@ shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.08235294, 0.105882354, 0.10980392, 1) shader_parameter/albedo_color = Color(0.08235294, 0.105882354, 0.10980392, 1)
shader_parameter/use_texture = true shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1) shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/palette_shift_y = 0.0
shader_parameter/light_steps = 3.0 shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1 shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
@@ -25,6 +26,7 @@ shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.08061289, 0.10506997, 0.11154168, 1) shader_parameter/albedo_color = Color(0.08061289, 0.10506997, 0.11154168, 1)
shader_parameter/use_texture = true shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1) shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/palette_shift_y = 0.0
shader_parameter/light_steps = 3.0 shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1 shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
@@ -39,6 +41,7 @@ shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.2584173, 0.19781098, 0.10103748, 1) shader_parameter/albedo_color = Color(0.2584173, 0.19781098, 0.10103748, 1)
shader_parameter/use_texture = true shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1) shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/palette_shift_y = 0.0
shader_parameter/light_steps = 3.0 shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1 shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
@@ -56,6 +59,7 @@ shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.25882354, 0.19607843, 0.101960786, 1) shader_parameter/albedo_color = Color(0.25882354, 0.19607843, 0.101960786, 1)
shader_parameter/use_texture = true shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1) shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/palette_shift_y = 0.0
shader_parameter/light_steps = 3.0 shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1 shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
@@ -70,6 +74,7 @@ shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.22494644, 0.08867701, 0.01631488, 1) shader_parameter/albedo_color = Color(0.22494644, 0.08867701, 0.01631488, 1)
shader_parameter/use_texture = false shader_parameter/use_texture = false
shader_parameter/uv_scale = Vector2(1, 1) shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/palette_shift_y = 0.0
shader_parameter/light_steps = 3.0 shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1 shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1) shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
@@ -104,5 +109,6 @@ material_override = SubResource("ShaderMaterial_x2uev")
mesh = SubResource("BoxMesh_ysg1u") mesh = SubResource("BoxMesh_ysg1u")
[node name="MeshInstance3D5" type="MeshInstance3D" parent="." unique_id=1376217081] [node name="MeshInstance3D5" type="MeshInstance3D" parent="." unique_id=1376217081]
visible = false
material_override = SubResource("ShaderMaterial_5u2u8") material_override = SubResource("ShaderMaterial_5u2u8")
mesh = SubResource("BoxMesh_m6haf") mesh = SubResource("BoxMesh_m6haf")

240
Scenes/generatore_bioma.gd Normal file
View File

@@ -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.")

View File

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

View File

@@ -8,6 +8,10 @@ extends Path3D
@export var larghezza_binari: float = 1.2 @export var larghezza_binari: float = 1.2
@export var gruppo_camere: Node3D @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_group("Controlli Manuali")
@export var velocita_max: float = 15.0 @export var velocita_max: float = 15.0
@export var velocita_min: float = -5.0 @export var velocita_min: float = -5.0
@@ -32,10 +36,6 @@ var colori_fuochi: Array[Color] = [
@export_group("Movimento e Oscillazione") @export_group("Movimento e Oscillazione")
@export_range(0.0, 1.0) var intensita_oscillazione_base: float = 0.5 @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 treno_istanziato: Node3D
var progresso_treno: float = 0.0 var progresso_treno: float = 0.0
var tempo_oscillazione: float = 0.0 var tempo_oscillazione: float = 0.0
@@ -56,6 +56,63 @@ func _ready() -> void:
else: else:
print("ATTENZIONE: Devi prima disegnare i punti del Path3D!") 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: func _calcola_fermate() -> void:
var fermate_temp = [] var fermate_temp = []
for figlio in get_children(): 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_x = randf_range(-6.0, 6.0)
var offset_z = 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) 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"): if fuoco_root.has_method("imposta_colore"):
fuoco_root.imposta_colore(colori_fuochi.pick_random()) fuoco_root.imposta_colore(colori_fuochi.pick_random())
if fuoco_root.has_method("accendi"): if fuoco_root.has_method("accendi"):
@@ -156,23 +211,24 @@ func _gestione_movimento_treno(delta: float) -> void:
progresso_treno += lunghezza_totale progresso_treno += lunghezza_totale
if offsets_fermate.size() > 0: indice_prossima_fermata = offsets_fermate.size() - 1 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)) 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 prog_davanti = wrapf(progresso_treno + 2.0, 0.0, lunghezza_totale)
var pos_davanti = to_global(curve.sample_baked(prog_davanti, true)) var pos_davanti = to_global(curve.sample_baked(prog_davanti, true))
if pos_centro.distance_to(pos_davanti) > 0.01: if pos_centro.distance_to(pos_davanti) > 0.01:
# Posizionamento esatto, zero vibrazioni laterali
treno_istanziato.global_position = pos_centro treno_istanziato.global_position = pos_centro
treno_istanziato.look_at(pos_davanti, Vector3.UP) treno_istanziato.look_at(pos_davanti, Vector3.UP)
treno_istanziato.rotate_y(PI) treno_istanziato.rotate_y(PI)
if gruppo_camere: if gruppo_camere:
# La telecamera segue il punto perfetto
gruppo_camere.global_position = gruppo_camere.global_position.lerp(pos_centro, delta * 12.0) 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: if not fermata_in_corso:
var vel_reale = abs(velocita_treno * moltiplicatore_stazione) var vel_reale = abs(velocita_treno * moltiplicatore_stazione)
tempo_oscillazione += delta * vel_reale * 2.0 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_x = randf_range(-5.0, 5.0)
var offset_z = 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) fuoco_root.global_position = posizione_marker + Vector3(offset_x, 0.5, offset_z)
# 2. COLORA E ACCENDI
if fuoco_root.has_method("imposta_colore"): if fuoco_root.has_method("imposta_colore"):
fuoco_root.imposta_colore(colori_fuochi.pick_random()) fuoco_root.imposta_colore(colori_fuochi.pick_random())
if fuoco_root.has_method("accendi"): 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_property(self, "moltiplicatore_stazione", 1.0, tempo_ripartenza)
tween_ripartenza.tween_callback(func(): in_ripartenza = false) 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: func _costruisci_treno() -> void:
if modello_treno != null: if modello_treno != null:
treno_istanziato = modello_treno.instantiate() treno_istanziato = modello_treno.instantiate()

View File

@@ -2,17 +2,18 @@ extends Node3D
@export_group("Riferimenti Camere") @export_group("Riferimenti Camere")
@export var camera_iso : Camera3D @export var camera_iso : Camera3D
@export var pivot_iso : Node3D # <-- NUOVO: Trascina qui il nodo PivotIso!
@export var camera_frontale : Camera3D @export var camera_frontale : Camera3D
@export var camera_laterale : Camera3D @export var camera_laterale : Camera3D
@export var camera_laterale_2 : Camera3D # Nuova Camera 4 @export var camera_laterale_2 : Camera3D
@export var camera_alta : Camera3D # Nuova Camera 5 @export var camera_alta : Camera3D
@export_group("Movimento Camera 1") @export_group("Movimento Camera 1")
@export var move_speed : float = 20.0 @export var move_speed : float = 20.0
@export var rotation_speed : float = 0.2 @export var rotation_speed : float = 0.2
@export_group("Cinematic Mode") @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 var is_moving_enabled : bool = true
@@ -22,28 +23,38 @@ var cinematic_timer : float = 0.0
var cinematic_index : int = 0 var cinematic_index : int = 0
var array_camere : Array[Camera3D] = [] var array_camere : Array[Camera3D] = []
# --- Variabile per il Reset ---
var transform_iniziale_pivot : Transform3D
func _ready(): 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_iso: array_camere.append(camera_iso)
if camera_frontale: array_camere.append(camera_frontale) if camera_frontale: array_camere.append(camera_frontale)
if camera_laterale: array_camere.append(camera_laterale) if camera_laterale: array_camere.append(camera_laterale)
if camera_laterale_2: array_camere.append(camera_laterale_2) if camera_laterale_2: array_camere.append(camera_laterale_2)
if camera_alta: array_camere.append(camera_alta) if camera_alta: array_camere.append(camera_alta)
# All'inizio, assicuriamoci che la CameraIso sia quella attiva
if camera_iso: if camera_iso:
camera_iso.make_current() camera_iso.make_current()
func _input(event): func _input(event):
# Cambio Camera Manuale e Cinematic Toggle
if event is InputEventKey and event.pressed and not event.echo: 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 --- # --- TASTO C: TOGGLE CINEMATIC MODE ---
if event.keycode == KEY_C: if event.keycode == KEY_C:
is_cinematic_mode = !is_cinematic_mode is_cinematic_mode = !is_cinematic_mode
if is_cinematic_mode: if is_cinematic_mode:
cinematic_timer = 0.0 # Azzera il timer cinematic_timer = 0.0
# Cerca qual è la camera attualmente attiva per iniziare il ciclo da lì
for i in range(array_camere.size()): for i in range(array_camere.size()):
if array_camere[i].current: if array_camere[i].current:
cinematic_index = i cinematic_index = i
@@ -51,7 +62,7 @@ func _input(event):
print("Cinematic Mode: ATTIVATA") print("Cinematic Mode: ATTIVATA")
else: else:
print("Cinematic Mode: DISATTIVATA") print("Cinematic Mode: DISATTIVATA")
return # Usciamo per non eseguire altri controlli in questo frame return
# --- CONTROLLI MANUALI (1-5) --- # --- CONTROLLI MANUALI (1-5) ---
var intervento_manuale = false var intervento_manuale = false
@@ -81,34 +92,28 @@ func _input(event):
is_moving_enabled = false is_moving_enabled = false
intervento_manuale = true intervento_manuale = true
# Se l'utente preme un numero per cambiare camera manualmente, spegni la cinematic mode
if intervento_manuale and is_cinematic_mode: if intervento_manuale and is_cinematic_mode:
is_cinematic_mode = false is_cinematic_mode = false
print("Cinematic Mode: DISATTIVATA (Intervento manuale)") print("Cinematic Mode: DISATTIVATA (Intervento manuale)")
# Rotazione: Solo se il movimento è abilitato (Camera 1) # --- ROTAZIONE MOUSE (Applicata al PIVOT!) ---
if is_moving_enabled: if is_moving_enabled and pivot_iso:
if event is InputEventMouseMotion and Input.is_mouse_button_pressed(MOUSE_BUTTON_RIGHT): 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): func _process(delta):
# --- LOGICA CINEMATIC MODE ---
if is_cinematic_mode and array_camere.size() > 0: if is_cinematic_mode and array_camere.size() > 0:
cinematic_timer += delta cinematic_timer += delta
if cinematic_timer >= tempo_cambio_camera: if cinematic_timer >= tempo_cambio_camera:
cinematic_timer = 0.0 cinematic_timer = 0.0
# Passa alla camera successiva e se è l'ultima ricomincia da zero
cinematic_index = (cinematic_index + 1) % array_camere.size() cinematic_index = (cinematic_index + 1) % array_camere.size()
var next_cam = array_camere[cinematic_index] var next_cam = array_camere[cinematic_index]
next_cam.make_current() next_cam.make_current()
# Abilita il movimento WASD solo se la camera inquadrata è quella isometrica (la 1)
is_moving_enabled = (next_cam == camera_iso) is_moving_enabled = (next_cam == camera_iso)
# --- LOGICA DI MOVIMENTO WASD --- # --- LOGICA DI MOVIMENTO WASD (Applicata al PIVOT!) ---
# Se siamo in camera 2, 3, 4 o 5, non processare il movimento WASD if not is_moving_enabled or pivot_iso == null:
if not is_moving_enabled:
return return
var input_dir = Vector3.ZERO var input_dir = Vector3.ZERO
@@ -119,9 +124,17 @@ func _process(delta):
if input_dir != Vector3.ZERO: if input_dir != Vector3.ZERO:
input_dir = input_dir.normalized() 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 forward.y = 0
right.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