10 Commits

Author SHA1 Message Date
Matteo Sonaglioni
be320d3881 Merge branch 'main' into polish2 2026-05-11 15:29:31 +02:00
ce8a977541 Merge pull request 'fix river water direction2' (#15) from river_direction into main
Reviewed-on: #15
2026-05-10 16:45:11 +00:00
8ceb6cb16b fix river water direction2 2026-05-10 18:44:43 +02:00
bcf854fd74 Merge branch 'main' of https://gitea.jmpgames.it/jmp-games/tgcc 2026-05-10 11:09:41 +02:00
10b437d236 add fog update based on day 2026-05-10 11:09:27 +02:00
9c41da14a6 Merge pull request 'fix_snow_rain_fog' (#14) from fix_snow_rain_fog into main
Reviewed-on: #14
2026-05-10 09:02:01 +00:00
Matteo Sonaglioni
4e9a5bc24d add river chunk 2026-05-07 22:10:36 +02:00
Matteo Sonaglioni
1d03bb0156 chunk zen garden 2026-05-07 19:14:21 +02:00
Matteo Sonaglioni
36ce503aca river curve chunk 2 2026-05-07 02:45:51 +02:00
d22479bae4 Merge pull request 'main' (#13) from main into polish2
Reviewed-on: #13
2026-05-06 20:30:18 +00:00
35 changed files with 3394 additions and 184 deletions

View File

@@ -8,6 +8,19 @@ const CHUNK_GENERATION_STEPS_PER_FRAME: int = 2
const CHUNK_CLEANUP_STEPS_PER_FRAME: int = 4
const LAMPPOST_WIRE_STEPS_PER_FRAME: int = 1
const RAILWAY_SCENE_DIRECTORY: String = "res://tgcc/chunk/railway/scene"
const RIVER_SIDE_ORDER: Array[String] = ["north", "est", "south", "west"]
const RIVER_DIRECTIONS: Dictionary = {
"north": Vector2(0.0, -1.0),
"est": Vector2(1.0, 0.0),
"south": Vector2(0.0, 1.0),
"west": Vector2(-1.0, 0.0),
}
const RIVER_NEIGHBOUR_OFFSETS: Dictionary = {
"north": Vector2i(0, -1),
"est": Vector2i(1, 0),
"south": Vector2i(0, 1),
"west": Vector2i(-1, 0),
}
@export_group("Rails")
@export var rail_path: Path3D
@@ -616,11 +629,15 @@ func _add_compatible_biome(grid_pos: Vector2i) -> void:
var have_lamppost = false
if info_new != null and "have_lamppost" in info_new:
have_lamppost = info_new.have_lamppost
var river_flow_direction = _calculate_river_flow_direction(grid_pos, choise.data["river_connections"])
_apply_river_flow_direction(new_chunk, river_flow_direction)
board[grid_pos] = {
"type": "bioma",
"exit": choise.data["connections"],
"river_exit": choise.data["river_connections"],
"river_flow_direction": river_flow_direction,
"heights": choise.data["heights"],
"node": new_chunk,
"info": info_new,
@@ -647,12 +664,109 @@ func _add_compatible_biome(grid_pos: Vector2i) -> void:
"type": "biome",
"exit": {"north":false, "est":false, "south":false, "west":false},
"river_exit": {"north":false, "est":false, "south":false, "west":false},
"river_flow_direction": Vector2.ZERO,
"heights": safe_heights,
"node": backup,
"info": info_backup,
"have_lamppost": false
}
func _calculate_river_flow_direction(grid_pos: Vector2i, river_connections: Dictionary) -> Vector2:
var connected_sides: Array[String] = []
for side in RIVER_SIDE_ORDER:
if river_connections.has(side) and river_connections[side]:
connected_sides.append(side)
if connected_sides.is_empty():
return Vector2.ZERO
var neighbour_flow = _get_connected_neighbour_river_flow(grid_pos, connected_sides)
if not neighbour_flow.is_zero_approx():
var continued_flow = _continue_river_flow_from_neighbour(grid_pos, connected_sides, neighbour_flow)
if not continued_flow.is_zero_approx():
return continued_flow.normalized()
var default_flow = _get_default_river_flow(connected_sides)
if default_flow.is_zero_approx():
return Vector2.ZERO
return default_flow.normalized()
func _get_connected_neighbour_river_flow(grid_pos: Vector2i, connected_sides: Array[String]) -> Vector2:
for side in connected_sides:
var neighbour_pos: Vector2i = grid_pos + RIVER_NEIGHBOUR_OFFSETS[side]
if not board.has(neighbour_pos):
continue
var neighbour = board[neighbour_pos]
if not neighbour.has("river_flow_direction"):
continue
var neighbour_flow: Vector2 = neighbour["river_flow_direction"]
if not neighbour_flow.is_zero_approx():
return neighbour_flow.normalized()
return Vector2.ZERO
func _continue_river_flow_from_neighbour(grid_pos: Vector2i, connected_sides: Array[String], neighbour_flow: Vector2) -> Vector2:
for side in connected_sides:
var neighbour_pos: Vector2i = grid_pos + RIVER_NEIGHBOUR_OFFSETS[side]
if not board.has(neighbour_pos):
continue
var neighbour = board[neighbour_pos]
if not neighbour.has("river_flow_direction"):
continue
var side_direction: Vector2 = RIVER_DIRECTIONS[side]
var neighbour_direction: Vector2 = neighbour["river_flow_direction"]
if neighbour_direction.is_zero_approx():
continue
neighbour_direction = neighbour_direction.normalized()
var other_sides = connected_sides.duplicate()
other_sides.erase(side)
if other_sides.is_empty():
return neighbour_direction
var other_direction = _get_average_river_side_direction(other_sides)
if neighbour_direction.dot(-side_direction) > 0.25:
return other_direction - side_direction
if neighbour_direction.dot(side_direction) > 0.25:
return side_direction - other_direction
var default_flow = _get_default_river_flow(connected_sides)
if default_flow.dot(neighbour_flow) < 0.0:
return -default_flow
return default_flow
func _get_default_river_flow(connected_sides: Array[String]) -> Vector2:
if connected_sides.size() == 1:
return RIVER_DIRECTIONS[connected_sides[0]]
if connected_sides.has("north") and connected_sides.has("south"):
return Vector2(0.0, 1.0)
if connected_sides.has("est") and connected_sides.has("west"):
return Vector2(1.0, 0.0)
var start_direction: Vector2 = RIVER_DIRECTIONS[connected_sides[0]]
var end_direction = _get_average_river_side_direction(connected_sides.slice(1))
return end_direction - start_direction
func _get_average_river_side_direction(sides: Array[String]) -> Vector2:
var direction := Vector2.ZERO
for side in sides:
direction += RIVER_DIRECTIONS[side]
if direction.is_zero_approx():
return Vector2.ZERO
return direction / float(sides.size())
func _apply_river_flow_direction(root: Node, flow_direction: Vector2) -> void:
if flow_direction.is_zero_approx():
return
_set_river_flow_direction_recursive(root, flow_direction.normalized())
func _set_river_flow_direction_recursive(node: Node, flow_direction: Vector2) -> void:
if node is MeshInstance3D and node.name.begins_with("Water_F"):
var mesh_instance := node as MeshInstance3D
mesh_instance.set_instance_shader_parameter("river_flow_direction", flow_direction)
for child in node.get_children():
_set_river_flow_direction_recursive(child, flow_direction)
func _needed_connection(near_pos: Vector2i, side_needed: String) -> int:
if not board.has(near_pos):
_register_cell_with_ray(near_pos)

View File

@@ -32,6 +32,7 @@ render_priority = 0
shader = ExtResource("2_r4tfj")
shader_parameter/use_red_as_alpha = true
shader_parameter/fog_color = Color(0.8, 0.85, 0.9, 0.5)
shader_parameter/fog_density = 0.25
shader_parameter/scroll_speed = Vector2(0.05, 0.01)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/edge_softness_y = 0.2
@@ -261,6 +262,7 @@ shader = ExtResource("2_r4tfj")
shader_parameter/fog_noise = ExtResource("11_tuauy")
shader_parameter/use_red_as_alpha = true
shader_parameter/fog_color = Color(0.8, 0.8509804, 0.9019608, 0.2509804)
shader_parameter/fog_density = 0.25
shader_parameter/scroll_speed = Vector2(0, 0.01)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/edge_softness_y = 0.16400000779

View File

@@ -7,6 +7,7 @@ uniform bool use_red_as_alpha = true;
group_uniforms Settings;
uniform vec4 fog_color : source_color = vec4(0.8, 0.85, 0.9, 0.5);
uniform float fog_density : hint_range(0.0, 1.0) = 0.25;
uniform vec2 scroll_speed = vec2(0.05, 0.01);
uniform vec2 texture_scale = vec2(1.0, 1.0);
@@ -36,5 +37,5 @@ void fragment() {
vec3 dark_fog = tinted_fog * 0.5;
ALBEDO = mix(tinted_fog, dark_fog, night_intensity);
ALPHA = fog_color.a * noise_alpha * edge_mask;
}
ALPHA = fog_color.a * fog_density * noise_alpha * edge_mask;
}

View File

@@ -32,9 +32,6 @@ uniform float foam_roughness : hint_range(0.0, 1.0, 0.01) = 0.05;
group_uniforms Wave;
uniform sampler2D wave_texture;
#if !USE_UNSHADED
uniform sampler2D wave_normal_texture;
#endif
uniform float wave_softness : hint_range(0.0, 10.0, 0.1) = 3.0;
uniform vec2 wave_scale = vec2(0.2);
uniform vec2 wave_layer_scale = vec2(1.5);
@@ -42,6 +39,7 @@ uniform float wave_highlight : hint_range(0.0, 1.0, 0.05) = 0.5;
group_uniforms Wave.Motion;
uniform vec2 wave_velocity = vec2(0.02);
instance uniform vec2 river_flow_direction = vec2(0.0, 0.0);
group_uniforms Foam;
uniform sampler2D foam_texture;
@@ -72,6 +70,7 @@ uniform float foam_exponent = 2.0;
uniform sampler2D screen_texture : hint_screen_texture;
varying vec3 world_pos;
varying vec2 world_wave_velocity;
#if USE_CAUSTICS
vec3 sample_caustics(vec2 uv){
@@ -103,17 +102,47 @@ vec4 sample_wave(sampler2D tex, vec2 uv, vec2 velocity, float lod){
return wave2;
}
vec3 sample_wave_normal(vec2 uv, vec2 velocity, float center_wave) {
vec2 normal_offset = vec2(0.25, 0.0);
float wave_x = sample_wave(wave_texture, uv + normal_offset.xy, velocity, wave_softness).r;
float wave_z = sample_wave(wave_texture, uv + normal_offset.yx, velocity, wave_softness).r;
vec2 slope = vec2(center_wave - wave_x, center_wave - wave_z) * 0.35;
return normalize(vec3(slope, 1.0)) * 0.5 + 0.5;
}
vec2 get_world_wave_velocity(mat4 model_matrix) {
float velocity_length = length(wave_velocity);
if (velocity_length <= 0.0001) {
return vec2(0.0);
}
float flow_direction_length = length(river_flow_direction);
if (flow_direction_length > 0.0001) {
return (river_flow_direction / flow_direction_length) * velocity_length;
}
vec3 world_direction_3d = (model_matrix * vec4(0.0, 1.0, 0.0, 0.0)).xyz;
vec2 world_direction = world_direction_3d.xz;
float world_direction_length = length(world_direction);
if (world_direction_length <= 0.0001) {
return wave_velocity;
}
return (world_direction / world_direction_length) * velocity_length;
}
void vertex(){
world_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
world_wave_velocity = get_world_wave_velocity(MODEL_MATRIX);
#if USE_DISPLACEMENT
float wave = sample_wave(wave_texture, world_pos.xz, wave_velocity, wave_softness).r;
float wave = sample_wave(wave_texture, world_pos.xz, world_wave_velocity, wave_softness).r;
VERTEX.y += wave*displacement_amount;
#endif
}
void fragment() {
float wave = sample_wave(wave_texture, world_pos.xz, wave_velocity, wave_softness).r;
float wave = sample_wave(wave_texture, world_pos.xz, world_wave_velocity, wave_softness).r;
wave = smoothstep(0.0,1.0,wave);
vec2 screen_uv = SCREEN_UV;
@@ -141,8 +170,8 @@ void fragment() {
// Caustics
#if USE_CAUSTICS
vec3 caustics1 = sample_caustics(surface_uv + (TIME * -wave_velocity));
vec3 caustics2 = sample_caustics((surface_uv + (caustics1.r*0.05)) + (TIME * (wave_velocity*0.5)));
vec3 caustics1 = sample_caustics(surface_uv + (TIME * -world_wave_velocity));
vec3 caustics2 = sample_caustics((surface_uv + (caustics1.r*0.05)) + (TIME * (world_wave_velocity*0.5)));
vec3 caustics = caustics2 * (1.0 - depth);
#endif
@@ -170,7 +199,7 @@ void fragment() {
color = mix(color, foam_color.rgb, foam);
#if !USE_UNSHADED
vec3 wave_normal_map = sample_wave(wave_normal_texture, world_pos.xz, wave_velocity, wave_softness).rgb;
vec3 wave_normal_map = sample_wave_normal(world_pos.xz, world_wave_velocity, wave);
NORMAL_MAP = wave_normal_map;
#endif

View File

@@ -263,8 +263,23 @@ func _process(delta: float) -> void:
env_shadow_mat.set_shader_parameter("cloud_density", current_cloud_density)
if environment_config.material_fog:
environment_config.material_fog.set_shader_parameter("fog_color", final_fog_color)
environment_config.material_fog.set_shader_parameter("fog_density", clamp(final_fog_density * 25.0, 0.0, 1.0))
environment_config.material_fog.set_shader_parameter("night_intensity", night_val)
environment_config.material_fog.set_shader_parameter("sun_color", final_tint)
if fog:
for child in fog.get_children():
var fog_mesh := child as MeshInstance3D
if fog_mesh == null:
continue
var fog_material := fog_mesh.get_surface_override_material(0) as ShaderMaterial
if fog_material == null:
continue
fog_material.set_shader_parameter("fog_color", final_fog_color)
fog_material.set_shader_parameter("fog_density", clamp(final_fog_density * 25.0, 0.0, 1.0))
fog_material.set_shader_parameter("night_intensity", night_val)
fog_material.set_shader_parameter("sun_color", final_tint)
func create_sound_players():
rain_audio_player = AudioStreamPlayer.new()

View File

@@ -42,6 +42,11 @@
[ext_resource type="PackedScene" uid="uid://c6vpwol3k384y" path="res://tgcc/chunk/river/scene/chunk_river_mix4_1.tscn" id="26_7ykwn"]
[ext_resource type="PackedScene" uid="uid://cd3iyj71hkgcr" path="res://tgcc/chunk/river/scene/chunk_river_mix5_1.tscn" id="27_d1gyr"]
[ext_resource type="PackedScene" uid="uid://bh8kbw07bsu6n" path="res://tgcc/chunk/river/scene/chunk_river_mix6_1.tscn" id="28_3ldqx"]
[ext_resource type="PackedScene" uid="uid://ce6qvpb27fdpo" path="res://tgcc/chunk/river/scene/chunk_river_curve_2.tscn" id="29_d1gyr"]
[ext_resource type="PackedScene" uid="uid://7063xk3bwboc" path="res://tgcc/chunk/river/scene/chunk_river_straight_4.tscn" id="30_3ldqx"]
[ext_resource type="PackedScene" uid="uid://ccgd3uy68r88h" path="res://tgcc/chunk/river/scene/chunk_river_curve_3.tscn" id="31_dsw5k"]
[ext_resource type="PackedScene" uid="uid://mpgyaho52lii" path="res://tgcc/chunk/river/scene/chunk_river_straight_5.tscn" id="32_03yl6"]
[ext_resource type="PackedScene" uid="uid://q26mkh3cupic" path="res://tgcc/chunk/river/scene/chunk_river_cross_2.tscn" id="33_rlemp"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wjpfq"]
fractal_lacunarity = 1.915
@@ -121,7 +126,7 @@ compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_q52t
[sub_resource type="Resource" id="Resource_3qrd0"]
script = ExtResource("6_s3jnv")
name = "countryside"
available_chunks = Array[PackedScene]([ExtResource("7_xgfli"), ExtResource("10_ufarv"), ExtResource("9_q6kbb"), ExtResource("7_4elh6"), ExtResource("8_hvd8d"), ExtResource("12_81wux"), ExtResource("13_1ugwu"), ExtResource("10_ufarv"), ExtResource("15_ky1rt"), ExtResource("16_5g563"), ExtResource("17_tbmwr"), ExtResource("9_51cxd"), ExtResource("19_ne4de"), ExtResource("20_q6kbb"), ExtResource("21_81wux"), ExtResource("21_ky1rt"), ExtResource("22_5g563"), ExtResource("23_tbmwr"), ExtResource("24_ne4de"), ExtResource("25_5g563"), ExtResource("26_7ykwn"), ExtResource("27_d1gyr"), ExtResource("28_3ldqx")])
available_chunks = Array[PackedScene]([ExtResource("7_xgfli"), ExtResource("10_ufarv"), ExtResource("9_q6kbb"), ExtResource("7_4elh6"), ExtResource("8_hvd8d"), ExtResource("12_81wux"), ExtResource("13_1ugwu"), ExtResource("10_ufarv"), ExtResource("15_ky1rt"), ExtResource("16_5g563"), ExtResource("17_tbmwr"), ExtResource("9_51cxd"), ExtResource("19_ne4de"), ExtResource("20_q6kbb"), ExtResource("21_81wux"), ExtResource("21_ky1rt"), ExtResource("22_5g563"), ExtResource("23_tbmwr"), ExtResource("24_ne4de"), ExtResource("25_5g563"), ExtResource("26_7ykwn"), ExtResource("27_d1gyr"), ExtResource("28_3ldqx"), ExtResource("29_d1gyr"), ExtResource("30_3ldqx"), ExtResource("31_dsw5k"), ExtResource("32_03yl6"), ExtResource("33_rlemp")])
metadata/_custom_type_script = "uid://wv6kcqkibium"
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pypsn"]

View File

@@ -0,0 +1,24 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://dbepc80w602ce"]
[ext_resource type="Shader" uid="uid://d0ch5ofrgf7y6" path="res://core/daynight/trunk_shader.gdshader" id="1_36htg"]
[resource]
render_priority = 0
shader = ExtResource("1_36htg")
shader_parameter/albedo_color = Color(0.5128612, 0.093720816, 0.060247816, 1)
shader_parameter/use_texture = true
shader_parameter/uv_scale = Vector2(3, 3)
shader_parameter/palette_shift_y = 0.0
shader_parameter/gradient_start_y = 0.0
shader_parameter/gradient_end_y = 1.5
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/use_ghibli_glint = true
shader_parameter/glint_color = Color(1, 0.95, 0.85, 1)
shader_parameter/glint_intensity = 1.0
shader_parameter/glint_sharpness = 32.0
shader_parameter/emission_color = Color(0, 0, 0, 1)
shader_parameter/emission_energy = 0.0

View File

@@ -0,0 +1,46 @@
[gd_scene format=3 uid="uid://d2ybyhv6x8oto"]
[ext_resource type="PackedScene" uid="uid://ddemvbsemklv1" path="res://tgcc/chunk/river/mesh/chunk_river_curve_2.fbx" id="1_ed43r"]
[ext_resource type="Material" uid="uid://blqelpjvdv23j" path="res://tgcc/chunk/material/grassflat_chunk.tres" id="2_0nqbm"]
[ext_resource type="Script" uid="uid://dg2h4kbqe8j3m" path="res://core/biome_generator/chunk_info.gd" id="2_evkha"]
[ext_resource type="Material" uid="uid://b4whdyou2ah3s" path="res://tgcc/chunk/prop/zen garden/zengarden.tres" id="3_6pq05"]
[ext_resource type="Material" uid="uid://d37iugof887py" path="res://tgcc/chunk/material/water_river.tres" id="4_evkha"]
[ext_resource type="Shader" uid="uid://dvl43hb4bvb6n" path="res://tgcc/chunk/prop/zen garden/zengardencircle.gdshader" id="5_6pq05"]
[sub_resource type="PlaneMesh" id="PlaneMesh_evkha"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_a28qb"]
render_priority = 0
shader = ExtResource("5_6pq05")
shader_parameter/colore_sabbia = Color(0.9, 0.85, 0.7, 1)
shader_parameter/frequenza = 22.91
shader_parameter/inclinazione_normale = 0.400000019
[node name="chunk_river_curve_2" unique_id=191563018 instance=ExtResource("1_ed43r")]
script = ExtResource("2_evkha")
river_south = true
river_west = true
[node name="Argini_F_004" parent="." index="0" unique_id=998394083]
surface_material_override/0 = ExtResource("2_0nqbm")
[node name="Grass_013" parent="." index="1" unique_id=1345725796]
surface_material_override/0 = ExtResource("3_6pq05")
[node name="Water_F_004" parent="." index="2" unique_id=726188602]
surface_material_override/0 = ExtResource("4_evkha")
[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="3" unique_id=440474384]
transform = Transform3D(3.2268727, 0, 0, 0, 1, 0, 0, 0, 3.2268727, -6.597686, 0.023309946, 6.9251833)
mesh = SubResource("PlaneMesh_evkha")
surface_material_override/0 = SubResource("ShaderMaterial_a28qb")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="." index="4" unique_id=1508019649]
transform = Transform3D(4.4853163, 0, 0, 0, 1, 0, 0, 0, 4.4853163, -2.7410579, 0.023309946, 3.1897964)
mesh = SubResource("PlaneMesh_evkha")
surface_material_override/0 = SubResource("ShaderMaterial_a28qb")
[node name="MeshInstance3D3" type="MeshInstance3D" parent="." index="5" unique_id=238021925]
transform = Transform3D(2.2253478, 0, 0, 0, 1, 0, 0, 0, 2.2253478, 6.4033065, 0.023309946, 6.7838535)
mesh = SubResource("PlaneMesh_evkha")
surface_material_override/0 = SubResource("ShaderMaterial_a28qb")

View File

@@ -0,0 +1,33 @@
shader_type spatial;
render_mode blend_mix, depth_draw_always, diffuse_burley, specular_schlick_ggx;
uniform vec3 colore_sabbia : source_color = vec3(0.9, 0.85, 0.7);
uniform vec3 colore_solco : source_color = vec3(0.75, 0.7, 0.55); // Colore più scuro
uniform float frequenza = 10.0;
uniform float inclinazione_normale : hint_range(0.0, 2.0) = 0.8;
uniform float ampiezza_ombra : hint_range(0.0, 1.0) = 0.3; // Quanto è larga la riga scura
varying vec3 world_pos;
void vertex() {
world_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
}
void fragment() {
float riga = fract(world_pos.x * frequenza);
// --- LOGICA COLORE (RAFFORZAMENTO) ---
// Creiamo una "valle" scura al centro del solco (intorno a 0.5)
float maschera_colore = smoothstep(0.5 - ampiezza_ombra, 0.5, riga) - smoothstep(0.5, 0.5 + ampiezza_ombra, riga);
// Invertiamo o regoliamo per avere il fondo scuro
vec3 colore_finale = mix(colore_sabbia, colore_solco, maschera_colore);
// --- LOGICA NORMALE ---
float lato = sign(riga - 0.5);
vec3 n = NORMAL;
n.x += lato * inclinazione_normale;
ALBEDO = colore_finale;
NORMAL = normalize(n);
ROUGHNESS = 0.8;
}

View File

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

View File

@@ -0,0 +1,12 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://b4whdyou2ah3s"]
[ext_resource type="Shader" uid="uid://du8tvqhx1oiek" path="res://tgcc/chunk/prop/zen garden/zengarden.gdshader" id="1_1axno"]
[resource]
render_priority = 0
shader = ExtResource("1_1axno")
shader_parameter/colore_sabbia = Color(0.9, 0.85, 0.7, 1)
shader_parameter/colore_solco = Color(0.75, 0.7, 0.55, 1)
shader_parameter/frequenza = 6.0
shader_parameter/inclinazione_normale = 0.30000001425
shader_parameter/ampiezza_ombra = 0.3

View File

@@ -0,0 +1,12 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://b4k4sx4scor0x"]
[ext_resource type="Shader" uid="uid://dvl43hb4bvb6n" path="res://tgcc/chunk/prop/zen garden/zengardencircle.gdshader" id="1_6ysyq"]
[resource]
render_priority = -1
shader = ExtResource("1_6ysyq")
shader_parameter/colore_sabbia = Color(0.9, 0.85, 0.7, 1)
shader_parameter/colore_solco = Color(0.75, 0.7, 0.55, 1)
shader_parameter/frequenza = 25.0
shader_parameter/inclinazione_normale = 0.400000019
shader_parameter/ampiezza_ombra = 0.400000019

View File

@@ -0,0 +1,41 @@
shader_type spatial;
render_mode blend_mix, depth_draw_always, diffuse_burley, specular_schlick_ggx;
uniform vec3 colore_sabbia : source_color = vec3(0.9, 0.85, 0.7);
uniform vec3 colore_solco : source_color = vec3(0.75, 0.7, 0.55);
uniform float frequenza = 10.0;
uniform float inclinazione_normale : hint_range(0.0, 2.0) = 1.0;
uniform float ampiezza_ombra : hint_range(0.0, 1.0) = 0.4;
varying vec3 local_pos;
void vertex() {
local_pos = VERTEX;
}
void fragment() {
float d = distance(local_pos.xz, vec2(0.0));
// Taglio netto della decal (Alpha Scissor)
if (d > 0.5) {
discard;
}
float cerchio = fract(d * frequenza);
// --- LOGICA COLORE ---
// Crea un anello scuro in corrispondenza del cambio di pendenza
float maschera_colore = smoothstep(0.5 - ampiezza_ombra, 0.5, cerchio) - smoothstep(0.5, 0.5 + ampiezza_ombra, cerchio);
vec3 colore_finale = mix(colore_sabbia, colore_solco, maschera_colore);
// --- LOGICA NORMALE ---
vec2 dir_radiale = normalize(local_pos.xz);
float lato = sign(cerchio - 0.5);
vec3 n = NORMAL;
n.xz += dir_radiale * lato * inclinazione_normale;
ALBEDO = colore_finale;
NORMAL = normalize(n);
ROUGHNESS = 0.8;
SPECULAR = 0.0;
}

View File

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

View File

@@ -9,7 +9,6 @@
[ext_resource type="Material" uid="uid://fnjxocmx16b7" path="res://tgcc/chunk/prop/grass/grass_chunk.tres" id="4_xfgwo"]
[ext_resource type="Material" uid="uid://bjrb33qwp1p43" path="res://tgcc/chunk/prop/grass/grass_chunk_weeds.tres" id="5_ain0v"]
[ext_resource type="Material" uid="uid://0x17mj2v807r" path="res://tgcc/chunk/prop/grass/grass_chunk_weeds2.tres" id="6_nebt2"]
[ext_resource type="PackedScene" uid="uid://bgb4pfflokl5s" path="res://tgcc/chunk/prop/pylon/pylon.tscn" id="10_v2rwj"]
[ext_resource type="PackedScene" uid="uid://d12t04rs47jq3" path="res://tgcc/chunk/prop/tree/tree_01.tscn" id="11_v2rwj"]
[ext_resource type="PackedScene" uid="uid://cuh0xw6ff6bku" path="res://tgcc/chunk/prop/flower/flower.tscn" id="12_ss6fe"]
@@ -43,9 +42,6 @@ size = Vector3(20, 10, 20)
[node name="chunk_railway_curve" unique_id=238887300 groups=["weather_node"] node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_r0w7x")]
script = ExtResource("2_nebt2")
chunk_type = 2
have_lamppost = true
connection_left = [NodePath("PaloLuce3/sx"), NodePath("PaloLuce2/sx"), NodePath("PaloLuce/sx")]
connection_right = [NodePath("PaloLuce3/dx"), NodePath("PaloLuce2/dx"), NodePath("PaloLuce/dx")]
[node name="BézierCurve_003" parent="." index="0" unique_id=826544595]
surface_material_override/0 = ExtResource("2_ain0v")
@@ -117,25 +113,7 @@ shape = SubResource("BoxShape3D_xfgwo")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 4, 0)
shape = SubResource("BoxShape3D_xfgwo")
[node name="PaloLuce" parent="." index="5" unique_id=1607500596 instance=ExtResource("10_v2rwj")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.1802254, 0, -28.005638)
[node name="Cube" parent="PaloLuce" index="0" unique_id=1142687027]
transform = Transform3D(-4.3711393e-06, 100.00001, 1.1920929e-05, 0, -1.1920929e-05, 100.00001, 100.000015, 4.371139e-06, 5.210804e-13, 4.760495, 0, -0.002784729)
[node name="PaloLuce2" parent="." index="6" unique_id=668176867 instance=ExtResource("10_v2rwj")]
transform = Transform3D(0.67383826, 0, -0.73887885, 0, 1, 0, 0.73887885, 0, 0.67383826, -0.36678743, 0, -3.5238495)
[node name="Cube" parent="PaloLuce2" index="0" unique_id=1142687027]
transform = Transform3D(0, 100.000015, 1.1920929e-05, 0, -1.1920929e-05, 100.00001, 100.000015, 3.8146973e-06, 0, 2.308104, -1.9073486e-06, -0.90790176)
[node name="PaloLuce3" parent="." index="7" unique_id=633610471 instance=ExtResource("10_v2rwj")]
transform = Transform3D(0.033818066, 0, -0.9994279, 0, 1, 0, 0.9994279, 0, 0.033818066, -26.781347, 0, 9.45334)
[node name="Cube" parent="PaloLuce3" index="0" unique_id=1142687027]
transform = Transform3D(-4.2915344e-06, 100.000015, 1.192093e-05, 0, -1.1920929e-05, 100.00001, 100.00002, 4.2915344e-06, 5.1159077e-13, 1.5642233, 0, 0.05023575)
[node name="Tree" type="Node3D" parent="." index="8" unique_id=229613049]
[node name="Tree" type="Node3D" parent="." index="5" unique_id=229613049]
[node name="TreeTest3" parent="Tree" index="0" unique_id=1532527216 instance=ExtResource("11_v2rwj")]
transform = Transform3D(1.258351, 0, -1.1430457, 0, 1.7000003, 0, 1.1430457, 0, 1.258351, 3.4696913, 0, -28.48431)
@@ -293,7 +271,7 @@ transform = Transform3D(1.4339567, 0, 0.9131093, 0, 1.7000002, 0, -0.9131093, 0,
[node name="TreeTest22" parent="Tree" index="51" unique_id=504561169 instance=ExtResource("11_v2rwj")]
transform = Transform3D(-1.6730486, 0, 0.30151117, 0, 1.7000005, 0, -0.30151117, 0, -1.6730486, -22.988789, 0.678772, 3.902561)
[node name="Flower2" type="Node3D" parent="." index="9" unique_id=913717123]
[node name="Flower2" type="Node3D" parent="." index="6" unique_id=913717123]
[node name="Flower" parent="Flower2" index="0" unique_id=705935685 instance=ExtResource("12_ss6fe")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.028124, 0, 6.3845816)
@@ -409,7 +387,4 @@ transform = Transform3D(0.19438852, 0, 0.98092467, 0, 1, 0, -0.98092467, 0, 0.19
[node name="Flower36" parent="Flower2" index="37" unique_id=2100770937 instance=ExtResource("12_ss6fe")]
transform = Transform3D(0.71336067, 0, -0.7007972, 0, 1, 0, 0.7007972, 0, 0.71336067, 11.189318, 0, -27.307688)
[editable path="PaloLuce"]
[editable path="PaloLuce2"]
[editable path="PaloLuce3"]
[editable path="Tree/TreeTest3"]

View File

@@ -9,7 +9,6 @@
[ext_resource type="Material" uid="uid://fnjxocmx16b7" path="res://tgcc/chunk/prop/grass/grass_chunk.tres" id="7_w4l3j"]
[ext_resource type="Material" uid="uid://bjrb33qwp1p43" path="res://tgcc/chunk/prop/grass/grass_chunk_weeds.tres" id="8_yjwg7"]
[ext_resource type="Material" uid="uid://0x17mj2v807r" path="res://tgcc/chunk/prop/grass/grass_chunk_weeds2.tres" id="9_xfkev"]
[ext_resource type="PackedScene" uid="uid://bgb4pfflokl5s" path="res://tgcc/chunk/prop/pylon/pylon.tscn" id="10_3bqor"]
[ext_resource type="PackedScene" uid="uid://d12t04rs47jq3" path="res://tgcc/chunk/prop/tree/tree_01.tscn" id="11_rmmhu"]
[ext_resource type="PackedScene" uid="uid://cuh0xw6ff6bku" path="res://tgcc/chunk/prop/flower/flower.tscn" id="12_horjc"]
[ext_resource type="Shader" uid="uid://cs0xl7pc6e26h" path="res://core/daynight/tree_leaves.gdshader" id="12_w2mr5"]
@@ -65,9 +64,6 @@ shader_parameter/wetness_darkening = 0.25
[node name="chunk_railway_curve" unique_id=238887300 groups=["weather_node"] node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_5qkha")]
script = ExtResource("2_ebdep")
chunk_type = 2
have_lamppost = true
connection_left = [NodePath("PaloLuce3/sx"), NodePath("PaloLuce2/sx"), NodePath("PaloLuce/sx")]
connection_right = [NodePath("PaloLuce3/dx"), NodePath("PaloLuce2/dx"), NodePath("PaloLuce/dx")]
[node name="BézierCurve_003" parent="." index="0" unique_id=826544595]
surface_material_override/0 = ExtResource("3_w2mr5")
@@ -139,25 +135,7 @@ shape = SubResource("BoxShape3D_xfgwo")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 4, 0)
shape = SubResource("BoxShape3D_xfgwo")
[node name="PaloLuce" parent="." index="5" unique_id=1607500596 instance=ExtResource("10_3bqor")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.1802254, 0, -28.005638)
[node name="Cube" parent="PaloLuce" index="0" unique_id=1142687027]
transform = Transform3D(-4.3711393e-06, 100.00001, 1.1920929e-05, 0, -1.1920929e-05, 100.00001, 100.000015, 4.371139e-06, 5.210804e-13, 4.760495, 0, -0.002784729)
[node name="PaloLuce2" parent="." index="6" unique_id=668176867 instance=ExtResource("10_3bqor")]
transform = Transform3D(0.67383826, 0, -0.73887885, 0, 1, 0, 0.73887885, 0, 0.67383826, -0.36678743, 0, -3.5238495)
[node name="Cube" parent="PaloLuce2" index="0" unique_id=1142687027]
transform = Transform3D(0, 100.000015, 1.1920929e-05, 0, -1.1920929e-05, 100.00001, 100.000015, 3.8146973e-06, 0, 2.308104, -1.9073486e-06, -0.90790176)
[node name="PaloLuce3" parent="." index="7" unique_id=633610471 instance=ExtResource("10_3bqor")]
transform = Transform3D(0.033818066, 0, -0.9994279, 0, 1, 0, 0.9994279, 0, 0.033818066, -26.781347, 0, 9.45334)
[node name="Cube" parent="PaloLuce3" index="0" unique_id=1142687027]
transform = Transform3D(-4.2915344e-06, 100.000015, 1.192093e-05, 0, -1.1920929e-05, 100.00001, 100.00002, 4.2915344e-06, 5.1159077e-13, 1.5642233, 0, 0.05023575)
[node name="Tree" type="Node3D" parent="." index="8" unique_id=229613049]
[node name="Tree" type="Node3D" parent="." index="5" unique_id=229613049]
[node name="TreeTest3" parent="Tree" index="0" unique_id=1532527216 instance=ExtResource("11_rmmhu")]
transform = Transform3D(1.258351, 0, -1.1430457, 0, 1.7000003, 0, 1.1430457, 0, 1.258351, 8.469691, 0, -28.48431)
@@ -405,7 +383,7 @@ transform = Transform3D(70.71069, -70.71068, -3.0908614e-06, 0, -4.371139e-06, 1
[node name="MultiMeshInstance3D" parent="Tree/TreeTest32/Leaf" index="0" unique_id=153924119]
material_override = SubResource("ShaderMaterial_265s3")
[node name="Flower2" type="Node3D" parent="." index="9" unique_id=913717123]
[node name="Flower2" type="Node3D" parent="." index="6" unique_id=913717123]
[node name="Flower" parent="Flower2" index="0" unique_id=705935685 instance=ExtResource("12_horjc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.028124, 0, 9.384582)
@@ -521,9 +499,6 @@ transform = Transform3D(0.19438852, 0, 0.98092467, 0, 1, 0, -0.98092467, 0, 0.19
[node name="Flower36" parent="Flower2" index="37" unique_id=2100770937 instance=ExtResource("12_horjc")]
transform = Transform3D(0.71336067, 0, -0.7007972, 0, 1, 0, 0.7007972, 0, 0.71336067, 11.189318, 0, -27.307688)
[editable path="PaloLuce"]
[editable path="PaloLuce2"]
[editable path="PaloLuce3"]
[editable path="Tree/TreeTest3"]
[editable path="Tree/TreeTest4"]
[editable path="Tree/TreeTest5"]

Binary file not shown.

View File

@@ -0,0 +1,44 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://buv8xmfkpp4dr"
path="res://.godot/imported/chunk_river_cross_2.fbx-17f32db13905c0777aa18a65382353d3.scn"
[deps]
source_file="res://tgcc/chunk/river/mesh/chunk_river_cross_2.fbx"
dest_files=["res://.godot/imported/chunk_river_cross_2.fbx-17f32db13905c0777aa18a65382353d3.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1
fbx/naming_version=2

Binary file not shown.

View File

@@ -0,0 +1,44 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cmpajc8yrlax6"
path="res://.godot/imported/chunk_river_curve_3.fbx-67d13f16ed66438f9a15fa3604c112ed.scn"
[deps]
source_file="res://tgcc/chunk/river/mesh/chunk_river_curve_3.fbx"
dest_files=["res://.godot/imported/chunk_river_curve_3.fbx-67d13f16ed66438f9a15fa3604c112ed.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1
fbx/naming_version=2

Binary file not shown.

View File

@@ -0,0 +1,44 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dng3n0epr63am"
path="res://.godot/imported/chunk_river_straight_2.fbx-e89840723db6c61f3f7d317784ccfa21.scn"
[deps]
source_file="res://tgcc/chunk/river/mesh/chunk_river_straight_2.fbx"
dest_files=["res://.godot/imported/chunk_river_straight_2.fbx-e89840723db6c61f3f7d317784ccfa21.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1
fbx/naming_version=2

Binary file not shown.

View File

@@ -0,0 +1,44 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://biq582icdrw6d"
path="res://.godot/imported/chunk_river_straight_3.fbx-cf1b23e4666736acf429b1ba2d6ce793.scn"
[deps]
source_file="res://tgcc/chunk/river/mesh/chunk_river_straight_3.fbx"
dest_files=["res://.godot/imported/chunk_river_straight_3.fbx-cf1b23e4666736acf429b1ba2d6ce793.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1
fbx/naming_version=2

Binary file not shown.

View File

@@ -0,0 +1,44 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://sqedn5gppjtc"
path="res://.godot/imported/chunk_river_straight_5.fbx-09ecb06acd6a4030b0e9e9e14b432b37.scn"
[deps]
source_file="res://tgcc/chunk/river/mesh/chunk_river_straight_5.fbx"
dest_files=["res://.godot/imported/chunk_river_straight_5.fbx-09ecb06acd6a4030b0e9e9e14b432b37.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1
fbx/naming_version=2

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -39,6 +39,8 @@ buffer = PackedFloat32Array(-2.4161933e-08, 0.9076278, 0.4221527, 8.701078, -1.0
[node name="chunk_river_curve_2" unique_id=191563018 instance=ExtResource("1_by8bx")]
script = ExtResource("2_1jh71")
river_south = true
river_west = true
[node name="Argini_F_004" parent="." index="0" unique_id=998394083]
surface_material_override/0 = ExtResource("2_ejgtv")
@@ -81,157 +83,226 @@ cast_shadow = 0
multimesh = SubResource("MultiMesh_6sa8p")
[node name="Bambu" type="Node3D" parent="." index="4" unique_id=718852871]
visible = false
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.815884, 0, 0)
[node name="Bambù" parent="Bambu" index="0" unique_id=514636059 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, 9.461747, 0, -3.4025283)
transform = Transform3D(0.8278764, 0.06287517, -0.5573755, -0.046085197, 0.9979625, 0.044125043, 0.55901426, -0.010843327, 0.8290872, 30.405457, 0, 3.8645432)
[node name="Bambù2" parent="Bambu" index="1" unique_id=911103129 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.461747, -0.2565055, -2.5334916)
transform = Transform3D(0.8267325, 0.07238789, -0.55791897, -0.0872253, 0.9961887, 0, 0.55579245, 0.04866464, 0.8298955, 29.920605, -0.2565055, 4.585753)
[node name="Bambù3" parent="Bambu" index="2" unique_id=1673026671 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.461747, 0, -1.690526)
transform = Transform3D(0.8298955, 0.0075171394, -0.55786824, 0, 0.9999092, 0.013473534, 0.5579189, -0.011181626, 0.82982016, 29.450298, 0, 5.285326)
[node name="Bambù5" parent="Bambu" index="3" unique_id=446972919 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, 9.461747, -0.57449174, -6.0887227)
transform = Transform3D(0.8278764, 0.06287517, -0.5573755, -0.046085197, 0.9979625, 0.044125043, 0.55901426, -0.010843327, 0.8290872, 32.511173, -0.57449174, 2.1748714)
[node name="Bambù6" parent="Bambu" index="4" unique_id=1716987629 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.461747, -0.3562231, -5.219686)
transform = Transform3D(0.8267325, 0.07238789, -0.55791897, -0.0872253, 0.9961887, 0, 0.55579245, 0.04866464, 0.8298955, 31.419283, -0.3562231, 2.3564923)
[node name="Bambù7" parent="Bambu" index="5" unique_id=111309254 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.461747, 0, -4.3767204)
transform = Transform3D(0.8298955, 0.0075171394, -0.55786824, 0, 0.9999092, 0.013473534, 0.5579189, -0.011181626, 0.82982016, 30.948977, 0, 3.0560656)
[node name="Bambù8" parent="Bambu" index="6" unique_id=827441605 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, 9.782687, 4.7683716e-07, -5.0548396)
transform = Transform3D(0.8278764, 0.06287517, -0.5573755, -0.046085197, 0.9979625, 0.044125043, 0.55901426, -0.010843327, 0.8290872, 31.59366, 4.7683716e-07, 2.672357)
[node name="Bambù9" parent="Bambu" index="7" unique_id=118971434 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.782687, 4.7683716e-07, -4.185803)
transform = Transform3D(0.8267325, 0.07238789, -0.55791897, -0.0872253, 0.9961887, 0, 0.55579245, 0.04866464, 0.8298955, 31.108809, 4.7683716e-07, 3.3935666)
[node name="Bambù10" parent="Bambu" index="8" unique_id=1918485413 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.782687, -0.2763033, -3.3428373)
transform = Transform3D(0.8298955, 0.0075171394, -0.55786824, 0, 0.9999092, 0.013473534, 0.5579189, -0.011181626, 0.82982016, 30.638502, -0.2763033, 4.09314)
[node name="Bambù11" parent="Bambu" index="9" unique_id=1841532379 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, 9.782687, 4.7683716e-07, -4.0548396)
transform = Transform3D(0.8278764, 0.06287517, -0.5573755, -0.046085197, 0.9979625, 0.044125043, 0.55901426, -0.010843327, 0.8290872, 31.035742, 4.7683716e-07, 3.5022526)
[node name="Bambù12" parent="Bambu" index="10" unique_id=429060428 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.782687, 0.26429868, -3.185803)
transform = Transform3D(0.8267325, 0.07238789, -0.55791897, -0.0872253, 0.9961887, 0, 0.55579245, 0.04866464, 0.8298955, 30.55089, 0.26429868, 4.223462)
[node name="Bambù17" parent="Bambu" index="11" unique_id=608257368 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.782687, 4.7683716e-07, -2.3428373)
transform = Transform3D(0.8298955, 0.0075171394, -0.55786824, 0, 0.9999092, 0.013473534, 0.5579189, -0.011181626, 0.82982016, 30.080584, 4.7683716e-07, 4.9230356)
[node name="Bambù18" parent="Bambu" index="12" unique_id=712332440 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, 9.587206, -0.4043932, -8.056931)
transform = Transform3D(0.8278764, 0.06287517, -0.5573755, -0.046085197, 0.9979625, 0.044125043, 0.55901426, -0.010843327, 0.8290872, 33.713394, -0.4043932, 0.61146104)
[node name="Bambù19" parent="Bambu" index="13" unique_id=813082434 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.587206, 4.7683716e-07, -7.187894)
transform = Transform3D(0.8267325, 0.07238789, -0.55791897, -0.0872253, 0.9961887, 0, 0.55579245, 0.04866464, 0.8298955, 33.228542, 4.7683716e-07, 1.3326706)
[node name="Bambù20" parent="Bambu" index="14" unique_id=1937372784 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.587206, 4.7683716e-07, -6.3449283)
transform = Transform3D(0.8298955, 0.0075171394, -0.55786824, 0, 0.9999092, 0.013473534, 0.5579189, -0.011181626, 0.82982016, 32.758236, 4.7683716e-07, 2.032244)
[node name="Bambù4" parent="Bambu" index="15" unique_id=1386368965 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.88067085, -0.10227825, -0.46255592, 0.10135726, 0.9944858, -0.026919719, 0.46275857, -0.023175985, 0.88618135, 3.0080128, -0.42294633, 7.91705)
[node name="Bambù26" parent="Bambu" index="15" unique_id=349218106 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.38035512, 0.023314431, -0.92454666, -0.04608519, 0.9979625, 0.044125054, 0.92369163, 0.059391078, -0.3785057, 32.386986, -0.57449174, -2.0847476)
[node name="Bambù13" parent="Bambu" index="16" unique_id=1407501850 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99579215, 0.09164066, 0, -0.09164066, 0.99579215, 0, 0, 0, 1, 2.3076468, 0, 6.7598033)
[node name="Bambù27" parent="Bambu" index="16" unique_id=1163919215 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.38035512, 0.023314431, -0.92454666, -0.04608519, 0.9979625, 0.044125054, 0.92369163, 0.059391078, -0.3785057, 34.160927, -0.4043932, -1.2229347)
[node name="Bambù14" parent="Bambu" index="17" unique_id=5004605 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99390334, 0.110254735, 0, -0.110254735, 0.99390334, 0, 0, 0, 1, 2.3076468, 0.32301903, 7.62884)
[node name="Bambù28" parent="Bambu" index="17" unique_id=1930522805 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.37743062, -0.033047438, -0.925448, -0.0872253, 0.9961887, 3.6744758e-09, 0.92192084, 0.080722496, -0.37887475, 33.35668, 4.7683716e-07, -1.5521908)
[node name="Bambù15" parent="Bambu" index="18" unique_id=1800029865 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99243087, -0.122804746, 0, 0.122804746, 0.99243087, 0, 0, 0, 1, 2.3076468, 0, 8.471806)
[node name="Bambù29" parent="Bambu" index="18" unique_id=1816776826 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.37887472, 0.0124690635, -0.92536396, 3.907812e-09, 0.9999092, 0.013473541, 0.92544794, 0.005104781, -0.37884033, 32.576553, 4.7683716e-07, -1.8715684)
[node name="Bambù16" parent="Bambu" index="19" unique_id=1386615944 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9034512, -0.06505524, -0.42372638, 0.015782122, 0.99279577, -0.118775204, 0.4284007, 0.10062031, 0.8979694, 2.2757616, -0.3681563, 8.997369)
[node name="Bambù30" parent="Bambu" index="19" unique_id=369526031 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.06427674, 0.0470429, -0.9968227, -0.04608519, 0.9979625, 0.044125054, 0.99686736, 0.043102525, 0.06631376, 32.150078, -0.96456075, -0.37262297)
[node name="Bambù21" parent="Bambu" index="20" unique_id=1848700160 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.4627586, 0.02317599, -0.88618135, 0.10135725, 0.99448574, -0.026919715, 0.8806708, -0.10227824, -0.4625559, 3.2320342, -0.42294633, 9.680028)
[node name="Bambù31" parent="Bambu" index="20" unique_id=236764454 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.06427674, 0.0470429, -0.9968227, -0.04608519, 0.9979625, 0.044125054, 0.99686736, 0.043102525, 0.06631376, 34.12228, -0.7944622, -0.37808502)
[node name="Bambù22" parent="Bambu" index="21" unique_id=1025064897 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-4.3527457e-08, -4.0057406e-09, -1, -0.09164066, 0.99579215, 0, 0.99579215, 0.09164066, -4.371139e-08, 4.389281, 0, 9.4773655)
[node name="Bambù32" parent="Bambu" index="21" unique_id=882786947 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.06612552, 0.005789906, -0.9977946, -0.0872253, 0.99618876, 4.10384e-09, 0.99399155, 0.087032914, 0.0663784, 33.255157, -0.39006853, -0.3204008)
[node name="Bambù23" parent="Bambu" index="22" unique_id=1624498031 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-4.3444896e-08, -4.8193876e-09, -1, -0.110254735, 0.99390334, 0, 0.99390334, 0.110254735, -4.371139e-08, 3.5202441, 0.32301903, 9.4773655)
[node name="Bambù33" parent="Bambu" index="22" unique_id=295538370 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.066378415, 0.013443827, -0.997704, 4.1339825e-09, 0.99990916, 0.013473541, 0.99779457, -0.0008943558, 0.06637236, 32.414047, -0.39006853, -0.2644422)
[node name="Bambù24" parent="Bambu" index="23" unique_id=1316389609 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-4.338053e-08, 5.367966e-09, -1, 0.122804746, 0.99243087, 0, 0.99243087, -0.122804746, -4.371139e-08, 2.6772785, 0, 9.4773655)
[node name="Bambù34" parent="Bambu" index="23" unique_id=417660963 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.6168501, 0.063174285, -0.78454125, -0.046085197, 0.9979626, 0.044125054, 0.78573036, 0.008937184, 0.61850476, 29.542953, -0.96456075, -0.48354188)
[node name="Bambù25" parent="Bambu" index="24" unique_id=1726487928 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.42840073, -0.10062032, -0.8979694, 0.015782116, 0.9927959, -0.11877522, 0.90345126, -0.06505525, -0.4237265, 2.1517153, -0.3681563, 9.44548)
[node name="Bambù35" parent="Bambu" index="24" unique_id=1498923409 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.6168501, 0.063174285, -0.78454125, -0.046085197, 0.9979626, 0.044125054, 0.78573036, 0.008937184, 0.61850476, 31.16628, -0.7944622, -1.6035532)
[node name="Bambu2" type="Node3D" parent="Bambu" index="25" unique_id=2079270720]
[node name="Bambù36" parent="Bambu" index="25" unique_id=892938834 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.61674803, 0.054001864, -0.78530616, -0.087225296, 0.99618864, 4.0259702e-09, 0.7823129, 0.06849853, 0.61910766, 30.483818, -0.39006853, -1.0655253)
[node name="Bambù37" parent="Bambu" index="26" unique_id=58430446 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.6191077, 0.010580853, -0.7852349, 4.2538817e-09, 0.99990916, 0.01347354, 0.78530616, -0.008341576, 0.6190515, 29.82183, -0.39006853, -0.5436335)
[node name="Bambù38" parent="Bambu" index="27" unique_id=1526399036 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.6168501, 0.063174285, -0.78454125, -0.046085197, 0.9979626, 0.044125054, 0.78573036, 0.008937184, 0.61850476, 27.111229, -0.96456075, 1.0993724)
[node name="Bambù39" parent="Bambu" index="28" unique_id=118201189 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.6168501, 0.063174285, -0.78454125, -0.046085197, 0.9979626, 0.044125054, 0.78573036, 0.008937184, 0.61850476, 28.734558, -0.7944622, -0.020638943)
[node name="Bambù40" parent="Bambu" index="29" unique_id=1767844112 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.61674803, 0.054001864, -0.78530616, -0.087225296, 0.99618864, 4.0259702e-09, 0.7823129, 0.06849853, 0.61910766, 28.052094, -0.39006853, 0.51738894)
[node name="Bambù41" parent="Bambu" index="30" unique_id=618179609 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.6191077, 0.010580853, -0.7852349, 4.2538817e-09, 0.99990916, 0.01347354, 0.78530616, -0.008341576, 0.6190515, 27.390106, -0.39006853, 1.0392807)
[node name="Bambù42" parent="Bambu" index="31" unique_id=892396989 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.74203146, 0.06377233, -0.66732484, -0.046085197, 0.9979627, 0.04412505, 0.6687793, -0.001988382, 0.7434587, 29.651615, -0.96456075, 0.8472856)
[node name="Bambù43" parent="Bambu" index="32" unique_id=114194737 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.74203146, 0.06377233, -0.66732484, -0.046085197, 0.9979627, 0.04412505, 0.6687793, -0.001988382, 0.7434587, 31.059706, -0.7944622, -0.5336226)
[node name="Bambù44" parent="Bambu" index="33" unique_id=371622751 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.74134696, 0.06491162, -0.66797554, -0.087225296, 0.99618864, 8.0519404e-09, 0.6654295, 0.058264326, 0.74418336, 30.479206, -0.39006853, 0.11310145)
[node name="Bambù45" parent="Bambu" index="34" unique_id=1388199069 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.7441834, 0.008999994, -0.6679149, 4.8304707e-09, 0.99990916, 0.013473539, 0.6679754, -0.010026785, 0.7441157, 29.916124, -0.39006853, 0.7404278)
[node name="Bambù46" parent="Bambu" index="35" unique_id=1715224342 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.74203146, 0.06377233, -0.66732484, -0.046085197, 0.9979627, 0.04412505, 0.6687793, -0.001988382, 0.7434587, 29.674557, -0.96456075, 1.9484438)
[node name="Bambù47" parent="Bambu" index="36" unique_id=2031107096 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.74203146, 0.06377233, -0.66732484, -0.046085197, 0.9979627, 0.04412505, 0.6687793, -0.001988382, 0.7434587, 31.082645, -0.7944622, 0.5675355)
[node name="Bambù48" parent="Bambu" index="37" unique_id=340974736 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.74134696, 0.06491162, -0.66797554, -0.087225296, 0.99618864, 8.0519404e-09, 0.6654295, 0.058264326, 0.74418336, 30.502148, -0.39006853, 1.2142596)
[node name="Bambù49" parent="Bambu" index="38" unique_id=1683471424 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.7441834, 0.008999994, -0.6679149, 4.8304707e-09, 0.99990916, 0.013473539, 0.6679754, -0.010026785, 0.7441157, 29.939064, -0.39006853, 1.8415859)
[node name="Bambù50" parent="Bambu" index="39" unique_id=1028534067 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.5326235, 0.061917473, -0.8440844, -0.046085197, 0.9979627, 0.04412505, 0.84509677, 0.0153977405, 0.53439206, 30.969563, -1.5062501, 1.5743859)
[node name="Bambù51" parent="Bambu" index="40" unique_id=817337516 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.5326235, 0.061917473, -0.8440844, -0.046085197, 0.9979627, 0.04412505, 0.84509677, 0.0153977405, 0.53439206, 32.69964, -1.3361516, 0.627566)
[node name="Bambù52" parent="Bambu" index="41" unique_id=1747187617 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.5328741, 0.04665795, -0.84490734, -0.0872253, 0.99618864, 1.0559284e-08, 0.8416869, 0.07369726, 0.5349128, 31.965378, -0.9317579, 1.0924256)
[node name="Bambù53" parent="Bambu" index="42" unique_id=198893737 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.5349129, 0.011383893, -0.8448307, 5.4525713e-09, 0.99990916, 0.01347354, 0.84490734, -0.0072071687, 0.5348642, 31.253147, -0.9317579, 1.543343)
[node name="Bambù4" parent="Bambu" index="43" unique_id=1386368965 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.039574802, 0.031068113, 0.9987334, 0.10135724, 0.99448556, -0.026919706, -0.9940625, 0.10016355, -0.042505622, 24.45057, -0.42294633, -3.4806232)
[node name="Bambù13" parent="Bambu" index="44" unique_id=1407501850 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.4978962, -0.045820348, 0.8660254, -0.09164067, 0.99579227, 3.7275267e-09, -0.86238134, -0.079363145, -0.50000006, 23.798546, 0, -2.2954702)
[node name="Bambù14" parent="Bambu" index="45" unique_id=5004605 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.4969517, -0.055127367, 0.8660253, -0.110254735, 0.99390334, 1.799177e-09, -0.86074543, -0.09548339, -0.5, 24.551155, 0.32301903, -2.729988)
[node name="Bambù15" parent="Bambu" index="46" unique_id=1800029865 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.49621543, 0.06140237, 0.8660253, 0.12280476, 0.992431, 3.598354e-09, -0.85947025, 0.10635203, -0.5, 25.281185, 0, -3.1514714)
[node name="Bambù16" parent="Bambu" index="47" unique_id=1386615944 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.08071965, 0.11966735, 0.98952746, 0.01578211, 0.99279577, -0.118775204, -0.99661183, 0.006029304, -0.08202702, 25.752277, -0.3681563, -3.3866372)
[node name="Bambù21" parent="Bambu" index="48" unique_id=1848700160 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9940626, -0.10016355, 0.042505592, 0.10135724, 0.9944857, -0.026919719, -0.039574683, 0.031068143, 0.9987335, 25.865341, -0.42294633, -4.556123)
[node name="Bambù22" parent="Bambu" index="49" unique_id=1025064897 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.86238134, 0.07936314, 0.49999997, -0.09164066, 0.99579215, 5.293956e-23, -0.49789608, -0.04582033, 0.8660253, 25.111206, 0, -5.456999)
[node name="Bambù23" parent="Bambu" index="50" unique_id=1624498031 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.8607455, 0.09548339, 0.49999997, -0.110254735, 0.99390334, 1.799177e-09, -0.49695164, -0.055127364, 0.8660253, 25.545727, 0.32301903, -4.7043896)
[node name="Bambù24" parent="Bambu" index="51" unique_id=1316389609 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.85947037, -0.10635203, 0.5, 0.12280476, 0.992431, 0, -0.49621546, 0.061402377, 0.86602545, 25.967209, 0, -3.9743576)
[node name="Bambù25" parent="Bambu" index="52" unique_id=1726487928 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9966121, -0.0060293265, 0.08202687, 0.01578212, 0.992796, -0.11877522, -0.08071974, 0.11966735, 0.9895276, 26.202377, -0.3681563, -3.5032666)
[node name="Bambu2" type="Node3D" parent="Bambu" index="53" unique_id=2079270720]
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -13.827694, 0, 0)
[node name="Bambù" parent="Bambu/Bambu2" index="0" unique_id=2129280296 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, -4.9984035, 0, -4.9083085)
[node name="Bambù4" parent="Bambu/Bambu2" index="0" unique_id=665448262 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.92608213, 0.104202114, 0.36264798, 0.10135725, 0.99448574, -0.026919711, -0.3634533, 0.011827114, -0.9315373, -49.38831, -0.42294633, -6.6872373)
[node name="Bambù2" parent="Bambu/Bambu2" index="1" unique_id=683815131 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, -4.9984035, -0.2565055, -4.039272)
[node name="Bambù13" parent="Bambu/Bambu2" index="1" unique_id=1235466370 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.98979366, -0.0910886, -0.10959567, -0.09164065, 0.99579215, 9.606655e-10, 0.109134555, 0.010043419, -0.9939763, -48.56533, 0, -5.6137195)
[node name="Bambù3" parent="Bambu/Bambu2" index="2" unique_id=296049413 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, -4.9984035, 0, -3.1963067)
[node name="Bambù14" parent="Bambu/Bambu2" index="2" unique_id=341781859 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.98791623, -0.109590575, -0.10959573, -0.110254735, 0.9939033, 7.6554474e-10, 0.10892743, 0.012083463, -0.9939761, -48.660576, 0.32301903, -6.477519)
[node name="Bambù5" parent="Bambu/Bambu2" index="3" unique_id=991574882 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, -4.9984026, -0.57449174, -7.5945034)
[node name="Bambù15" parent="Bambu/Bambu2" index="3" unique_id=1436006711 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.9864525, 0.122064985, -0.10959564, 0.12280473, 0.9924308, -7.959143e-09, 0.10876608, -0.013458864, -0.99397606, -48.75296, 0, -7.315411)
[node name="Bambù6" parent="Bambu/Bambu2" index="4" unique_id=1201398111 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, -4.9984026, -0.3562231, -6.7254667)
[node name="Bambù16" parent="Bambu/Bambu2" index="4" unique_id=881741022 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.9449601, 0.05363581, 0.32276043, 0.015782112, 0.992796, -0.11877522, -0.32680586, -0.10714394, -0.9389988, -48.778866, -0.3681563, -7.8412986)
[node name="Bambù7" parent="Bambu/Bambu2" index="5" unique_id=2045374201 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, -4.9984026, 0, -5.882501)
[node name="Bambù21" parent="Bambu/Bambu2" index="5" unique_id=2079969860 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.36345336, -0.011827111, 0.9315373, 0.10135724, 0.9944856, -0.026919711, -0.9260821, 0.104202144, 0.36264792, -49.8042, -0.42294633, -8.415042)
[node name="Bambù8" parent="Bambu/Bambu2" index="6" unique_id=741333340 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, -4.6774607, 4.7683716e-07, -6.5606203)
[node name="Bambù22" parent="Bambu/Bambu2" index="6" unique_id=579249021 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.109134525, -0.010043428, 0.9939762, -0.09164067, 0.9957924, -2.761918e-09, -0.9897937, -0.091088615, -0.10959557, -50.932262, 0, -8.086774)
[node name="Bambù9" parent="Bambu/Bambu2" index="7" unique_id=670640034 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, -4.6774607, 4.7683716e-07, -5.6915836)
[node name="Bambù23" parent="Bambu/Bambu2" index="7" unique_id=669024496 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.10892746, -0.01208346, 0.99397624, -0.11025473, 0.9939033, 0, -0.9879163, -0.10959056, -0.10959558, -50.068462, 0.32301903, -8.182014)
[node name="Bambù10" parent="Bambu/Bambu2" index="8" unique_id=1414412448 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, -4.6774616, -0.2763033, -4.848618)
[node name="Bambù24" parent="Bambu/Bambu2" index="8" unique_id=887710118 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.10876614, 0.013458862, 0.9939763, 0.12280475, 0.992431, -4.488135e-09, -0.98645276, 0.122065, -0.10959564, -49.23057, 0, -8.274399)
[node name="Bambù11" parent="Bambu/Bambu2" index="9" unique_id=565794432 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, -4.6774607, 4.7683716e-07, -5.5606203)
[node name="Bambù25" parent="Bambu/Bambu2" index="9" unique_id=529767329 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.32680577, 0.10714399, 0.93899894, 0.015782114, 0.9927962, -0.11877524, -0.94495994, 0.053635824, 0.32276052, -48.704678, -0.3681563, -8.300307)
[node name="Bambù12" parent="Bambu/Bambu2" index="10" unique_id=1516583686 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, -4.6774616, 0.26429868, -4.6915836)
[node name="Bambù5" parent="Bambu/Bambu2" index="10" unique_id=450545721 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.993163, -0.102723494, -0.055452745, 0.10135723, 0.9944857, -0.026919713, 0.057912286, 0.021115145, 0.9980985, -49.82535, -0.42294633, 4.2134247)
[node name="Bambù17" parent="Bambu/Bambu2" index="11" unique_id=2001473423 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, -4.6774616, 4.7683716e-07, -3.848618)
[node name="Bambù17" parent="Bambu/Bambu2" index="11" unique_id=1251161167 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9069736, 0.08346685, 0.4128343, -0.09164064, 0.99579215, 1.0424422e-08, -0.41109714, -0.0378324, 0.91080624, -50.941, 0, 3.4485338)
[node name="Bambù18" parent="Bambu/Bambu2" index="12" unique_id=1420718399 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, -4.872945, -0.4043932, -9.562711)
[node name="Bambù18" parent="Bambu/Bambu2" index="12" unique_id=420587784 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9052531, 0.10042067, 0.41283426, -0.11025474, 0.9939033, -3.034424e-09, -0.41031727, -0.045516957, 0.91080594, -50.582233, 0.32301903, 4.2400546)
[node name="Bambù19" parent="Bambu/Bambu2" index="13" unique_id=1533126869 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, -4.872945, 4.7683716e-07, -8.693674)
[node name="Bambù19" parent="Bambu/Bambu2" index="13" unique_id=1731991002 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9039121, -0.11185133, 0.4128343, 0.12280477, 0.99243104, -1.6125247e-08, -0.40970942, 0.050698005, 0.9108062, -50.234226, 0, 5.007838)
[node name="Bambù20" parent="Bambu/Bambu2" index="14" unique_id=1544763258 instance=ExtResource("8_nbeq3")]
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, -4.872945, 4.7683716e-07, -7.850709)
[node name="Bambù20" parent="Bambu/Bambu2" index="14" unique_id=1058320789 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9997275, -0.017713211, -0.015220058, 0.015782118, 0.9927961, -0.11877524, 0.01721437, 0.11850265, 0.99280494, -50.046303, -0.3681563, 5.499684)
[node name="Bambù4" parent="Bambu/Bambu2" index="15" unique_id=665448262 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.11138129, 0.015545364, 0.99365616, 0.10135725, 0.99448574, -0.026919715, -0.9885953, 0.10371261, 0.10919154, -5.8229303, -0.42294633, 8.319021)
[node name="Bambù26" parent="Bambu/Bambu2" index="15" unique_id=1430759694 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.05791236, -0.021115154, -0.9980983, 0.10135723, 0.9944855, -0.02691971, 0.9931629, -0.10272352, -0.055452745, -48.893494, -0.42294633, 5.726669)
[node name="Bambù13" parent="Bambu/Bambu2" index="16" unique_id=1235466370 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.36159322, -0.033276662, 0.93174195, -0.09164066, 0.99579215, 3.226196e-09, -0.92782134, -0.08538545, -0.36312118, -6.646868, 0, 9.391801)
[node name="Bambù27" parent="Bambu/Bambu2" index="16" unique_id=1968307990 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.4110971, 0.0378324, -0.9108061, -0.09164066, 0.9957923, -4.885261e-09, 0.9069736, 0.083466835, 0.41283414, -47.92313, 0, 5.0643363)
[node name="Bambù14" parent="Bambu/Bambu2" index="17" unique_id=341781859 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.36090735, -0.040035836, 0.93174195, -0.110254735, 0.99390334, 0, -0.92606145, -0.102728955, -0.36312118, -5.8371496, 0.32301903, 9.076235)
[node name="Bambù28" parent="Bambu/Bambu2" index="17" unique_id=727382439 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.41031733, 0.045516957, -0.9108062, -0.11025476, 0.99390346, 5.7266636e-11, 0.90525335, 0.100420676, 0.41283423, -48.714657, 0.32301903, 5.4231005)
[node name="Bambù15" parent="Bambu/Bambu2" index="18" unique_id=1436006711 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.36037263, 0.044593003, 0.93174195, 0.12280475, 0.992431, -3.7252907e-09, -0.9246895, 0.11442235, -0.36312118, -5.0517225, 0, 8.770136)
[node name="Bambù29" parent="Bambu/Bambu2" index="18" unique_id=1303730544 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.40970948, -0.050697993, -0.9108061, 0.12280474, 0.99243087, -8.256929e-09, 0.9039121, -0.11185131, 0.41283426, -49.482437, 0, 5.771106)
[node name="Bambù16" parent="Bambu/Bambu2" index="19" unique_id=881741022 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.07109662, 0.11737506, 0.99053967, 0.015782116, 0.9927959, -0.11877521, -0.997345, 0.02407733, 0.068731904, -4.550457, -0.3681563, 8.609001)
[node name="Bambù21" parent="Bambu/Bambu2" index="20" unique_id=2079969860 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9885953, -0.103712626, -0.10919148, 0.101357244, 0.9944857, -0.026919713, 0.11138135, 0.015545372, 0.99365616, -4.2616377, -0.42294633, 7.470112)
[node name="Bambù22" parent="Bambu/Bambu2" index="21" unique_id=579249021 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9278213, 0.08538545, 0.36312112, -0.09164067, 0.99579227, -4.990932e-10, -0.36159322, -0.033276662, 0.9317419, -4.8706865, 0, 6.465448)
[node name="Bambù23" parent="Bambu/Bambu2" index="22" unique_id=669024496 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.92606145, 0.10272895, 0.36312112, -0.110254735, 0.99390334, 0, -0.3609073, -0.040035825, 0.93174195, -4.5551214, 0.32301903, 7.2751656)
[node name="Bambù24" parent="Bambu/Bambu2" index="23" unique_id=887710118 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9246895, -0.11442233, 0.36312112, 0.12280475, 0.992431, -3.72529e-09, -0.36037263, 0.044592995, 0.93174195, -4.2490225, 0, 8.060595)
[node name="Bambù25" parent="Bambu/Bambu2" index="24" unique_id=529767329 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.9973448, -0.024077326, -0.068732, 0.015782112, 0.99279594, -0.11877522, 0.07109657, 0.11737511, 0.9905398, -4.087888, -0.3681563, 8.561861)
[node name="Bambù30" parent="Bambu/Bambu2" index="19" unique_id=1602654435 instance=ExtResource("8_nbeq3")]
transform = Transform3D(-0.017214386, -0.11850264, -0.99280494, 0.01578212, 0.9927963, -0.118775256, 0.99972737, -0.017713217, -0.015220177, -49.974285, -0.3681563, 5.9590387)

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

File diff suppressed because one or more lines are too long

View File

@@ -41,7 +41,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 0, 80)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0, -220)
[node name="Chunk_Rettilineo_12" parent="." unique_id=353270627 instance=ExtResource("2_e76ix")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0, -260)
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -380, 0, -320)
[node name="Chunk_Rettilineo_2" parent="." unique_id=1793918166 instance=ExtResource("2_e76ix")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -40, 0, 0)
@@ -161,7 +161,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -460, 0, -220)
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -260, 0, -180)
[node name="Chunk_Rettilineo_F3" parent="." unique_id=1719977594 instance=ExtResource("3_wf82y")]
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -280, 0, -240)
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, -360, 0, -320)
[node name="Chunk_Rettilineo_Ponte" parent="." unique_id=1180892866 instance=ExtResource("4_l8ggx")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -320, 0, 140)
@@ -182,7 +182,7 @@ transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -60,
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -180, 0, 140)
[node name="Blockout_Stazione3Hero" parent="." unique_id=149959015 instance=ExtResource("7_8nm7p")]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -360, 0, -320)
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -280, 0, -240)
[node name="Blockout_Stazione3Hero2" parent="." unique_id=1050909298 instance=ExtResource("7_8nm7p")]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -560, 0, -80)