first commit

This commit is contained in:
Matteo Sonaglioni
2026-03-10 23:54:57 +01:00
commit f7b334b21c
298 changed files with 30899 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
[gd_scene format=3 uid="uid://rhehrw5oipc4"]
[ext_resource type="PackedScene" uid="uid://0uakvynj7hyp" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Curva_1.fbx" id="1_rsn8b"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_024mu"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_one63"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="3_one63"]
[node name="Chunk_Curva_1" unique_id=1316208881 instance=ExtResource("1_rsn8b")]
script = ExtResource("2_one63")
tipo_chunk = 2
nord = true
ovest = true
[node name="Chunk_052" parent="." index="0" unique_id=2099348783]
surface_material_override/0 = ExtResource("2_024mu")
surface_material_override/1 = ExtResource("3_one63")
[node name="Punto_1" type="Marker3D" parent="." index="1" unique_id=663165533]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -29.939285, 0, 19.927612)
[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)
[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)

View File

@@ -0,0 +1,19 @@
[gd_scene format=3 uid="uid://djceu7hj8lpha"]
[ext_resource type="PackedScene" uid="uid://cm1x7327vhq8o" path="res://Assets/Meshes/Chunk/Rotaie/Chunk_Rettilineo_1.fbx" id="1_h6p6r"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_dqurx"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_x2uag"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="4_0tij7"]
[node name="Chunk_Rettilineo_1" unique_id=916054224 instance=ExtResource("1_h6p6r")]
script = ExtResource("2_dqurx")
tipo_chunk = 1
nord = true
sud = true
[node name="Chunk" parent="." index="0" unique_id=1906873929]
surface_material_override/0 = ExtResource("3_x2uag")
surface_material_override/1 = ExtResource("4_0tij7")
[node name="Punto_1" type="Marker3D" parent="." index="1" unique_id=62151851]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4648037, 0)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://botm0dqtr5whb"]
[ext_resource type="PackedScene" uid="uid://d3loscamahf5y" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_E_1.fbx" id="1_hycya"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_0urj0"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_oixxl"]
[node name="Chunk_C_E_1" unique_id=1874739368 instance=ExtResource("1_hycya")]
script = ExtResource("2_0urj0")
[node name="Chunk_026" parent="." index="0" unique_id=1559745184]
material_override = ExtResource("2_oixxl")

View File

@@ -0,0 +1,30 @@
[gd_scene format=3 uid="uid://birttctl11th8"]
[ext_resource type="PackedScene" uid="uid://deqp06tkp4orv" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_L_1.fbx" id="1_xwass"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_ib4lo"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_3x6ti"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_kwc5e"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="5_ag87g"]
[node name="Chunk_C_L_1" unique_id=47126446 instance=ExtResource("1_xwass")]
script = ExtResource("2_ib4lo")
sud = true
ovest = true
[node name="Chunk_005" parent="." index="0" unique_id=1667835125]
material_override = ExtResource("3_3x6ti")
[node name="Chunk_036" parent="." index="1" unique_id=248347357]
material_override = ExtResource("4_kwc5e")
[node name="Chunk_037" parent="." index="2" unique_id=1414101746]
material_override = ExtResource("4_kwc5e")
[node name="Cube_030" parent="." index="3" unique_id=807948711]
material_override = ExtResource("5_ag87g")
[node name="Cube_031" parent="." index="4" unique_id=1667337241]
material_override = ExtResource("5_ag87g")
[node name="Cube_034" parent="." index="5" unique_id=934323945]
material_override = ExtResource("5_ag87g")

View File

@@ -0,0 +1,25 @@
[gd_scene format=3 uid="uid://badmwcxptjfvo"]
[ext_resource type="PackedScene" uid="uid://bign7y2duatrm" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_R_1.fbx" id="1_c6sxq"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_thhmo"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_0cnk2"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_moww1"]
[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="5_ccs0r"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="6_p3fvx"]
[node name="Chunk_C_R_1" unique_id=1252470746 instance=ExtResource("1_c6sxq")]
script = ExtResource("2_thhmo")
nord = true
sud = true
[node name="Chunk_017" parent="." index="0" unique_id=965675178]
material_override = ExtResource("3_0cnk2")
[node name="Chunk_044" parent="." index="1" unique_id=1786132713]
material_override = ExtResource("4_moww1")
[node name="Cube_021" parent="." index="2" unique_id=2051615722]
material_override = ExtResource("5_ccs0r")
[node name="Cube_022" parent="." index="3" unique_id=1647034237]
material_override = ExtResource("6_p3fvx")

View File

@@ -0,0 +1,30 @@
[gd_scene format=3 uid="uid://r7gp3qvjpehw"]
[ext_resource type="PackedScene" uid="uid://c7ax77lnixftt" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T1_1.fbx" id="1_rjil6"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_2ckt0"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="3_vcefh"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="4_hu7g2"]
[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="5_dfedt"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="6_3s6da"]
[node name="Chunk_C_T1_1" unique_id=1230400446 instance=ExtResource("1_rjil6")]
script = ExtResource("2_2ckt0")
ovest = true
[node name="Chunk_013" parent="." index="0" unique_id=1316424628]
material_override = ExtResource("3_vcefh")
[node name="Chunk_034" parent="." index="1" unique_id=1645287092]
material_override = ExtResource("4_hu7g2")
[node name="Chunk_035" parent="." index="2" unique_id=776180449]
material_override = ExtResource("4_hu7g2")
[node name="Cube_023" parent="." index="3" unique_id=1570957191]
material_override = ExtResource("5_dfedt")
[node name="Cube_024" parent="." index="4" unique_id=345131950]
material_override = ExtResource("5_dfedt")
[node name="Cube_026" parent="." index="5" unique_id=675112727]
material_override = ExtResource("6_3s6da")

View File

@@ -0,0 +1,27 @@
[gd_scene format=3 uid="uid://b3l7mu5ompcb6"]
[ext_resource type="PackedScene" uid="uid://0fj7s2vhg2vl" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T3_1.fbx" id="1_fgokx"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_bmm2h"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="3_0yqxy"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="4_umpqw"]
[node name="Chunk_C_T3_1" unique_id=1372695450 instance=ExtResource("1_fgokx")]
script = ExtResource("2_bmm2h")
nord = true
est = true
sud = true
[node name="Chunk_024" parent="." index="1" unique_id=1847202267]
material_override = ExtResource("3_0yqxy")
[node name="Chunk_033" parent="." index="2" unique_id=599786477]
material_override = ExtResource("3_0yqxy")
[node name="Cube_027" parent="." index="3" unique_id=218487406]
material_override = ExtResource("4_umpqw")
[node name="Cube_028" parent="." index="4" unique_id=363845367]
material_override = ExtResource("4_umpqw")
[node name="Cube_029" parent="." index="5" unique_id=1192969853]
material_override = ExtResource("4_umpqw")

View File

@@ -0,0 +1,32 @@
[gd_scene format=3 uid="uid://cor3j8w3wewl5"]
[ext_resource type="PackedScene" uid="uid://bgbmyk84rks48" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T3_2.fbx" id="1_d8gt8"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_ojveg"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_q2qw3"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="3_ojveg"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="4_qts5w"]
[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="5_haopi"]
[node name="Chunk_C_T3_2" unique_id=292611530 instance=ExtResource("1_d8gt8")]
script = ExtResource("2_ojveg")
nord = true
est = true
sud = true
[node name="Chunk_007" parent="." index="0" unique_id=1142532007]
material_override = ExtResource("2_q2qw3")
[node name="Chunk_009" parent="." index="1" unique_id=782039887]
material_override = ExtResource("3_ojveg")
[node name="Chunk_040" parent="." index="2" unique_id=1927929842]
material_override = ExtResource("3_ojveg")
[node name="Cube_037" parent="." index="3" unique_id=1809317103]
material_override = ExtResource("4_qts5w")
[node name="Cube_039" parent="." index="4" unique_id=1386993725]
material_override = ExtResource("5_haopi")
[node name="Cube_040" parent="." index="5" unique_id=690313787]
material_override = ExtResource("4_qts5w")

View File

@@ -0,0 +1,32 @@
[gd_scene format=3 uid="uid://bqc1txstk8y5v"]
[ext_resource type="PackedScene" uid="uid://bbe7lqa1ayf51" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_T3_3.fbx" id="1_ig2h0"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_o43cy"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_ywcu1"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="3_o43cy"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="4_o4cox"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="5_xxm15"]
[node name="Chunk_C_T3_3" unique_id=466510246 instance=ExtResource("1_ig2h0")]
script = ExtResource("2_o43cy")
nord = true
est = true
sud = true
[node name="Chunk_011" parent="." index="0" unique_id=622687573]
material_override = ExtResource("2_ywcu1")
[node name="Chunk_039" parent="." index="1" unique_id=41647118]
material_override = ExtResource("3_o43cy")
[node name="Chunk_042" parent="." index="2" unique_id=1398607153]
material_override = ExtResource("3_o43cy")
[node name="Cube_044" parent="." index="3" unique_id=1489430551]
material_override = ExtResource("4_o4cox")
[node name="Cube_045" parent="." index="4" unique_id=1520396724]
material_override = ExtResource("5_xxm15")
[node name="Cube_046" parent="." index="5" unique_id=948875408]
material_override = ExtResource("4_o4cox")

View File

@@ -0,0 +1,29 @@
[gd_scene format=3 uid="uid://deoglbhviiria"]
[ext_resource type="PackedScene" uid="uid://bhpk5c2ydvf3m" path="res://Assets/Meshes/Chunk/Bioma_C/Chunk_C_X_1.fbx" id="1_voing"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_0cv2v"]
[ext_resource type="Script" uid="uid://byluxssk112ca" path="res://Test_Procedurale/info_chunk.gd" id="2_oqrjr"]
[ext_resource type="Material" uid="uid://couj6glsrm6h3" path="res://Materials/Sentiero.tres" id="3_oqrjr"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="4_kcdhn"]
[node name="Chunk_C_X_1" unique_id=1877580989 instance=ExtResource("1_voing")]
script = ExtResource("2_oqrjr")
nord = true
est = true
sud = true
ovest = true
[node name="Chunk_008" parent="." index="0" unique_id=1278184955]
material_override = ExtResource("2_0cv2v")
[node name="Chunk_015" parent="." index="1" unique_id=1411882798]
material_override = ExtResource("3_oqrjr")
[node name="Chunk_023" parent="." index="2" unique_id=728576742]
material_override = ExtResource("3_oqrjr")
[node name="Cube_036" parent="." index="3" unique_id=966527601]
material_override = ExtResource("4_kcdhn")
[node name="Cube_038" parent="." index="4" unique_id=115744551]
material_override = ExtResource("4_kcdhn")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://luhf0bjxhioh"]
[ext_resource type="PackedScene" uid="uid://6hfeyfp5uhi3" path="res://Assets/Meshes/House/House_L_1.fbx" id="1_6s28d"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_bjr14"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_frygf"]
[node name="House_L_1" unique_id=214183862 instance=ExtResource("1_6s28d")]
[node name="House_L_1" parent="." index="0" unique_id=729186937]
surface_material_override/0 = ExtResource("2_bjr14")
surface_material_override/1 = ExtResource("3_frygf")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://18a4o4dywdhq"]
[ext_resource type="PackedScene" uid="uid://dft0v6tipmb3d" path="res://Assets/Meshes/House/House_L_2.fbx" id="1_vtupe"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_cedy7"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_ihfan"]
[node name="House_L_2" unique_id=2134063599 instance=ExtResource("1_vtupe")]
[node name="House_L_2" parent="." index="0" unique_id=1051530496]
surface_material_override/0 = ExtResource("2_cedy7")
surface_material_override/1 = ExtResource("3_ihfan")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://b6c3v3im3qbnl"]
[ext_resource type="PackedScene" uid="uid://vavwf1snkeca" path="res://Assets/Meshes/House/House_L_3.fbx" id="1_ksxym"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_3phdf"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_0ckl7"]
[node name="House_L_3" unique_id=385424232 instance=ExtResource("1_ksxym")]
[node name="House_L_3" parent="." index="0" unique_id=780010801]
surface_material_override/0 = ExtResource("2_3phdf")
surface_material_override/1 = ExtResource("3_0ckl7")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://hf24qb0trm88"]
[ext_resource type="PackedScene" uid="uid://bpdhh4hbb3qj7" path="res://Assets/Meshes/House/House_L_4.fbx" id="1_62kts"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_ub2e4"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_dqrrg"]
[node name="House_L_4" unique_id=2028738618 instance=ExtResource("1_62kts")]
[node name="House_L_4" parent="." index="0" unique_id=1524082573]
surface_material_override/0 = ExtResource("2_ub2e4")
surface_material_override/1 = ExtResource("3_dqrrg")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://diasltph728oh"]
[ext_resource type="PackedScene" uid="uid://dmntpihvwgp7w" path="res://Assets/Meshes/House/House_M_1.fbx" id="1_heroq"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_ecfrr"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_ialoc"]
[node name="House_M_1" unique_id=1949129757 instance=ExtResource("1_heroq")]
[node name="House_M_1" parent="." index="0" unique_id=1194412875]
surface_material_override/0 = ExtResource("2_ecfrr")
surface_material_override/1 = ExtResource("3_ialoc")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://cbjdlnnnbiffa"]
[ext_resource type="PackedScene" uid="uid://cghrltlgvdupd" path="res://Assets/Meshes/House/House_M_2.fbx" id="1_y6jjx"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_qnhuy"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_jt1xp"]
[node name="House_M_2" unique_id=2027705803 instance=ExtResource("1_y6jjx")]
[node name="House_M_2" parent="." index="0" unique_id=60359707]
surface_material_override/0 = ExtResource("2_qnhuy")
surface_material_override/1 = ExtResource("3_jt1xp")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://dqg3l1g2xirww"]
[ext_resource type="PackedScene" uid="uid://cfy1hd5r0g2su" path="res://Assets/Meshes/House/House_M_3.fbx" id="1_a81ik"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_2n150"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_sxql1"]
[node name="House_M_3" unique_id=1427840883 instance=ExtResource("1_a81ik")]
[node name="House_M_3" parent="." index="0" unique_id=367272752]
surface_material_override/0 = ExtResource("2_2n150")
surface_material_override/1 = ExtResource("3_sxql1")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://cqcuoo13a4gch"]
[ext_resource type="PackedScene" uid="uid://dx83llelm781f" path="res://Assets/Meshes/House/House_S_1.fbx" id="1_nry1t"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_au3s7"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_67gff"]
[node name="House_S_1" unique_id=1161740236 instance=ExtResource("1_nry1t")]
[node name="House_S_1" parent="." index="0" unique_id=1580444502]
surface_material_override/0 = ExtResource("2_au3s7")
surface_material_override/1 = ExtResource("3_67gff")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://cw228nlwkswnd"]
[ext_resource type="PackedScene" uid="uid://cba6o3umkm7w6" path="res://Assets/Meshes/House/House_S_2.fbx" id="1_mug7j"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_mi0cu"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_divyx"]
[node name="House_S_2" unique_id=304728096 instance=ExtResource("1_mug7j")]
[node name="House_S_2" parent="." index="0" unique_id=2064111070]
surface_material_override/0 = ExtResource("2_mi0cu")
surface_material_override/1 = ExtResource("3_divyx")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://dutvq3oy1ni7c"]
[ext_resource type="PackedScene" uid="uid://ktojgkguvyc7" path="res://Assets/Meshes/House/House_XL_1.fbx" id="1_ixasg"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_bjrfw"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_kj03q"]
[node name="House_XL_1" unique_id=297136650 instance=ExtResource("1_ixasg")]
[node name="Cube_188" parent="." index="0" unique_id=389179127]
surface_material_override/0 = ExtResource("2_bjrfw")
surface_material_override/1 = ExtResource("3_kj03q")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://di7rijcgive7h"]
[ext_resource type="PackedScene" uid="uid://dmtg1fc0ygvjp" path="res://Assets/Meshes/House/House_XL_2.fbx" id="1_cchuf"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_hp54w"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_wqabm"]
[node name="House_XL_2" unique_id=855215282 instance=ExtResource("1_cchuf")]
[node name="House_XL_2" parent="." index="0" unique_id=619060872]
surface_material_override/0 = ExtResource("2_hp54w")
surface_material_override/1 = ExtResource("3_wqabm")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://01ftg8nhq8y7"]
[ext_resource type="PackedScene" uid="uid://dx63ocscghw31" path="res://Assets/Meshes/House/House_XL_3.fbx" id="1_lylng"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_ko8k1"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_bgyd2"]
[node name="House_XL_3" unique_id=2048794154 instance=ExtResource("1_lylng")]
[node name="House_XL_3" parent="." index="0" unique_id=2116678193]
surface_material_override/0 = ExtResource("2_ko8k1")
surface_material_override/1 = ExtResource("3_bgyd2")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://5sod22d0vnip"]
[ext_resource type="PackedScene" uid="uid://dx3rxahad0ilo" path="res://Assets/Meshes/House/House_XL_4.fbx" id="1_r3art"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_mswf7"]
[ext_resource type="Material" uid="uid://dbmyfi5t0yfy" path="res://Materials/House_Emissiv.tres" id="3_n3fsy"]
[node name="House_XL_4" unique_id=1350238174 instance=ExtResource("1_r3art")]
[node name="House_XL_4" parent="." index="0" unique_id=479839665]
surface_material_override/0 = ExtResource("2_mswf7")
surface_material_override/1 = ExtResource("3_n3fsy")

View File

@@ -0,0 +1,9 @@
[gd_scene format=3 uid="uid://8jtrp8ckqf1a"]
[ext_resource type="PackedScene" uid="uid://coeijlody2qb3" path="res://Assets/Meshes/House/House_Muraglione.fbx" id="1_m4ocs"]
[ext_resource type="Material" uid="uid://biaudrjlfoflm" path="res://Materials/House.tres" id="2_7l0dg"]
[node name="House_Muraglione" unique_id=1060427946 instance=ExtResource("1_m4ocs")]
[node name="House_Muraglione" parent="." index="0" unique_id=1620072056]
surface_material_override/0 = ExtResource("2_7l0dg")

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,113 @@
shader_type spatial;
render_mode specular_disabled, ambient_light_disabled;
uniform sampler2D DEPTH_TEXTURE : hint_depth_texture, filter_linear_mipmap;
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_nearest;
uniform sampler2D NORMAL_TEXTURE : hint_normal_roughness_texture, filter_nearest;
uniform float lightIntensity = 1.25;
uniform float lineAlpha = 0.7;
uniform bool useLighting = true;
uniform float lineHighlight = 0.2;
uniform float lineShadow = 0.55;
varying vec2 screenUV;
varying float lineMask;
float GetLinearDepth(vec2 sUV, sampler2D depthTexture, mat4 invProjectionMat, float mask){
// Raw depth to linear depth code from:
// https://docs.godotengine.org/en/latest/tutorials/shaders/advanced_postprocessing.html
float depth = texture(depthTexture, sUV).x * mask;
vec3 ndc = vec3(sUV * 2.0 - 1.0, depth);
vec4 view = invProjectionMat * vec4(ndc, 1.0);
view.xyz /= view.w;
return -view.z;
}
vec3 GetNormal(vec2 uv, sampler2D normalTexture, float mask){
vec3 normal = texture(normalTexture, uv).rgb;
normal = normal * 2.0 - 1.0 * mask;
return normal;
}
float NormalEdgeIndicator(vec3 normalEdgeBias, vec3 normal, vec3 neighborNormal, float depthDifference){
//From Kody King: https://threejs.org/examples/webgl_postprocessing_pixel.html
float normalDifference = dot(normal - neighborNormal, normalEdgeBias);
float normalIndicator = clamp(smoothstep(-.01, .01, normalDifference), 0.0, 1.0);
float depthIndicator = clamp(sign(depthDifference * .25 + .0025), 0.0, 1.0);
return (1.0 - dot(normal, neighborNormal)) * depthIndicator * normalIndicator;
}
void vertex(){
POSITION = vec4(VERTEX.xy, 1.0, 1.0);
}
void fragment() {
vec2 texelSize = 1.0 / VIEWPORT_SIZE.xy;
screenUV = SCREEN_UV;
// UV offsets
vec2 UVOffsets[4];
UVOffsets[0] = SCREEN_UV + vec2(0.0, -1.0) * texelSize;
UVOffsets[1] = SCREEN_UV + vec2(0.0, 1.0) * texelSize;
UVOffsets[2] = SCREEN_UV + vec2(1.0, 0.0) * texelSize;
UVOffsets[3] = SCREEN_UV + vec2(-1.0, 0.0) * texelSize;
// Using alpha channel (screen roughness) to mask objects to not receive outlines
float outlineMask = texture(NORMAL_TEXTURE, SCREEN_UV).a;
outlineMask = ceil(outlineMask); // Objects with Roughness = 0 will not have and outline
// Edge detection with Depth
float depthDifference = 0.0;
float invDepthDifference = 0.5;
float depth = GetLinearDepth(SCREEN_UV, DEPTH_TEXTURE, INV_PROJECTION_MATRIX, outlineMask);
for (int i = 0; i < UVOffsets.length(); i++){
float dOff = GetLinearDepth(UVOffsets[i],DEPTH_TEXTURE, INV_PROJECTION_MATRIX, outlineMask);
depthDifference += clamp(dOff - depth, 0.0, 1.0);
invDepthDifference += depth - dOff;
}
invDepthDifference = clamp(invDepthDifference, 0.0, 1.0);
invDepthDifference = clamp(smoothstep(0.9, 0.9, invDepthDifference) * 10.0 , 0.0, 1.0);
depthDifference = smoothstep(0.25, 0.3, depthDifference);
// Edge detection with Normals
float normalDifference = 0.;
vec3 normalEdgeBias = vec3(1.0, 1.0, 1.0);
vec3 normal = GetNormal(SCREEN_UV, NORMAL_TEXTURE, outlineMask);
for (int i = 0; i < UVOffsets.length(); i++){
vec3 nOff = GetNormal(UVOffsets[i],NORMAL_TEXTURE, outlineMask);
normalDifference += NormalEdgeIndicator(normalEdgeBias, normal, nOff, depthDifference);
}
normalDifference = smoothstep(0.2, 0.2, normalDifference);
normalDifference = clamp(normalDifference - invDepthDifference, 0.0, 1.0);
ALBEDO = texture(SCREEN_TEXTURE, SCREEN_UV).rgb;
lineMask = clamp(0.1, lineAlpha, (depthDifference + normalDifference * 5.0));
if (!useLighting){
ALBEDO += clamp((normalDifference - depthDifference), 0.0, 1.0) * lineHighlight;
ALBEDO -= ALBEDO * depthDifference * lineShadow;
}
}
void light (){
if (useLighting){
vec4 normal = texture(NORMAL_TEXTURE, screenUV);
normal = normal * 2.0 - 1.0;
// Calculate light direction
float dotNL = dot(normal.rgb, LIGHT);
dotNL = pow(dotNL, 2.5);
dotNL = clamp(dotNL, 0.0, 1.0);
if(LIGHT_IS_DIRECTIONAL)
DIFFUSE_LIGHT += mix(vec3(1.0), dotNL * LIGHT_COLOR * lightIntensity, lineMask);
}
else
DIFFUSE_LIGHT = vec3(1.0);
}

View File

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

20831
Scenes/Gameplay.tscn Normal file

File diff suppressed because one or more lines are too long

8
Scenes/MainMap.tscn Normal file
View File

@@ -0,0 +1,8 @@
[gd_scene format=3 uid="uid://bx2amm4q66ei"]
[ext_resource type="Script" uid="uid://djnl28tvtgok0" path="res://Test_Procedurale/generatore_mappa.gd" id="1_e7g1p"]
[node name="MainMap" type="Node3D" unique_id=1895741703]
[node name="GeneratoreMappa" type="Node3D" parent="." unique_id=994805404]
script = ExtResource("1_e7g1p")

View File

@@ -0,0 +1,53 @@
[gd_scene format=3 uid="uid://h63qncgtdqpi"]
[ext_resource type="PackedScene" uid="uid://qpix2kjcwpg" path="res://Assets/Test/Casetta_Blockout.fbx" id="1_nu2bs"]
[ext_resource type="Material" uid="uid://da8erd0d83kog" path="res://Shaders/Palette_Cel.tres" id="2_nu2bs"]
[ext_resource type="Texture2D" uid="uid://cdlgd0h5qeb7k" path="res://Assets/Textures/Palette_train.png" id="3_802us"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_buxff"]
disable_ambient_light = true
disable_fog = true
disable_specular_occlusion = true
albedo_texture = ExtResource("3_802us")
emission_enabled = true
emission_energy_multiplier = 8.0
emission_texture = ExtResource("3_802us")
[node name="ArtTest34" unique_id=534731899 instance=ExtResource("1_nu2bs")]
[node name="Cube_010" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="0" unique_id=1436791966]
transform = Transform3D(0.6191365, 0, 0, 0, 0.6191365, 0, 0, 0, 0.47710973, 0.07, 0.078, 0)
material_override = ExtResource("2_nu2bs")
[node name="Cube_013" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="1" unique_id=1940877821]
material_override = ExtResource("2_nu2bs")
[node name="Cube_014" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="2" unique_id=1464015677]
material_override = SubResource("StandardMaterial3D_buxff")
[node name="OmniLight3D" type="OmniLight3D" parent="Empty_001/Cube_014" index="0" unique_id=828819109]
transform = Transform3D(0.001772253, 0, 0, 0, 0.0017722532, 1.3877788e-17, 0, 0, 0.0014616965, 0, -1.3969839e-09, 0.011817332)
layers = 2
light_color = Color(0.8666949, 0.43160796, 0.0022084315, 1)
light_specular = 0.0
distance_fade_begin = 0.0
omni_range = 15.0
omni_attenuation = 1.5
[node name="Cube_015" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="3" unique_id=846733377]
material_override = ExtResource("2_nu2bs")
[node name="Cube_016" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="4" unique_id=787871981]
material_override = ExtResource("2_nu2bs")
[node name="Cube_017" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="5" unique_id=292788827]
material_override = ExtResource("2_nu2bs")
[node name="Cube_019" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="6" unique_id=1973086830]
material_override = ExtResource("2_nu2bs")
[node name="Cube_020" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="7" unique_id=1682020813]
material_override = ExtResource("2_nu2bs")
[node name="tetto 2_001" parent="Empty_001" parent_id_path=PackedInt32Array(542752111) index="8" unique_id=846138687]
material_override = ExtResource("2_nu2bs")

View File

@@ -0,0 +1,53 @@
[gd_scene format=3 uid="uid://4iye3qapad4y"]
[ext_resource type="PackedScene" uid="uid://dopxtbmauwr0n" path="res://Assets/Test/Colonnina_Blockout.fbx" id="1_iaqs2"]
[ext_resource type="Material" uid="uid://da8erd0d83kog" path="res://Shaders/Palette_Cel.tres" id="2_hqihs"]
[ext_resource type="Texture2D" uid="uid://cdlgd0h5qeb7k" path="res://Assets/Textures/Palette_train.png" id="3_jfj3v"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6tlqt"]
specular_mode = 1
disable_ambient_light = true
disable_fog = true
disable_specular_occlusion = true
albedo_texture = ExtResource("3_jfj3v")
emission_enabled = true
emission_energy_multiplier = 8.0
emission_texture = ExtResource("3_jfj3v")
[node name="ArtTest3" unique_id=143340255 instance=ExtResource("1_iaqs2")]
[node name="Empty" parent="." index="0" unique_id=1671039315]
transform = Transform3D(50, 0, 0, 0, -2.1855694e-06, 50, 0, -50, -2.1855694e-06, 0, 0, 0)
[node name="Cube_004" parent="Empty" index="0" unique_id=1602644254]
material_override = ExtResource("2_hqihs")
[node name="Cube_005" parent="Empty" index="1" unique_id=1550621633]
material_override = ExtResource("2_hqihs")
[node name="Cube_006" parent="Empty" index="2" unique_id=1497731252]
material_override = ExtResource("2_hqihs")
[node name="Cube_007" parent="Empty" index="3" unique_id=259390191]
material_override = ExtResource("2_hqihs")
[node name="Cube_008" parent="Empty" index="4" unique_id=1357576798]
material_override = ExtResource("2_hqihs")
[node name="Cube_009" parent="Empty" index="5" unique_id=1102627943]
material_override = SubResource("StandardMaterial3D_6tlqt")
[node name="OmniLight3D" type="OmniLight3D" parent="Empty/Cube_009" index="0" unique_id=1295876317]
transform = Transform3D(0.02, 0, 0, 0, 0.02, -5.551115e-17, 0, 5.551115e-17, 0.02, 0, -1.8613413e-09, 0.02244059)
light_color = Color(0.8666949, 0.43160796, 0.0022084315, 1)
light_specular = 0.0
distance_fade_begin = 0.0
omni_range = 15.0
omni_attenuation = 2.621
omni_shadow_mode = 0
[node name="Cube_011" parent="Empty" index="6" unique_id=556675018]
material_override = ExtResource("2_hqihs")
[node name="tetto 2" parent="Empty" index="7" unique_id=1317509787]
material_override = ExtResource("2_hqihs")

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

150
Scenes/Test/Main_Train.tscn Normal file
View File

@@ -0,0 +1,150 @@
[gd_scene format=3 uid="uid://dvk3bytqn3m5s"]
[ext_resource type="PackedScene" uid="uid://yjj64i1atwyg" path="res://Assets/Test/Main_Train.fbx" id="1_8k78i"]
[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://Materials/Treno1.tres" id="2_crne2"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="3_tf27f"]
[ext_resource type="Material" uid="uid://bu8wmlp0ffark" path="res://Materials/Treno3.tres" id="4_e08y7"]
[sub_resource type="PlaneMesh" id="PlaneMesh_8k78i"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_crne2"]
emission_enabled = true
emission = Color(0.7907942, 0.40736446, 3.85046e-07, 1)
emission_energy_multiplier = 5.87
[node name="Train2" unique_id=206892833 instance=ExtResource("1_8k78i")]
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
[node name="polySurface3708_002" parent="." index="0" unique_id=1301675555]
transform = Transform3D(99.99998, 0, 0, 0, -4.3711375e-06, 99.99999, 0, -99.99997, -4.3711384e-06, 0, 1.5, 0)
surface_material_override/0 = ExtResource("2_crne2")
surface_material_override/1 = ExtResource("3_tf27f")
surface_material_override/2 = ExtResource("2_crne2")
surface_material_override/3 = ExtResource("4_e08y7")
[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1" unique_id=1403632389]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.668482, 1.6818931, 2.5172625, 1.2770853)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="." index="2" unique_id=1336101020]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.668482, 1.6125782, 2.5172625, 2.9643514)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D28" type="MeshInstance3D" parent="." index="3" unique_id=311730556]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.668482, 1.640722, 2.5172625, -4.04725)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D29" type="MeshInstance3D" parent="." index="4" unique_id=1304381077]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.668482, 1.640722, 2.5172625, -2.4448335)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D3" type="MeshInstance3D" parent="." index="5" unique_id=663441243]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.47599128, 1.640722, 2.5172625, 6.115757)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D37" type="MeshInstance3D" parent="." index="6" unique_id=332999290]
transform = Transform3D(1.5214157e-15, -4.371139e-08, -1.4922415, -0.796267, -4.371139e-08, 0, -3.4805936e-08, 1, -6.522796e-08, 0.00024104083, 2.668277, 8.483847)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D30" type="MeshInstance3D" parent="." index="7" unique_id=1998746087]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.47599128, 1.640722, 2.5172625, -7.2599697)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D4" type="MeshInstance3D" parent="." index="8" unique_id=1980372157]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, 5.212925)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D5" type="MeshInstance3D" parent="." index="9" unique_id=122016874]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, 4.909999)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D6" type="MeshInstance3D" parent="." index="10" unique_id=962812717]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, 4.59173)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D7" type="MeshInstance3D" parent="." index="11" unique_id=1668544912]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, 4.283636)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D8" type="MeshInstance3D" parent="." index="12" unique_id=1387960824]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -0.085068464)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D9" type="MeshInstance3D" parent="." index="13" unique_id=1969224680]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -0.387995)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D10" type="MeshInstance3D" parent="." index="14" unique_id=3545667]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -0.7062633)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D11" type="MeshInstance3D" parent="." index="15" unique_id=719869989]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -1.0143578)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D12" type="MeshInstance3D" parent="." index="16" unique_id=424215252]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -5.405431)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D13" type="MeshInstance3D" parent="." index="17" unique_id=593531465]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -5.708358)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D14" type="MeshInstance3D" parent="." index="18" unique_id=1495729886]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -6.0266256)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="MeshInstance3D15" type="MeshInstance3D" parent="." index="19" unique_id=1576847092]
transform = Transform3D(-2.4656883e-08, 1, 0, -0.5640837, -4.371139e-08, 0, 0, 0, 0.1321082, 1.6305791, 2.5172625, -6.3347206)
mesh = SubResource("PlaneMesh_8k78i")
surface_material_override/0 = SubResource("StandardMaterial3D_crne2")
[node name="OmniLight3D" type="OmniLight3D" parent="." index="20" unique_id=1693942993]
transform = Transform3D(1, 0, 0, 0, -1.1920932e-07, -1, 0, 1, -1.1920932e-07, -0.9650913, 1.3310676, 8.449412)
light_color = Color(0.9818843, 0.6206694, 0.26694176, 1)
omni_range = 0.437
omni_attenuation = 0.367
[node name="OmniLight3D2" type="OmniLight3D" parent="." index="21" unique_id=1965838060]
transform = Transform3D(1, 0, 0, 0, -1.1920932e-07, -1, 0, 1, -1.1920932e-07, 0.9597263, 1.3310676, 8.449412)
light_color = Color(0.9818843, 0.6206694, 0.26694176, 1)
omni_range = 0.437
omni_attenuation = 0.367
[node name="SpotLight3D2" type="SpotLight3D" parent="OmniLight3D2" index="0" unique_id=1940430623]
transform = Transform3D(-0.9991066, -0.0071844957, -0.041647904, 0.039682645, 0.1795881, -0.9829413, 0.014541405, -0.98371583, -0.17914255, -2.2325838, -0.021801949, -0.18683863)
light_color = Color(0.8039216, 0.6784314, 0.3254902, 1)
light_energy = 1.795
light_cull_mask = 4294967293
spot_range = 12.168
spot_attenuation = 0.91
spot_angle = 31.25
spot_angle_attenuation = 8.876516
[node name="SpotLight3D3" type="SpotLight3D" parent="OmniLight3D2" index="1" unique_id=1754775574]
transform = Transform3D(-0.9991066, -0.0071844957, -0.041647904, 0.039682645, 0.1795881, -0.9829413, 0.014541405, -0.98371583, -0.17914255, 0.31696087, -0.020600319, -0.18641448)
light_color = Color(0.8574047, 0.65361816, 0.27671134, 1)
light_energy = 1.795
light_cull_mask = 4294967293
spot_range = 12.168
spot_attenuation = 0.91
spot_angle = 31.25
spot_angle_attenuation = 8.876516

View File

@@ -0,0 +1,108 @@
[gd_scene format=3 uid="uid://qyml1s00773u"]
[ext_resource type="Shader" uid="uid://c0dy1aqj1b4q3" path="res://Shaders/trunk_shader.gdshader" id="1_ysg1u"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_m6haf"]
render_priority = 0
shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.08235294, 0.105882354, 0.10980392, 1)
shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
shader_parameter/shadow_offset = 0.0
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0
[sub_resource type="BoxMesh" id="BoxMesh_w0ibq"]
size = Vector3(0.2, 0.2, 2)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fttrp"]
render_priority = 0
shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.08061289, 0.10506997, 0.11154168, 1)
shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
shader_parameter/shadow_offset = 0.0
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pp4r2"]
render_priority = 0
shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.2584173, 0.19781098, 0.10103748, 1)
shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
shader_parameter/shadow_offset = 0.0
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0
[sub_resource type="BoxMesh" id="BoxMesh_ysg1u"]
size = Vector3(3.705, 0.2, 0.565)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_x2uev"]
render_priority = 0
shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.25882354, 0.19607843, 0.101960786, 1)
shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
shader_parameter/shadow_offset = 0.0
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5u2u8"]
render_priority = 0
shader = ExtResource("1_ysg1u")
shader_parameter/albedo_color = Color(0.22494644, 0.08867701, 0.01631488, 1)
shader_parameter/use_texture = false
shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
shader_parameter/shadow_offset = 0.0
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0
[sub_resource type="BoxMesh" id="BoxMesh_m6haf"]
size = Vector3(3.705, 0.2, 1.92)
[node name="Rotaie2" type="Node3D" unique_id=1464572050]
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1040579890]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1681762, 0.21419203, 0)
material_override = SubResource("ShaderMaterial_m6haf")
mesh = SubResource("BoxMesh_w0ibq")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="." unique_id=1870708237]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.0276046, 0.21419203, 0)
material_override = SubResource("ShaderMaterial_fttrp")
mesh = SubResource("BoxMesh_w0ibq")
[node name="MeshInstance3D3" type="MeshInstance3D" parent="." unique_id=170245195]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.08, 0.058, 0.5)
material_override = SubResource("ShaderMaterial_pp4r2")
mesh = SubResource("BoxMesh_ysg1u")
[node name="MeshInstance3D4" type="MeshInstance3D" parent="." unique_id=1389288735]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.08, 0.058, -0.5)
material_override = SubResource("ShaderMaterial_x2uev")
mesh = SubResource("BoxMesh_ysg1u")
[node name="MeshInstance3D5" type="MeshInstance3D" parent="." unique_id=1376217081]
material_override = SubResource("ShaderMaterial_5u2u8")
mesh = SubResource("BoxMesh_m6haf")

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,246 @@
[gd_scene format=3 uid="uid://r0cco08s70si"]
[ext_resource type="PackedScene" uid="uid://c742krp1mo0gj" path="res://Assets/Test/Test_Chunk_Curva.fbx" id="1_3xgyo"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_eq78o"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="3_8x68o"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="4_yu3kx"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="5_rxhr2"]
[node name="TestChunk_3" unique_id=1315276775 instance=ExtResource("1_3xgyo")]
[node name="Chunk_052" parent="." index="0" unique_id=1628821003]
material_override = ExtResource("2_eq78o")
[node name="Chunk_053" parent="." index="1" unique_id=450012666]
material_override = ExtResource("2_eq78o")
[node name="Chunk_054" parent="." index="2" unique_id=1992396166]
material_override = ExtResource("2_eq78o")
[node name="Chunk_055" parent="." index="3" unique_id=1229454616]
material_override = ExtResource("2_eq78o")
[node name="Chunk_056" parent="." index="4" unique_id=2044778064]
material_override = ExtResource("2_eq78o")
[node name="Chunk_058" parent="." index="5" unique_id=903571173]
material_override = ExtResource("2_eq78o")
[node name="Chunk_059" parent="." index="6" unique_id=1455070701]
material_override = ExtResource("2_eq78o")
[node name="Chunk_072" parent="." index="7" unique_id=180797946]
material_override = ExtResource("3_8x68o")
[node name="Chunk_073" parent="." index="8" unique_id=38777415]
material_override = ExtResource("3_8x68o")
[node name="Chunk_074" parent="." index="9" unique_id=1722108166]
material_override = ExtResource("3_8x68o")
[node name="Chunk_075" parent="." index="10" unique_id=932659681]
material_override = ExtResource("3_8x68o")
[node name="Chunk_076" parent="." index="11" unique_id=2031183334]
material_override = ExtResource("2_eq78o")
[node name="Chunk_077" parent="." index="12" unique_id=1859349248]
material_override = ExtResource("2_eq78o")
[node name="Chunk_078" parent="." index="13" unique_id=1110421485]
material_override = ExtResource("3_8x68o")
[node name="Chunk_079" parent="." index="14" unique_id=526232144]
material_override = ExtResource("2_eq78o")
[node name="Chunk_080" parent="." index="15" unique_id=1879835413]
material_override = ExtResource("3_8x68o")
[node name="Chunk_081" parent="." index="16" unique_id=959429990]
material_override = ExtResource("3_8x68o")
[node name="Chunk_094" parent="." index="17" unique_id=767751600]
material_override = ExtResource("2_eq78o")
[node name="Chunk_095" parent="." index="18" unique_id=1395761305]
material_override = ExtResource("3_8x68o")
[node name="Chunk_096" parent="." index="19" unique_id=828095492]
material_override = ExtResource("3_8x68o")
[node name="Chunk_097" parent="." index="20" unique_id=209405395]
material_override = ExtResource("3_8x68o")
[node name="Chunk_098" parent="." index="21" unique_id=1763460476]
material_override = ExtResource("3_8x68o")
[node name="Chunk_099" parent="." index="22" unique_id=1656915643]
material_override = ExtResource("3_8x68o")
[node name="Chunk_100" parent="." index="23" unique_id=133823275]
material_override = ExtResource("2_eq78o")
[node name="Chunk_101" parent="." index="24" unique_id=1500044615]
material_override = ExtResource("3_8x68o")
[node name="Chunk_102" parent="." index="25" unique_id=1175963482]
material_override = ExtResource("3_8x68o")
[node name="Chunk_103" parent="." index="26" unique_id=931334666]
material_override = ExtResource("2_eq78o")
[node name="Chunk_104" parent="." index="27" unique_id=948494842]
material_override = ExtResource("3_8x68o")
[node name="Chunk_105" parent="." index="28" unique_id=2134503165]
material_override = ExtResource("3_8x68o")
[node name="Chunk_106" parent="." index="29" unique_id=376005073]
material_override = ExtResource("2_eq78o")
[node name="Chunk_107" parent="." index="30" unique_id=1757712307]
material_override = ExtResource("3_8x68o")
[node name="Chunk_108" parent="." index="31" unique_id=1875642596]
material_override = ExtResource("3_8x68o")
[node name="Chunk_109" parent="." index="32" unique_id=943481315]
material_override = ExtResource("2_eq78o")
[node name="Chunk_110" parent="." index="33" unique_id=1942937578]
material_override = ExtResource("3_8x68o")
[node name="Chunk_111" parent="." index="34" unique_id=886642710]
material_override = ExtResource("3_8x68o")
[node name="Chunk_112" parent="." index="35" unique_id=2024338070]
material_override = ExtResource("2_eq78o")
[node name="Chunk_113" parent="." index="36" unique_id=312345975]
material_override = ExtResource("3_8x68o")
[node name="Chunk_114" parent="." index="37" unique_id=1850515950]
material_override = ExtResource("3_8x68o")
[node name="Circle_010" parent="." index="38" unique_id=1501834668]
material_override = ExtResource("3_8x68o")
[node name="Circle_011" parent="." index="39" unique_id=292963018]
material_override = ExtResource("3_8x68o")
[node name="Circle_012" parent="." index="40" unique_id=864462633]
material_override = ExtResource("3_8x68o")
[node name="Circle_013" parent="." index="41" unique_id=1044282949]
material_override = ExtResource("3_8x68o")
[node name="Circle_014" parent="." index="42" unique_id=1180944011]
material_override = ExtResource("3_8x68o")
[node name="Cube_002" parent="." index="43" unique_id=1105052586]
visible = false
[node name="Cube_061" parent="." index="44" unique_id=313735737]
material_override = ExtResource("4_yu3kx")
[node name="Cube_062" parent="." index="45" unique_id=1818554224]
material_override = ExtResource("5_rxhr2")
[node name="Cube_064" parent="." index="46" unique_id=2064271374]
material_override = ExtResource("4_yu3kx")
[node name="Cube_066" parent="." index="47" unique_id=1321729278]
material_override = ExtResource("4_yu3kx")
[node name="Cube_068" parent="." index="48" unique_id=99239489]
material_override = ExtResource("5_rxhr2")
[node name="Cube_069" parent="." index="49" unique_id=29475541]
material_override = ExtResource("4_yu3kx")
[node name="Cube_070" parent="." index="50" unique_id=419517152]
material_override = ExtResource("4_yu3kx")
[node name="Cube_071" parent="." index="51" unique_id=1801709671]
material_override = ExtResource("4_yu3kx")
[node name="Cube_072" parent="." index="52" unique_id=84423180]
material_override = ExtResource("4_yu3kx")
[node name="Cube_073" parent="." index="53" unique_id=1472857035]
material_override = ExtResource("5_rxhr2")
[node name="Cube_074" parent="." index="54" unique_id=1538157177]
material_override = ExtResource("5_rxhr2")
[node name="Cube_075" parent="." index="55" unique_id=1851481708]
material_override = ExtResource("4_yu3kx")
[node name="Cube_088" parent="." index="56" unique_id=1199292729]
material_override = ExtResource("5_rxhr2")
[node name="Cube_089" parent="." index="57" unique_id=1070743280]
material_override = ExtResource("5_rxhr2")
[node name="Cube_090" parent="." index="58" unique_id=331998682]
material_override = ExtResource("4_yu3kx")
[node name="Cube_091" parent="." index="59" unique_id=714486732]
material_override = ExtResource("5_rxhr2")
[node name="Cube_092" parent="." index="60" unique_id=1430348655]
material_override = ExtResource("4_yu3kx")
[node name="Cube_093" parent="." index="61" unique_id=108209480]
material_override = ExtResource("5_rxhr2")
[node name="Cube_094" parent="." index="62" unique_id=592069336]
material_override = ExtResource("5_rxhr2")
[node name="Cube_095" parent="." index="63" unique_id=1202218333]
material_override = ExtResource("4_yu3kx")
[node name="Cube_096" parent="." index="64" unique_id=107928041]
material_override = ExtResource("5_rxhr2")
[node name="Cube_097" parent="." index="65" unique_id=396406485]
material_override = ExtResource("5_rxhr2")
[node name="Cube_098" parent="." index="66" unique_id=555801199]
material_override = ExtResource("4_yu3kx")
[node name="Cube_099" parent="." index="67" unique_id=283395055]
material_override = ExtResource("4_yu3kx")
[node name="Cube_100" parent="." index="68" unique_id=1904861306]
material_override = ExtResource("5_rxhr2")
[node name="Cube_101" parent="." index="69" unique_id=1379329631]
material_override = ExtResource("4_yu3kx")
[node name="Cube_102" parent="." index="70" unique_id=1656820517]
material_override = ExtResource("4_yu3kx")
[node name="Cube_103" parent="." index="71" unique_id=1217980804]
material_override = ExtResource("5_rxhr2")
[node name="Cube_104" parent="." index="72" unique_id=1454828457]
material_override = ExtResource("4_yu3kx")
[node name="Cube_105" parent="." index="73" unique_id=105234548]
material_override = ExtResource("4_yu3kx")
[node name="Cube_106" parent="." index="74" unique_id=1608807268]
material_override = ExtResource("4_yu3kx")
[node name="Cube_107" parent="." index="75" unique_id=68224525]
material_override = ExtResource("4_yu3kx")
[node name="Cube_108" parent="." index="76" unique_id=1552608150]
material_override = ExtResource("4_yu3kx")
[node name="Cube_109" parent="." index="77" unique_id=1762697883]
material_override = ExtResource("4_yu3kx")
[node name="Cube_110" parent="." index="78" unique_id=1597469999]
material_override = ExtResource("4_yu3kx")

View File

@@ -0,0 +1,500 @@
[gd_scene format=4 uid="uid://jqqiendhdgqq"]
[ext_resource type="PackedScene" uid="uid://cggkgacks5qs6" path="res://Assets/Test/Test_Chunk_Rettilineo.fbx" id="1_42h0q"]
[ext_resource type="Material" uid="uid://cit5uciejjoou" path="res://Materials/Grass_Chunk.tres" id="2_r2rfo"]
[ext_resource type="Material" uid="uid://d1xcve6aswe3d" path="res://Materials/TrainChunk.tres" id="3_y4ut5"]
[ext_resource type="Material" uid="uid://b2lg2y1k7grmo" path="res://Materials/Legno.tres" id="4_cjygt"]
[ext_resource type="Material" uid="uid://cd34mgvhj1d0r" path="res://Materials/GrassBlockout.tres" id="5_ippip"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://Materials/Treno2.tres" id="6_2h1gx"]
[ext_resource type="PackedScene" uid="uid://jj15telqu3rp" path="res://Scenes/Test/Grass_Test.tscn" id="7_gpki2"]
[ext_resource type="PackedScene" uid="uid://bfvtlpkcnbgke" path="res://Scenes/Chunk_Scene/BordiSentiero/Bordi_sentiero_Rettilineo.tscn" id="8_q7vsi"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_daam6"]
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_gmdag"]
_surfaces = [{
"aabb": AABB(-0.1, -0.05, -0.000435035, 0.2, 0.1, 0.0039470484),
"format": 34359742465,
"index_count": 36,
"index_data": PackedByteArray("AAABAAIAAgADAAAABAACAAMAAwAFAAQABgAEAAUABQAHAAYACAAGAAcABwAJAAgACgAIAAkACQALAAoADAAKAAsACwANAAwA"),
"name": "Material",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 14,
"vertex_data": PackedByteArray("zczMvc3MTL1pFeS5zczMPc3MTL1pFeS5zczMPc3MTL0AAAAAzczMvc3MTL0AAAAAzczMPc3MzLzPKWY7zczMvc3MzLzPKWY7zczMPQAAAADPKWY7zczMvQAAAADPKWY7zczMPc3MzDzPKWY7zczMvc3MzDzPKWY7zczMPc3MTD0AAAAAzczMvc3MTD0AAAAAzczMPc3MTD1pFeS5zczMvc3MTD1pFeS5")
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_0mo1a"]
resource_name = "Cube_036"
_surfaces = [{
"aabb": AABB(-0.1, -0.05, -0.000435035, 0.2, 0.1, 0.0039470484),
"attribute_data": PackedByteArray("+SMBQCLRgL9GmO4+wo+Bv7Y33T4MoIa//08DQLQhhb8pPAO/NTXQPzexab41NdA/N7FpvmxqIL8oPAO/bGogv8KYHj81NdA/99kfPzU10D/42R8/bGogv8WYHj9saiC/wORaPTU10D/Lkas+NTXQP86Rqz5saiC/4ORaPWxqIL83sWm+NTXQPzexab5saiC/y5GrPjU10D/AmB4/NTXQP8KYHj9saiC/zpGrPmxqIL8="),
"format": 34359742487,
"index_count": 36,
"index_data": PackedByteArray("AAABAAIAAgADAAAABAAFAAYABgAHAAQACAAJAAoACgALAAgADAANAA4ADgAPAAwAEAAMAA8ADwARABAAEgATABQAFAAVABIA"),
"material": SubResource("StandardMaterial3D_daam6"),
"name": "Material",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 22,
"vertex_data": PackedByteArray("zczMvc3MTL1pFeS5zczMPc3MTL1pFeS5zczMPc3MTL0AAAAAzczMvc3MTL0AAAAAzczMPc3MTD0AAAAAzczMPc3MzDzPKWY7zczMvc3MzDzPKWY7zczMvc3MTD0AAAAAzczMPc3MTD1pFeS5zczMPc3MTD0AAAAAzczMvc3MTD0AAAAAzczMvc3MTD1pFeS5zczMPQAAAADPKWY7zczMPc3MzLzPKWY7zczMvc3MzLzPKWY7zczMvQAAAADPKWY7zczMPc3MzDzPKWY7zczMvc3MzDzPKWY7zczMPc3MzLzPKWY7zczMPc3MTL0AAAAAzczMvc3MTL0AAAAAzczMvc3MzLzPKWY7/3///xgA/7//f///CgD/v/9///8KAP+//3///xgA/7//f8OP/38deP9/w4//fx14/3/Dj/9/HXj/f8OP/38deP9/////f/8//3////9//z//f////3//P/9/////f/8//3//f/9//n//f/9//3/+f/9//3//f/5//3//f/9//n//f/9//3/+f/9//3//f/5//387cMOP/n//fztww4/+f/9/O3DDj/5//387cMOP/n8=")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_gmdag")
[node name="TestChunk_3_1" unique_id=1930299282 instance=ExtResource("1_42h0q")]
[node name="Chunk_001" parent="." index="0" unique_id=1695834728]
material_override = ExtResource("2_r2rfo")
[node name="Chunk_002" parent="." index="1" unique_id=636141159]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_004" parent="." index="2" unique_id=1018760831]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_006" parent="." index="3" unique_id=1731339879]
material_override = ExtResource("3_y4ut5")
[node name="Chunk_008" type="MeshInstance3D" parent="." index="4" unique_id=1924306296]
transform = Transform3D(1.2398715e-05, 100, 1.4901161e-05, 3.0996787e-06, -1.1920929e-05, 99.99999, 104.00796, -5.9604645e-06, 0, 0, 0, 59.79328)
material_override = ExtResource("3_y4ut5")
mesh = SubResource("ArrayMesh_0mo1a")
skeleton = NodePath("")
[node name="Chunk_007" parent="." index="5" unique_id=1261303809]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_009" parent="." index="6" unique_id=2125209169]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_011" parent="." index="7" unique_id=1055921046]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_012" parent="." index="8" unique_id=1691581616]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_018" parent="." index="9" unique_id=1327808798]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_019" parent="." index="10" unique_id=288842587]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_022" parent="." index="11" unique_id=1384366591]
material_override = ExtResource("2_r2rfo")
[node name="Chunk_025" parent="." index="12" unique_id=2120408607]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_026" parent="." index="13" unique_id=2116225081]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_030" parent="." index="14" unique_id=1915145988]
material_override = ExtResource("3_y4ut5")
[node name="Chunk_031" parent="." index="15" unique_id=1583495461]
material_override = ExtResource("3_y4ut5")
[node name="Chunk_038" parent="." index="17" unique_id=1447275098]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_039" parent="." index="18" unique_id=868094439]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_040" parent="." index="19" unique_id=632565941]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_041" parent="." index="20" unique_id=1309743872]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_042" parent="." index="21" unique_id=1165986139]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_043" parent="." index="22" unique_id=1112146790]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_045" parent="." index="23" unique_id=1112344579]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_046" parent="." index="24" unique_id=1685992245]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_048" parent="." index="25" unique_id=356600799]
material_override = ExtResource("2_r2rfo")
[node name="Chunk_049" parent="." index="26" unique_id=2003534894]
material_override = ExtResource("2_r2rfo")
[node name="Chunk_060" parent="." index="27" unique_id=305954120]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_061" parent="." index="28" unique_id=592566886]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_062" parent="." index="29" unique_id=1279548648]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_063" parent="." index="30" unique_id=721236475]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_064" parent="." index="31" unique_id=1484922613]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_065" parent="." index="32" unique_id=2018836973]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_066" parent="." index="33" unique_id=1541291931]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_067" parent="." index="34" unique_id=837041659]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_068" parent="." index="35" unique_id=971016690]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_069" parent="." index="36" unique_id=385038350]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_070" parent="." index="37" unique_id=1703991292]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_071" parent="." index="38" unique_id=1498590558]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_082" parent="." index="39" unique_id=28125082]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_083" parent="." index="40" unique_id=1157430914]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_084" parent="." index="41" unique_id=411658502]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_085" parent="." index="42" unique_id=814808]
visible = false
material_override = ExtResource("2_r2rfo")
[node name="Chunk_086" parent="." index="43" unique_id=672266076]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_087" parent="." index="44" unique_id=1879178924]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_088" parent="." index="45" unique_id=811927773]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_089" parent="." index="46" unique_id=1327776670]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_090" parent="." index="47" unique_id=1788262780]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_091" parent="." index="48" unique_id=1734072223]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_092" parent="." index="49" unique_id=944616492]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Chunk_093" parent="." index="50" unique_id=465461000]
visible = false
material_override = ExtResource("3_y4ut5")
[node name="Cube_003" parent="." index="51" unique_id=693345924]
visible = false
[node name="Cube_013" parent="." index="52" unique_id=1473206256]
visible = false
[node name="Cube_014" parent="." index="53" unique_id=1615536176]
visible = false
[node name="Cube_015" parent="." index="54" unique_id=1783079766]
visible = false
[node name="Cube_017" parent="." index="55" unique_id=941497439]
material_override = ExtResource("4_cjygt")
[node name="Cube_019" parent="." index="56" unique_id=310603472]
material_override = ExtResource("4_cjygt")
[node name="Cube_020" parent="." index="57" unique_id=1187589085]
material_override = ExtResource("4_cjygt")
[node name="Cube_032" parent="." index="58" unique_id=445932209]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_033" parent="." index="59" unique_id=1799926674]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_039" parent="." index="60" unique_id=2001669168]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_040" parent="." index="61" unique_id=125352398]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_041" parent="." index="62" unique_id=1611973311]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_042" parent="." index="63" unique_id=1002325749]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_043" parent="." index="64" unique_id=1994157282]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_044" parent="." index="65" unique_id=343866864]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_045" parent="." index="66" unique_id=676495765]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_046" parent="." index="67" unique_id=40086344]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_047" parent="." index="68" unique_id=1207350367]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_048" parent="." index="69" unique_id=968808175]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_049" parent="." index="70" unique_id=1691729676]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_050" parent="." index="71" unique_id=119315218]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_051" parent="." index="72" unique_id=1288354126]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_052" parent="." index="73" unique_id=1272286417]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_053" parent="." index="74" unique_id=354408144]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_054" parent="." index="75" unique_id=2104390372]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_055" parent="." index="76" unique_id=157294727]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_056" parent="." index="77" unique_id=1822564199]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_057" parent="." index="78" unique_id=1106055444]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_058" parent="." index="79" unique_id=1571055984]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_059" parent="." index="80" unique_id=921243813]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_060" parent="." index="81" unique_id=418572884]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_063" parent="." index="82" unique_id=1413857307]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_065" parent="." index="83" unique_id=689162227]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_067" parent="." index="84" unique_id=52819535]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_076" parent="." index="85" unique_id=375175398]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_077" parent="." index="86" unique_id=998848625]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_078" parent="." index="87" unique_id=986273917]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_079" parent="." index="88" unique_id=2102928063]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_080" parent="." index="89" unique_id=350266616]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_081" parent="." index="90" unique_id=1012203626]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_082" parent="." index="91" unique_id=1955206017]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cube_083" parent="." index="92" unique_id=1796320051]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_084" parent="." index="93" unique_id=86380620]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_085" parent="." index="94" unique_id=239263663]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_086" parent="." index="95" unique_id=437639862]
visible = false
material_override = ExtResource("5_ippip")
[node name="Cube_087" parent="." index="96" unique_id=1887898712]
visible = false
material_override = ExtResource("6_2h1gx")
[node name="Cylinder_006" parent="." index="97" unique_id=110747791]
material_override = ExtResource("4_cjygt")
[node name="Cylinder_009" parent="." index="100" unique_id=2065950763]
material_override = ExtResource("4_cjygt")
[node name="Cylinder_012" parent="." index="103" unique_id=924165604]
material_override = ExtResource("4_cjygt")
[node name="Grass" parent="." index="106" unique_id=838519336 instance=ExtResource("7_gpki2")]
transform = Transform3D(0.32374206, 0, 0, 0, 1, 0, 0, 0, 6.036634, -7.6834126, 0.19219303, 50.064922)
[node name="Grass2" parent="." index="107" unique_id=1289226093 instance=ExtResource("7_gpki2")]
transform = Transform3D(0.32374206, 0, 0, 0, 1, 0, 0, 0, 6.036634, 7.4201307, 0.19219303, 50.064922)
[node name="Test_BordiSentiero" parent="." index="108" unique_id=1395614268 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 14.275263)
[node name="Test_BordiSentiero2" parent="." index="109" unique_id=1619747201 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 22.719225)
[node name="Test_BordiSentiero3" parent="." index="110" unique_id=114135402 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 30.934097)
[node name="Test_BordiSentiero4" parent="." index="111" unique_id=710088129 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 39.30027)
[node name="Test_BordiSentiero5" parent="." index="112" unique_id=1276531797 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 47.744232)
[node name="Test_BordiSentiero6" parent="." index="113" unique_id=239549175 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 55.959103)
[node name="Test_BordiSentiero7" parent="." index="114" unique_id=505711190 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 64.3187)
[node name="Test_BordiSentiero8" parent="." index="115" unique_id=994257338 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 72.762665)
[node name="Test_BordiSentiero9" parent="." index="116" unique_id=1102885328 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 80.97754)
[node name="Test_BordiSentiero19" parent="." index="117" unique_id=168637091 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5.1663537, 0.37286663, 85.74848)
[node name="Test_BordiSentiero20" parent="." index="118" unique_id=1194372834 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.1824927, 0.37286663, 85.74848)
[node name="Test_BordiSentiero21" parent="." index="119" unique_id=752748849 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.1824927, 0.37286663, 85.74848)
[node name="Test_BordiSentiero10" parent="." index="120" unique_id=1181004171 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 14.275263)
[node name="Test_BordiSentiero11" parent="." index="121" unique_id=337195932 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 22.719225)
[node name="Test_BordiSentiero12" parent="." index="122" unique_id=157625909 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 30.934097)
[node name="Test_BordiSentiero13" parent="." index="123" unique_id=1356223890 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 39.30027)
[node name="Test_BordiSentiero14" parent="." index="124" unique_id=647149200 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 47.744232)
[node name="Test_BordiSentiero15" parent="." index="125" unique_id=2106557148 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 55.959103)
[node name="Test_BordiSentiero16" parent="." index="126" unique_id=1769377828 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 64.3187)
[node name="Test_BordiSentiero17" parent="." index="127" unique_id=775726978 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 72.762665)
[node name="Test_BordiSentiero18" parent="." index="128" unique_id=887475297 instance=ExtResource("8_q7vsi")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 5.146092, 0.37286663, 80.97754)

25
Scenes/Test/ToriGate.tscn Normal file
View File

@@ -0,0 +1,25 @@
[gd_scene format=3 uid="uid://dyolu5m0lgqm2"]
[ext_resource type="PackedScene" uid="uid://bcsbg7br73nqc" path="res://Assets/Test/ToriGate.fbx" id="1_6kg7a"]
[ext_resource type="Shader" uid="uid://c0dy1aqj1b4q3" path="res://Shaders/trunk_shader.gdshader" id="2_1ibku"]
[ext_resource type="Texture2D" uid="uid://cdlgd0h5qeb7k" path="res://Assets/Textures/Palette_train.png" id="3_6126s"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3mqnu"]
render_priority = 0
shader = ExtResource("2_1ibku")
shader_parameter/albedo_color = Color(1, 1, 1, 1)
shader_parameter/albedo_texture = ExtResource("3_6126s")
shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(1, 1)
shader_parameter/light_steps = 3.0
shader_parameter/step_softness = 0.1
shader_parameter/shadow_color = Color(0.4, 0.4, 0.6, 1)
shader_parameter/shadow_offset = 0.0
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0
[node name="Tori1" unique_id=1219093134 instance=ExtResource("1_6kg7a")]
[node name="Sphere_001" parent="." index="0" unique_id=1609600992]
surface_material_override/0 = SubResource("ShaderMaterial_3mqnu")

69
Scenes/Test/Tree_Sad.tscn Normal file

File diff suppressed because one or more lines are too long

43
Scenes/Test/Tree_V1.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,103 @@
[gd_scene format=3 uid="uid://bbrsmc2vxdcwq"]
[ext_resource type="Script" uid="uid://buwbary2rs60d" path="res://Scripts/fuoco_d'artificio_root.gd" id="1_cjxyo"]
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dp1bx"]
direction = Vector3(0, 1, 0)
spread = 0.0
initial_velocity_min = 13.0
initial_velocity_max = 14.0
gravity = Vector3(0, 0, 0)
sub_emitter_mode = 2
sub_emitter_amount_at_end = 1
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8o1ow"]
blend_mode = 1
shading_mode = 0
albedo_color = Color(1, 0.8901961, 0.24313726, 1)
billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_p8l00"]
material = SubResource("StandardMaterial3D_8o1ow")
size = Vector2(0.2, 0.2)
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_kbf61"]
direction = Vector3(0, 1, 0)
spread = 180.0
initial_velocity_min = 10.0
initial_velocity_max = 10.0
gravity = Vector3(0, 0, 0)
damping_min = 6.0000005
damping_max = 6.0000005
sub_emitter_mode = 1
sub_emitter_frequency = 30.0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_is2bb"]
blend_mode = 1
shading_mode = 0
billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_f60hc"]
material = SubResource("StandardMaterial3D_is2bb")
size = Vector2(0.2, 0.2)
[sub_resource type="Gradient" id="Gradient_cjxyo"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_dp1bx"]
gradient = SubResource("Gradient_cjxyo")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_tt4r5"]
gravity = Vector3(0, -2, 0)
scale_min = 0.5
scale_max = 0.5
color_ramp = SubResource("GradientTexture1D_dp1bx")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xt2tl"]
blend_mode = 1
shading_mode = 0
albedo_color = Color(0.99999994, 0.89069206, 0.2446233, 1)
billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_0p1ln"]
material = SubResource("StandardMaterial3D_xt2tl")
size = Vector2(0.05, 0.05)
[node name="FuocoD\'artificioRoot" type="Node3D" unique_id=669752765]
script = ExtResource("1_cjxyo")
[node name="1_RazzoIniziale" type="GPUParticles3D" parent="." unique_id=1569398174]
emitting = false
amount = 15
sub_emitter = NodePath("../2_EsplosionePrincipale")
one_shot = true
explosiveness = 1.0
trail_enabled = true
process_material = SubResource("ParticleProcessMaterial_dp1bx")
draw_pass_1 = SubResource("QuadMesh_p8l00")
[node name="2_EsplosionePrincipale" type="GPUParticles3D" parent="." unique_id=863445356]
emitting = false
amount = 150
sub_emitter = NodePath("../3_ScieCadenti")
lifetime = 1.5
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_kbf61")
draw_pass_1 = SubResource("QuadMesh_f60hc")
[node name="3_ScieCadenti" type="GPUParticles3D" parent="." unique_id=1969872503]
emitting = false
amount = 500
lifetime = 0.5
process_material = SubResource("ParticleProcessMaterial_tt4r5")
draw_pass_1 = SubResource("QuadMesh_0p1ln")

9
Scenes/Test/piano.tscn Normal file
View File

@@ -0,0 +1,9 @@
[gd_scene format=3 uid="uid://dul25lfk0rja5"]
[ext_resource type="PackedScene" uid="uid://dxegjmn2sxcin" path="res://Assets/Test/Piano.glb" id="1_pydk6"]
[ext_resource type="ArrayMesh" uid="uid://dliof3040xmwu" path="res://Assets/Test/Demo/Plane.tres" id="2_l8mw2"]
[node name="Piano" unique_id=1246581320 instance=ExtResource("1_pydk6")]
[node name="Plane" parent="." index="0" unique_id=1573939042]
mesh = ExtResource("2_l8mw2")

29
Scenes/camera_subpixel.gd Normal file
View File

@@ -0,0 +1,29 @@
extends Camera3D
@export var pixel_art_resolution := Vector2(320, 180) # Change to your low-res viewport size
func _process(_delta: float) -> void:
if projection != Camera3D.PROJECTION_ORTHOGONAL:
push_warning("Camera snapping script requires Orthogonal projection!")
return
# 1. Reset offsets to 0 first so they don't compound from the last frame
h_offset = 0.0
v_offset = 0.0
# 2. Get the exact 2D screen position of the camera's 3D origin
var exact_screen_pos := unproject_position(global_position)
# 3. Find the nearest perfect integer pixel coordinate
var snapped_screen_pos := exact_screen_pos.round()
# 4. Calculate the sub-pixel difference (the floating-point remainder)
var subpixel_diff := exact_screen_pos - snapped_screen_pos
# 5. Convert 1 pixel into 3D world units based on your orthogonal size
var units_per_pixel: float = size / pixel_art_resolution.y
# 6. Counteract the movement by shifting the camera's rendering frustum
# (Y is inverted because Godot's 2D screen Y goes down, but 3D world Y goes up)
h_offset = subpixel_diff.x * units_per_pixel
v_offset = -subpixel_diff.y * units_per_pixel

View File

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