chunk zen garden

This commit is contained in:
Matteo Sonaglioni
2026-05-07 19:14:21 +02:00
parent 36ce503aca
commit 1d03bb0156
16 changed files with 1069 additions and 25 deletions

View File

@@ -43,6 +43,8 @@
[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"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wjpfq"]
fractal_lacunarity = 1.915
@@ -122,7 +124,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"), ExtResource("29_d1gyr")])
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")])
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

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://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

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