3 Commits

Author SHA1 Message Date
2aa7d1f7d4 fix snow 2026-05-10 11:01:22 +02:00
040ded5f0b fix rain 2026-05-09 14:57:07 +02:00
ddec91d515 update cloud density when is rainy or snowy 2026-05-06 23:14:51 +02:00
61 changed files with 572 additions and 4182 deletions

View File

@@ -3,7 +3,6 @@ extends Node3D
const NOISE_TEXTURE: Texture2D = preload("res://core/daynight/noise.tres")
const WEATHER_SHADER: Material = preload("res://core/daynight/weather_overlay.tres")
const WEATHER_PLAIN_SHADER: Material = preload("res://core/daynight/weather_plain_shader.tres")
const DYNAMIC_ENVIRONMENT_UPDATES_PER_FRAME: int = 2 #how many update of the environment (apply materials) will be done per frame
@export var environment_config: EnvironmentConfig
@@ -134,7 +133,7 @@ func _apply_dynamic_environment_materials(node: Node) -> void:
_apply_weather_overlay_to_node(node, WEATHER_SHADER)
if node.is_in_group("weather_vegetables_node"):
_apply_weather_overlay_to_node(node, WEATHER_PLAIN_SHADER)
_clear_weather_overlay_from_node(node)
func ApplyWindNoiseToMaterials():
for node in get_tree().get_nodes_in_group("wind_node"):
@@ -160,15 +159,54 @@ func ApplyWeatherShaderToMaterials():
_apply_weather_overlay_to_node(node, WEATHER_SHADER)
for node in get_tree().get_nodes_in_group("weather_vegetables_node"):
_apply_weather_overlay_to_node(node, WEATHER_PLAIN_SHADER)
_clear_weather_overlay_from_node(node)
func _apply_weather_overlay_to_node(node: Node, material: Material) -> void:
if node.is_in_group("weather_vegetables_node"):
_clear_weather_overlay_from_node(node)
return
if node is GeometryInstance3D:
node.material_overlay = material
if _geometry_uses_alpha_texture(node):
node.material_overlay = null
else:
node.material_overlay = material
for child in node.get_children():
_apply_weather_overlay_to_node(child, material)
func _clear_weather_overlay_from_node(node: Node) -> void:
if node is GeometryInstance3D:
node.material_overlay = null
for child in node.get_children():
_clear_weather_overlay_from_node(child)
func _geometry_uses_alpha_texture(node: GeometryInstance3D) -> bool:
var material_override := node.material_override as ShaderMaterial
if _shader_material_uses_alpha_texture(material_override):
return true
if node is MeshInstance3D:
for surface_index in node.get_surface_override_material_count():
var surface_material := node.get_surface_override_material(surface_index) as ShaderMaterial
if _shader_material_uses_alpha_texture(surface_material):
return true
if node.mesh:
for surface_index in node.mesh.get_surface_count():
var mesh_material := node.mesh.surface_get_material(surface_index) as ShaderMaterial
if _shader_material_uses_alpha_texture(mesh_material):
return true
return false
func _shader_material_uses_alpha_texture(material: ShaderMaterial) -> bool:
if material == null or material.shader == null:
return false
return material.shader.code.find("alpha_texture") != -1
func select_day_time(normalized_time: float) -> void:
#set show_day_time_debug = true to show debug on screen
#normalized_time is a value between 0 and 1; the time of the day is calculate as "normalized_time" * 1440; day_time is the step to pass from sunrise, to day, to sunset, to night

View File

@@ -67,7 +67,6 @@ void fragment() {
float is_center = step(center_sharpness, internal_n);
ALBEDO = shadow_color;
ALPHA = mix(opacity_edge, opacity_center, is_center) * final_fade;
}
}

View File

@@ -8,10 +8,12 @@ global uniform float global_wind_speed;
global uniform float global_wind_strength;
global uniform vec2 global_wind_direction;
//global uniform sampler2D global_wind_noise : filter_linear_mipmap;
global uniform float global_snow_start_time;
global uniform float global_snow_accumulation_speed;
global uniform float global_snow_melt_time;
global uniform float global_snow_melt_speed;
global uniform float global_snow_start_time = -1.0;
global uniform float global_snow_accumulation_speed = 0.005;
global uniform float global_snow_melt_time = -1.0;
global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_amount = 0.0;
global uniform float global_rain_intensity;
// --- PARAMETRI ESTETICI ---
uniform bool billboard_enabled = true;
@@ -31,6 +33,7 @@ uniform vec4 variance_color : source_color = vec4(0.3, 0.5, 0.2, 1.0); // Colore
uniform float variance_intensity : hint_range(0.0, 1.0) = 0.4; // Quanto si vedono le chiazze
uniform vec4 snow_color : source_color = vec4(0.85, 0.9, 0.95, 1.0);
uniform float snow_visibility : hint_range(0.0, 1.0) = 1.0;
// --- CONTROLLO GRADIENTE E RANDOM ---
uniform float height_min = 0.0;
@@ -41,6 +44,7 @@ uniform float light_steps : hint_range(1.0, 10.0) = 4.0;
uniform float random_mix : hint_range(0.0, 1.0) = 0.3;
uniform float cast_shadow_strength : hint_range(0.0, 1.0) = 0.6;
uniform float wetness_darkening : hint_range(0.0, 0.5) = 0.25;
varying vec3 v_final_color;
varying float v_shade_factor;
@@ -52,6 +56,21 @@ float hash(vec3 p) {
return fract((p.x + p.y) * p.z);
}
float get_snow_progress() {
float snow_progress = clamp(global_snow_amount, 0.0, 1.0);
if (global_snow_start_time >= 0.0) {
float timed_progress = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
snow_progress = max(snow_progress, timed_progress);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_progress = min(snow_progress, 1.0 - melt);
}
return snow_progress;
}
void vertex() {
vec3 instance_pos = MODEL_MATRIX[3].xyz;
v_world_pos = instance_pos; // Salviamo la posizione dell'istanza
@@ -113,17 +132,10 @@ void fragment() {
// Applichiamo la variazione al colore finale dell'erba
vec3 varied_grass_color = mix(v_final_color, variance_color.rgb, noise_sample * variance_intensity);
float snow_amount = 0.0;
if (global_snow_start_time >= 0.0) {
snow_amount = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_amount *= (1.0 - melt);
}
float snow_amount = smoothstep(0.0, 1.0, get_snow_progress());
float top_mask = 1.0 - shifted_uv.y;
float snow_mask = smoothstep(1.0 - snow_amount, 1.2 - snow_amount, top_mask);
float snow_mask = smoothstep(0.65, 1.0, top_mask) * snow_amount * snow_visibility;
snow_mask *= step(0.01, snow_amount);
vec3 dark_snow = snow_color.rgb * (1.0 - shadow_intensity);
@@ -131,12 +143,15 @@ void fragment() {
// Mescoliamo il colore variato con la neve
vec3 final_albedo = mix(varied_grass_color, shaded_snow, snow_mask);
float rain_int = clamp(global_rain_intensity, 0.0, 1.0);
final_albedo *= mix(1.0, 1.0 - wetness_darkening, rain_int);
float final_roughness = mix(0.02, 0.005, rain_int);
ALBEDO = final_albedo;
ALPHA = tex.r * opacity;
ALPHA_SCISSOR_THRESHOLD = 0.5;
ROUGHNESS = 0.02;
ROUGHNESS = final_roughness;
}
void light() {

View File

@@ -2,9 +2,10 @@ shader_type spatial;
render_mode blend_mix, cull_back, depth_draw_opaque;
global uniform float global_snow_start_time = -1.0;
global uniform float global_snow_accumulation_speed = 0.1;
global uniform float global_snow_accumulation_speed = 0.005;
global uniform float global_snow_melt_time = -1.0;
global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_amount = 0.0;
global uniform vec4 global_snow_color = vec4(0.92, 0.96, 1.0, 1.0);
uniform float max_height : hint_range(0.02, 1.0) = 0.2;
@@ -51,17 +52,18 @@ float fbm(vec2 p) {
}
float get_snow_amount() {
float snow_amount = 0.0;
float snow_amount = clamp(global_snow_amount, 0.0, 1.0);
if (global_snow_start_time >= 0.0) {
snow_amount = clamp(
float timed_amount = clamp(
(TIME - global_snow_start_time) * global_snow_accumulation_speed,
0.0,
1.0
);
snow_amount = max(snow_amount, timed_amount);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_amount *= (1.0 - melt);
snow_amount = min(snow_amount, 1.0 - melt);
}
return snow_amount;
}

View File

@@ -6,12 +6,12 @@ global uniform vec2 global_wind_direction;
global uniform float global_wind_scale;
global uniform float global_wind_strength;
global uniform float global_wind_fade;
/*
global uniform float global_snow_start_time;
global uniform float global_snow_accumulation_speed;
global uniform float global_snow_melt_time;
global uniform float global_snow_melt_speed;
global uniform vec4 global_snow_color;*/
global uniform float global_snow_start_time = -1.0;
global uniform float global_snow_accumulation_speed = 0.005;
global uniform float global_snow_melt_time = -1.0;
global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_amount = 0.0;
global uniform vec4 global_snow_color;
global uniform float global_rain_intensity;
uniform sampler2D wind_noise : filter_linear_mipmap;
@@ -31,6 +31,7 @@ uniform float light_steps : hint_range(1.0, 10.0) = 4.0;
uniform float random_mix : hint_range(0.0, 1.0) = 0.3;
uniform float cast_shadow_strength : hint_range(0.0, 1.0) = 0.6;
uniform float wetness_darkening : hint_range(0.0, 0.5) = 0.25;
uniform float snow_visibility : hint_range(0.0, 1.0) = 1.0;
varying vec3 v_final_color;
varying float v_shade_factor;
@@ -41,6 +42,21 @@ float hash(vec3 p) {
return fract((p.x + p.y) * p.z);
}
float get_snow_progress() {
float snow_progress = clamp(global_snow_amount, 0.0, 1.0);
if (global_snow_start_time >= 0.0) {
float timed_progress = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
snow_progress = max(snow_progress, timed_progress);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_progress = min(snow_progress, 1.0 - melt);
}
return snow_progress;
}
void vertex() {
vec3 instance_pos = MODEL_MATRIX[3].xyz;
@@ -88,24 +104,16 @@ void fragment() {
vec2 shifted_uv = UV + texture_offset;
vec4 tex = texture(alpha_texture, shifted_uv);
//// Snow accumulation
//float snow_amount = 0.0;
//if (global_snow_start_time >= 0.0) {
//snow_amount = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
//}
//if (global_snow_melt_time >= 0.0) {
//float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
//snow_amount *= (1.0 - melt);
//}
//
//float top_mask = 1.0 - shifted_uv.y;
//float snow_mask = smoothstep(1.0 - snow_amount, 1.2 - snow_amount, top_mask);
//snow_mask *= step(0.01, snow_amount);
// Snow accumulation
float snow_amount = pow(get_snow_progress(), 0.55);
//vec3 dark_snow = global_snow_color.rgb * (1.0 - shadow_intensity);
//vec3 shaded_snow = mix(dark_snow, global_snow_color.rgb, v_shade_factor);
//vec3 final_albedo = mix(v_final_color, shaded_snow, snow_mask);
vec3 final_albedo = v_final_color;
float top_mask = 1.0 - shifted_uv.y;
float snow_mask = smoothstep(1.0 - snow_amount * 1.35, 1.08 - snow_amount * 1.35, top_mask) * snow_visibility;
snow_mask *= step(0.01, snow_amount);
vec3 dark_snow = global_snow_color.rgb * (1.0 - shadow_intensity);
vec3 shaded_snow = mix(dark_snow, global_snow_color.rgb, v_shade_factor);
vec3 final_albedo = mix(v_final_color, shaded_snow, snow_mask);
// Rain wetness: darken and make shinier
float rain_int = clamp(global_rain_intensity, 0.0, 1.0);

View File

@@ -3,6 +3,12 @@ render_mode blend_mix, depth_draw_always;
global uniform float global_rain_intensity;
global uniform vec4 global_water_color = vec4(0.285, 0.534, 0.487, 1.0);
global uniform float global_snow_start_time = -1.0;
global uniform float global_snow_accumulation_speed = 0.005;
global uniform float global_snow_melt_time = -1.0;
global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_amount = 0.0;
global uniform vec4 global_snow_color = vec4(0.92, 0.96, 1.0, 1.0);
//Water color
uniform vec4 deep_water_color : source_color = vec4(0.0, 0.1, 0.2, 1.0);
@@ -29,6 +35,21 @@ uniform sampler2D depth_texture : hint_depth_texture, filter_linear_mipmap;
varying vec2 world_pos_xz;
varying vec2 local_uv;
float get_snow_progress() {
float snow_progress = clamp(global_snow_amount, 0.0, 1.0);
if (global_snow_start_time >= 0.0) {
float timed_progress = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
snow_progress = max(snow_progress, timed_progress);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_progress = min(snow_progress, 1.0 - melt);
}
return snow_progress;
}
void vertex() {
world_pos_xz = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xz;
local_uv = UV;
@@ -82,8 +103,15 @@ void fragment() {
float is_sky = step(ref_depth_raw, 0.00001); // Protezione anti-cielo
reflection_mask *= (1.0 - is_sky);
vec3 final_rgb = mix(base_water.rgb, screen_ref, reflection_strength * reflection_mask);
float snow_progress = get_snow_progress();
float active_snowfall = step(0.0, global_snow_start_time) * (1.0 - step(0.0, global_snow_melt_time));
float reflection_snow_damping = max(smoothstep(0.0, 0.08, snow_progress), active_snowfall * 0.75);
float effective_reflection_strength = reflection_strength * (1.0 - reflection_snow_damping * 0.85);
vec3 final_rgb = mix(base_water.rgb, screen_ref, effective_reflection_strength * reflection_mask);
final_rgb = mix(final_rgb, ripple_color.rgb, ring * ripple_color.a);
float water_snow_amount = smoothstep(0.15, 1.0, snow_progress) * 0.18;
final_rgb = mix(final_rgb, global_snow_color.rgb, water_snow_amount);
ALBEDO = final_rgb;

View File

@@ -6,9 +6,9 @@
shader_type spatial;
#if USE_UNSHADED
render_mode unshaded, depth_draw_never;
render_mode unshaded, depth_draw_never;
#else
render_mode depth_draw_never;
render_mode depth_draw_never;
#endif
uniform sampler2D DEPTH_TEXTURE: hint_depth_texture;
@@ -24,16 +24,16 @@ uniform float surface_roughness : hint_range(0.0, 1.0, 0.01) = 0.05;
uniform float foam_roughness : hint_range(0.0, 1.0, 0.01) = 0.05;
#if USE_CAUSTICS
group_uniforms Caustics;
uniform sampler2D caustics_texture;
uniform float caustics_strength = 2.0;
uniform vec2 caustics_scale = vec2(0.5);
group_uniforms Caustics;
uniform sampler2D caustics_texture;
uniform float caustics_strength = 2.0;
uniform vec2 caustics_scale = vec2(0.5);
#endif
group_uniforms Wave;
uniform sampler2D wave_texture;
#if !USE_UNSHADED
uniform sampler2D wave_normal_texture;
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);
@@ -52,36 +52,36 @@ uniform float foam_end : hint_range(0.0, 1.0, 0.05) = 0.3;
uniform float foam_exponent = 2.0;
#if USE_REFRACTION
group_uniforms Refraction;
uniform float refraction_amount = 0.5;
uniform float refraction_exponent = 0.5;
group_uniforms Refraction;
uniform float refraction_amount = 0.5;
uniform float refraction_exponent = 0.5;
#endif
#if USE_DISPLACEMENT
group_uniforms Displacement;
uniform float displacement_amount = 0.3;
group_uniforms Displacement;
uniform float displacement_amount = 0.3;
#endif
#if USE_STYLIZED_LIGHTING && !USE_UNSHADED
group_uniforms Lighting;
uniform float diffuse_steps = 12.0;
uniform float diffuse_smoothness : hint_range(0.0, 1.0, 0.01) = 0.2;
uniform float specular_steps = 12.0;
uniform float specular_smoothness : hint_range(0.0, 1.0, 0.01) = 0.2;
group_uniforms Lighting;
uniform float diffuse_steps = 12.0;
uniform float diffuse_smoothness : hint_range(0.0, 1.0, 0.01) = 0.2;
uniform float specular_steps = 12.0;
uniform float specular_smoothness : hint_range(0.0, 1.0, 0.01) = 0.2;
#endif
uniform sampler2D screen_texture : hint_screen_texture;
varying vec3 world_pos;
#if USE_CAUSTICS
vec3 sample_caustics(vec2 uv){
vec2 caustics_uv = uv * caustics_scale;
return vec3(
texture(caustics_texture, caustics_uv).r,
texture(caustics_texture, caustics_uv+vec2(0.02,0.02)).r,
texture(caustics_texture, caustics_uv+vec2(0.03,0.01)).r
);
}
vec3 sample_caustics(vec2 uv){
vec2 caustics_uv = uv * caustics_scale;
return vec3(
texture(caustics_texture, caustics_uv).r,
texture(caustics_texture, caustics_uv+vec2(0.02,0.02)).r,
texture(caustics_texture, caustics_uv+vec2(0.03,0.01)).r
);
}
#endif
vec4 sample_world_dpos(vec2 screen_uv, mat4 inv_proj_mat, mat4 inv_view_mat){
@@ -107,8 +107,8 @@ void vertex(){
world_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
#if USE_DISPLACEMENT
float wave = sample_wave(wave_texture, world_pos.xz, wave_velocity, wave_softness).r;
VERTEX.y += wave*displacement_amount;
float wave = sample_wave(wave_texture, world_pos.xz, wave_velocity, wave_softness).r;
VERTEX.y += wave*displacement_amount;
#endif
}
@@ -120,17 +120,17 @@ void fragment() {
// Refraction
#if USE_REFRACTION
screen_uv += ((pow(wave, refraction_exponent)*2.0 - 0.5) * 0.01 * refraction_amount);
vec4 world_dpos = sample_world_dpos(screen_uv, INV_PROJECTION_MATRIX, INV_VIEW_MATRIX);
float pre_depth = pow(clamp((world_dpos.y - world_pos.y + depth_size)/depth_size, 0.0, 1.0), 4.0);
screen_uv = mix(screen_uv, SCREEN_UV, pre_depth);
if(world_dpos.y - world_pos.y > 0.0){
screen_uv = SCREEN_UV;
}
screen_uv += ((pow(wave, refraction_exponent)*2.0 - 0.5) * 0.01 * refraction_amount);
vec4 world_dpos = sample_world_dpos(screen_uv, INV_PROJECTION_MATRIX, INV_VIEW_MATRIX);
float pre_depth = pow(clamp((world_dpos.y - world_pos.y + depth_size)/depth_size, 0.0, 1.0), 4.0);
screen_uv = mix(screen_uv, SCREEN_UV, pre_depth);
if(world_dpos.y - world_pos.y > 0.0){
screen_uv = SCREEN_UV;
}
#else
vec4 world_dpos = sample_world_dpos(screen_uv, INV_PROJECTION_MATRIX, INV_VIEW_MATRIX);
vec4 world_dpos = sample_world_dpos(screen_uv, INV_PROJECTION_MATRIX, INV_VIEW_MATRIX);
#endif
world_dpos = sample_world_dpos(screen_uv, INV_PROJECTION_MATRIX, INV_VIEW_MATRIX);
@@ -141,9 +141,9 @@ 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 caustics = caustics2 * (1.0 - depth);
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 caustics = caustics2 * (1.0 - depth);
#endif
// Edge Foam
@@ -163,15 +163,15 @@ void fragment() {
vec4 screen = texture(screen_texture, screen_uv);
vec3 color = screen.rgb;
#if USE_CAUSTICS
color += vec3(pow(caustics * caustics_strength, vec3(2.0)));
color += vec3(pow(caustics * caustics_strength, vec3(2.0)));
#endif
color = mix(flat_color, color, 0.4 * depth);
color = mix(color, surface_color.rgb, wave * wave_highlight);
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;
NORMAL_MAP = wave_normal_map;
vec3 wave_normal_map = sample_wave(wave_normal_texture, world_pos.xz, wave_velocity, wave_softness).rgb;
NORMAL_MAP = wave_normal_map;
#endif
ROUGHNESS = mix(surface_roughness, foam_roughness, foam);
@@ -180,33 +180,33 @@ void fragment() {
}
#if USE_STYLIZED_LIGHTING && !USE_UNSHADED
void light(){
float ndotl = dot(NORMAL, LIGHT) * ATTENUATION;
//ndotl = smoothstep(0.0,1.0-ROUGHNESS,ndotl);
float light = ndotl;
float light_mult = light * diffuse_steps;
float light_step_base = floor(light_mult);
float light_factor = light_mult - light_step_base;
light_factor = smoothstep(0.5 - diffuse_smoothness * 0.5, 0.5 + diffuse_smoothness * 0.5, light_factor);
light = (light_step_base + light_factor) / diffuse_steps;
DIFFUSE_LIGHT += (LIGHT_COLOR+ALBEDO) * light / PI;
float roughness = mix(0.01, 0.99, ROUGHNESS);
vec3 h = normalize(VIEW + LIGHT);
float ndoth = clamp(dot(NORMAL, h), 0.0, 1.0) * ATTENUATION;
float specular = clamp(pow(ndoth, 16.0/(roughness)), 0.1, 0.99);
specular = mix(pow(specular, 2.0-roughness),0.00,pow(roughness, 0.1));
float specular_mult = specular * specular_steps;
float specular_step_base = floor(specular_mult);
float specular_factor = specular_mult - specular_step_base;
specular_factor = smoothstep(0.5 - specular_smoothness * 0.5, 0.5 + specular_smoothness * 0.5, specular_factor);
specular = (specular_step_base + specular_factor) / specular_steps;
SPECULAR_LIGHT += (LIGHT_COLOR + ALBEDO) * specular;
}
void light(){
float ndotl = dot(NORMAL, LIGHT) * ATTENUATION;
//ndotl = smoothstep(0.0,1.0-ROUGHNESS,ndotl);
float light = ndotl;
float light_mult = light * diffuse_steps;
float light_step_base = floor(light_mult);
float light_factor = light_mult - light_step_base;
light_factor = smoothstep(0.5 - diffuse_smoothness * 0.5, 0.5 + diffuse_smoothness * 0.5, light_factor);
light = (light_step_base + light_factor) / diffuse_steps;
DIFFUSE_LIGHT += (LIGHT_COLOR+ALBEDO) * light / PI;
float roughness = mix(0.01, 0.99, ROUGHNESS);
vec3 h = normalize(VIEW + LIGHT);
float ndoth = clamp(dot(NORMAL, h), 0.0, 1.0) * ATTENUATION;
float specular = clamp(pow(ndoth, 16.0/(roughness)), 0.1, 0.99);
specular = mix(pow(specular, 2.0-roughness),0.00,pow(roughness, 0.1));
float specular_mult = specular * specular_steps;
float specular_step_base = floor(specular_mult);
float specular_factor = specular_mult - specular_step_base;
specular_factor = smoothstep(0.5 - specular_smoothness * 0.5, 0.5 + specular_smoothness * 0.5, specular_factor);
specular = (specular_step_base + specular_factor) / specular_steps;
SPECULAR_LIGHT += (LIGHT_COLOR + ALBEDO) * specular;
}
#endif

View File

@@ -34,12 +34,15 @@ var rain_tween: Tween
var rain_audio_tween: Tween
var puddle_tween: Tween
var puddle_amount: float = 0.0
var clouds_tween: Tween
var snow_tween: Tween
var snow_weather_tween: Tween
var snow_particles_tween: Tween
var is_snowing: bool = false
var is_snow_accumulated: bool = false
var actual_snow_amount: float = 0.0
var snow_weather_amount: float = 0.0
var is_storm: bool = false
var cold_tween: Tween
@@ -188,10 +191,10 @@ func _process(delta: float) -> void:
var final_fog_density = lerp(base_fog_density, base_fog_density * 4.0, clamp(rain_intensity, 0.0, 1.0))
var final_water_color = base_water_color.darkened(clamp(environment_config.water_darkening_rain, 0.0, 1.0) * clamp(rain_intensity, 0.0, 1.0))
final_tint = final_tint.lerp(final_tint * environment_config.snow_mode_color, actual_snow_amount)
final_sky_top = final_sky_top.lerp(final_sky_top * environment_config.snow_mode_color, actual_snow_amount)
final_sky_horizon = final_sky_horizon.lerp(final_sky_horizon * environment_config.snow_mode_color, actual_snow_amount)
final_fog_color = final_fog_color.lerp(final_fog_color * environment_config.snow_mode_color, actual_snow_amount)
final_tint = final_tint.lerp(final_tint * environment_config.snow_mode_color, snow_weather_amount)
final_sky_top = final_sky_top.lerp(final_sky_top * environment_config.snow_mode_color, snow_weather_amount)
final_sky_horizon = final_sky_horizon.lerp(final_sky_horizon * environment_config.snow_mode_color, snow_weather_amount)
final_fog_color = final_fog_color.lerp(final_fog_color * environment_config.snow_mode_color, snow_weather_amount)
#Shader parameters for global trunk_shader
var final_grad_top = base_grad_top.lerp(base_grad_top * weather_color, clamp(rain_intensity, 0.0, 1.0))
@@ -205,8 +208,8 @@ func _process(delta: float) -> void:
var night_val = clamp(day_time - 2.0, 0.0, 1.0)
#Snow exposure compensation
var snow_light_attenuation = lerp(1.0, 0.55, actual_snow_amount * (1.0 - night_val))
var snow_glow_attenuation = lerp(1.0, 0.5, actual_snow_amount)
var snow_light_attenuation = lerp(1.0, 0.55, snow_weather_amount * (1.0 - night_val))
var snow_glow_attenuation = lerp(1.0, 0.5, snow_weather_amount)
var final_bloom = lerp(base_bloom, base_bloom * 0.5, rain_intensity) * snow_glow_attenuation
# We calculate the final exposure by applying snow damping directly to the camera exposure
@@ -247,11 +250,17 @@ func _process(delta: float) -> void:
sky_mat.set_shader_parameter("sun_color", final_tint)
sky_mat.set_shader_parameter("night_intensity", night_val)
var cloud_density_amount: float = maxf(clamp(rain_intensity, 0.0, 1.0), clamp(snow_weather_amount, 0.0, 1.0))
var current_cloud_density: float = lerp(environment_config.base_cloud_density, environment_config.rain_cloud_density, cloud_density_amount)
if environment_config.material_clouds:
var current_density = lerp(0.4, 1.0, rain_intensity)
environment_config.material_clouds.set_shader_parameter("cloud_density", current_density)
var current_sharpness = lerp(0.14, 0.0, rain_intensity)
environment_config.material_clouds.set_shader_parameter("cloud_density", current_cloud_density)
var current_sharpness = lerp(0.14, 0.0, cloud_density_amount)
environment_config.material_clouds.set_shader_parameter("center_sharpness", current_sharpness)
var env_shadow_mat = environment_shadows.get_surface_override_material(0) if environment_shadows else null
if env_shadow_mat:
env_shadow_mat.set_shader_parameter("cloud_density", current_cloud_density)
if environment_config.material_fog:
environment_config.material_fog.set_shader_parameter("night_intensity", night_val)
@@ -666,7 +675,7 @@ func toggle_rain(value: bool):
if puddle_tween and puddle_tween.is_valid():
puddle_tween.kill()
if is_raining:
particles_rain.amount_ratio = 0.0
particles_rain.emitting = true
@@ -786,8 +795,23 @@ func toggle_snow(value: bool):
var target_snow_amount: float = 1.0 if is_snowing else 0.0
if snow_tween and snow_tween.is_valid():
snow_tween.kill()
if snow_weather_tween and snow_weather_tween.is_valid():
snow_weather_tween.kill()
var snow_amount_transition_duration: float = _get_snow_amount_transition_duration(is_snowing)
snow_tween = create_tween()
snow_tween.tween_method(init_snow_amount, actual_snow_amount, target_snow_amount, environment_config.snow_transaction_time)
snow_tween.tween_method(
init_snow_amount,
actual_snow_amount,
target_snow_amount,
snow_amount_transition_duration
)
snow_weather_tween = create_tween()
snow_weather_tween.tween_method(
init_snow_weather_amount,
snow_weather_amount,
target_snow_amount,
environment_config.snow_fade_time
)
_emit_weather_event_label()
func _emit_weather_event_label() -> void:
@@ -811,6 +835,7 @@ func _emit_weather_event_label() -> void:
#disable snow and set default values and shader
func init_snow(value: float = 0.0):
actual_snow_amount = value
snow_weather_amount = value
RenderingServer.global_shader_parameter_set("global_snow_amount", value)
if particles_snow:
@@ -835,6 +860,9 @@ func init_snow_amount(value: float):
actual_snow_amount = value
RenderingServer.global_shader_parameter_set("global_snow_amount", value)
func init_snow_weather_amount(value: float):
snow_weather_amount = value
func start_snow_accumulation() -> void:
RenderingServer.global_shader_parameter_set("global_snow_melt_time", -1.0)
RenderingServer.global_shader_parameter_set("global_snow_start_time", Time.get_ticks_msec() / 1000.0)
@@ -843,6 +871,18 @@ func start_snow_melt() -> void:
RenderingServer.global_shader_parameter_set("global_snow_melt_time", Time.get_ticks_msec() / 1000.0)
RenderingServer.global_shader_parameter_set("global_snow_melt_speed", environment_config.snow_melt_speed)
func _get_snow_amount_transition_duration(is_accumulating: bool) -> float:
if environment_config == null:
return 0.0
var speed: float = environment_config.snow_melt_speed
if is_accumulating:
speed = environment_config.snow_accumulation_speed
if speed <= 0.0:
return environment_config.snow_transaction_time
return 1.0 / speed
#endregion
#region Post-Process

View File

@@ -3,7 +3,7 @@ render_mode blend_mix, depth_draw_never;
//Snow globals
global uniform float global_snow_start_time = -1.0;
global uniform float global_snow_accumulation_speed = 0.1;
global uniform float global_snow_accumulation_speed = 0.005;
global uniform float global_snow_melt_time = -1.0;
global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_amount = 0.0;
@@ -72,18 +72,15 @@ float fbm(vec2 p) {
}
float get_snow_progress() {
bool has_snow_timeline = global_snow_start_time >= 0.0 || global_snow_melt_time >= 0.0;
float snow_progress = clamp(global_snow_amount, 0.0, 1.0);
if (has_snow_timeline) {
snow_progress = 0.0;
if (global_snow_start_time >= 0.0) {
snow_progress = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_progress *= (1.0 - melt);
}
if (global_snow_start_time >= 0.0) {
float timed_progress = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
snow_progress = max(snow_progress, timed_progress);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_progress = min(snow_progress, 1.0 - melt);
}
return snow_progress;
@@ -130,12 +127,13 @@ void fragment() {
float snow_edge = smoothstep(
global_snow_threshold - snow_edge_softness,
global_snow_threshold + snow_edge_softness,
facing_up + (noise_val - 0.5) * 0.4
facing_up
);
float flat_accumulation = smoothstep(0.0, 0.35, v_snow_cap_mask) * snow_accumulation;
float snow_coverage = smoothstep(0.0, 0.6, noise_val + snow_progress - 0.4 + flat_accumulation * 0.25);
float snow_factor = max(snow_edge * snow_coverage * snow_progress, flat_accumulation);
float snow_opacity = smoothstep(0.04, 0.28, snow_factor);
float snow_variation = mix(0.75, 1.15, noise_val);
float snow_coverage = clamp(snow_progress * snow_variation + flat_accumulation * 0.25, 0.0, 1.0);
float snow_factor = max(snow_edge * snow_coverage, flat_accumulation);
float snow_opacity = clamp(snow_factor, 0.0, 1.0);
snow_opacity = max(snow_opacity, flat_accumulation * 0.9);
float shade = mix(-snow_color_variation, snow_color_variation, noise_val);

View File

@@ -2,10 +2,11 @@ shader_type spatial;
render_mode blend_mix, depth_draw_never, cull_disabled;
// Snow globals
global uniform float global_snow_start_time;
global uniform float global_snow_accumulation_speed;
global uniform float global_snow_melt_time;
global uniform float global_snow_melt_speed;
global uniform float global_snow_start_time = -1.0;
global uniform float global_snow_accumulation_speed = 0.005;
global uniform float global_snow_melt_time = -1.0;
global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_amount = 0.0;
global uniform vec4 global_snow_color;
uniform float snow_edge_softness : hint_range(0.01, 0.5) = 0.15;
uniform float snow_color_variation : hint_range(0.0, 0.15) = 0.05;
@@ -34,6 +35,21 @@ float ripple_ring(vec2 uv, float time_offset) {
return ring * fade;
}
float get_snow_progress() {
float snow_progress = clamp(global_snow_amount, 0.0, 1.0);
if (global_snow_start_time >= 0.0) {
float timed_progress = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
snow_progress = max(snow_progress, timed_progress);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_progress = min(snow_progress, 1.0 - melt);
}
return snow_progress;
}
void fragment() {
vec3 world_pos = (INV_VIEW_MATRIX * vec4(VERTEX, 1.0)).xyz;
@@ -41,18 +57,10 @@ void fragment() {
float facing_up = 1.0;
// Snow accumulation
float snow_amount = 0.0;
if (global_snow_start_time >= 0.0) {
snow_amount = clamp((TIME - global_snow_start_time) * global_snow_accumulation_speed, 0.0, 1.0);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_amount *= (1.0 - melt);
}
float snow_amount = get_snow_progress();
// UV-based snow mask: accumulates from the top of the quad
float top_mask = 1.0 - UV.y;
float snow_mask = smoothstep(1.0 - snow_amount, 1.0 - snow_amount + snow_edge_softness, top_mask);
// Plain surfaces fade in uniformly to avoid patchy strip-like accumulation.
float snow_mask = smoothstep(0.0, 1.0, snow_amount);
snow_mask *= step(0.01, snow_amount);
// Snow color with slight variation

View File

@@ -98,6 +98,7 @@ extends Resource
@export var material_fog: ShaderMaterial #Fog overlay shader material
@export var material_drops: StandardMaterial3D #Rain drops material (albedo tinted by sky)
@export var material_clouds: ShaderMaterial #Cloud layer shader material
@export var base_cloud_density: float = 0.4 #default cloud density
#Rain weather settings
@export_group("Rain")
@@ -106,6 +107,7 @@ extends Resource
@export var rain_audio_volume_db: float = -10.0 #Target rain loop volume in decibels
@export var puddle_form_time: float = 15.0 #Seconds for puddles to fully form
@export var puddle_dry_time: float = 20.0 #Seconds for puddles to fully dry after rain stops
@export var rain_cloud_density: float = 1.0 #the cloud density when is rainy
#Storm settings (applied on top of rain when storm is active)
@export_group("Storm")
@@ -136,7 +138,7 @@ extends Resource
#Train start settings
@export_group("Train Start")
@export var train_start_from_random_position: bool = false #When enabled the train starts from a random offset on the rail curve instead of a stop
@export var train_start_from_random_position: bool = true #When enabled the train starts from a random offset on the rail curve instead of a stop
@export_range(0, 64, 1, "or_greater") var train_start_stop_index: int = 1 #Stop index used for the train start when random start is disabled
#Snow settings
@@ -145,7 +147,7 @@ extends Resource
@export var snow_transaction_time: float = 10.0 #Seconds for snow shader to fully transition in/out
@export var snow_fade_time: float = 5.0 #Seconds for snow particles to fade in/out
@export var snow_threshold: float = 0.4 #Normal Y threshold for snow accumulation on surfaces
@export var snow_accumulation_speed: float = 0.014 #Accumulation speed: 0.1 -> 10s, 0.05 -> 20s, 0.02 -> 50s, 0.012 -> ~83s
@export var snow_accumulation_speed: float = 0.005 #Accumulation speed: 0.005 -> ~200s, 0.01 -> 100s, 0.02 -> 50s
@export var snow_melt_speed: float = 0.05 #Speed at which accumulated snow melts away
@export var show_snow_accumulation_volume: bool = true #Enables vertex snow buildup; when false snow only changes surface color
@export var snow_max_accumulation: float = 0.25 #Maximum accumulated snow factor applied to coverage and thickness

View File

@@ -42,11 +42,6 @@
[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
@@ -126,7 +121,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"), ExtResource("30_3ldqx"), ExtResource("31_dsw5k"), ExtResource("32_03yl6"), ExtResource("33_rlemp")])
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")])
metadata/_custom_type_script = "uid://wv6kcqkibium"
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pypsn"]

File diff suppressed because one or more lines are too long

View File

@@ -1,24 +0,0 @@
[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

@@ -20,6 +20,7 @@ shader_parameter/variance_scale = 0.1
shader_parameter/variance_color = Color(0.09803922, 0.18039216, 0.05490196, 1)
shader_parameter/variance_intensity = 0.90000004275
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/snow_visibility = 1.0
shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.610000028975
@@ -27,3 +28,4 @@ shader_parameter/highlight_intensity = 0.0
shader_parameter/light_steps = 2.150000054625
shader_parameter/random_mix = 0.0
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/wetness_darkening = 0.25

View File

@@ -28,6 +28,7 @@ shader_parameter/variance_scale = 0.06
shader_parameter/variance_color = Color(0.3, 0.5, 0.2, 1)
shader_parameter/variance_intensity = 0.350000016625
shader_parameter/snow_color = Color(0.85, 0.9, 0.95, 1)
shader_parameter/snow_visibility = 1.0
shader_parameter/height_min = 0.0
shader_parameter/height_max = 5.0
shader_parameter/shadow_intensity = 0.6000000285
@@ -35,3 +36,4 @@ shader_parameter/highlight_intensity = 0.10000000475
shader_parameter/light_steps = 8.600000361
shader_parameter/random_mix = 0.0150000007125
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/wetness_darkening = 0.25

View File

@@ -22,3 +22,4 @@ shader_parameter/light_steps = 10.0
shader_parameter/random_mix = 0.138000006555
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/wetness_darkening = 0.25
shader_parameter/snow_visibility = 1.0

View File

@@ -22,3 +22,4 @@ shader_parameter/light_steps = 10.0
shader_parameter/random_mix = 0.010000000475
shader_parameter/cast_shadow_strength = 0.6
shader_parameter/wetness_darkening = 0.25
shader_parameter/snow_visibility = 1.0

View File

@@ -34,7 +34,7 @@ shader_parameter/puddle_threshold = 0.45
[node name="TreeTest3" unique_id=1532527216 groups=["weather_node", "wind_node"] instance=ExtResource("1_8jt4o")]
transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, 0, 0, 0)
[node name="Leaf" parent="." index="0" unique_id=2098078578]
[node name="Leaf" parent="." index="0" unique_id=2028330452]
transform = Transform3D(100, 0, 0, 0, -4.3711384e-06, 99.99999, 0, -99.99999, -4.3711384e-06, 0, 0, 0)
cast_shadow = 3
@@ -45,7 +45,7 @@ material_override = ExtResource("4_8rfui")
cast_shadow = 0
multimesh = SubResource("MultiMesh_8rfui")
[node name="tree" parent="." index="1" unique_id=1483228573]
[node name="tree" parent="." index="1" unique_id=2124791569]
material_overlay = SubResource("ShaderMaterial_kpc41")
surface_material_override/0 = ExtResource("3_imfiy")

View File

@@ -1,46 +0,0 @@
[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

@@ -1,33 +0,0 @@
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

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

View File

@@ -1,12 +0,0 @@
[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

@@ -1,12 +0,0 @@
[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

@@ -1,41 +0,0 @@
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

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

File diff suppressed because one or more lines are too long

View File

@@ -9,6 +9,7 @@
[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"]
@@ -39,9 +40,12 @@ buffer = PackedFloat32Array(3.9456527e-08, -0.6345529, 0.77417296, 8.223151, -1.
[sub_resource type="BoxShape3D" id="BoxShape3D_xfgwo"]
size = Vector3(20, 10, 20)
[node name="chunk_railway_curve" unique_id=238887300 instance=ExtResource("1_r0w7x")]
[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")
@@ -113,7 +117,25 @@ shape = SubResource("BoxShape3D_xfgwo")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 4, 0)
shape = SubResource("BoxShape3D_xfgwo")
[node name="Tree" type="Node3D" parent="." index="5" unique_id=229613049]
[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="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)
@@ -271,7 +293,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="6" unique_id=913717123]
[node name="Flower2" type="Node3D" parent="." index="9" 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)
@@ -387,4 +409,7 @@ 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,6 +9,7 @@
[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"]
@@ -61,9 +62,12 @@ shader_parameter/random_mix = 0.0
shader_parameter/cast_shadow_strength = 0.0
shader_parameter/wetness_darkening = 0.25
[node name="chunk_railway_curve" unique_id=238887300 instance=ExtResource("1_5qkha")]
[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")
@@ -135,7 +139,25 @@ shape = SubResource("BoxShape3D_xfgwo")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 4, 0)
shape = SubResource("BoxShape3D_xfgwo")
[node name="Tree" type="Node3D" parent="." index="5" unique_id=229613049]
[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="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)
@@ -383,7 +405,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="6" unique_id=913717123]
[node name="Flower2" type="Node3D" parent="." index="9" 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)
@@ -499,6 +521,9 @@ 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"]

View File

@@ -43,7 +43,7 @@ buffer = PackedFloat32Array(0, 0, -1.001, -9.885065, -1.001, 1.1534962e-07, 0, -
[sub_resource type="BoxShape3D" id="BoxShape3D_nij0i"]
size = Vector3(20, 10, 20)
[node name="chunk_railway_station_doubleside" unique_id=1591869611 instance=ExtResource("1_nkssc")]
[node name="chunk_railway_station_doubleside" unique_id=1591869611 groups=["weather_node"] instance=ExtResource("1_nkssc")]
script = ExtResource("2_i3rfy")
chunk_type = 1
est = true

View File

@@ -45,7 +45,7 @@ buffer = PackedFloat32Array(0, 0, -1.001, 7.610373, -1.001, 7.557342e-08, 0, -2.
[sub_resource type="BoxShape3D" id="BoxShape3D_60nuv"]
size = Vector3(20, 10, 20)
[node name="chunk_railway_station_oneside" unique_id=310632835 node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_38ujo")]
[node name="chunk_railway_station_oneside" unique_id=310632835 groups=["weather_node"] node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_38ujo")]
script = ExtResource("2_a8mxs")
chunk_type = 1
west = true

View File

@@ -35,7 +35,7 @@ buffer = PackedFloat32Array(0, 0, 1.001, -7.3240447, -1.001, -1.6308361e-07, 0,
[sub_resource type="BoxShape3D" id="BoxShape3D_jordb"]
size = Vector3(20, 10, 20)
[node name="chunk_railway_straight" unique_id=1509029322 node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_koika")]
[node name="chunk_railway_straight" unique_id=1509029322 groups=["weather_node"] node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_koika")]
script = ExtResource("2_25ann")
chunk_type = 1
have_lamppost = true

View File

@@ -37,7 +37,7 @@ buffer = PackedFloat32Array(0, 0, 1.001, 9.632912, -1.001, -1.6308361e-07, 0, -1
[sub_resource type="BoxShape3D" id="BoxShape3D_hj62k"]
size = Vector3(20, 10, 20)
[node name="chunk_railway_straight_2" unique_id=476549215 instance=ExtResource("1_g8fwq")]
[node name="chunk_railway_straight_2" unique_id=476549215 groups=["weather_node"] instance=ExtResource("1_g8fwq")]
script = ExtResource("2_5gtba")
chunk_type = 1
est = true

View File

@@ -43,7 +43,7 @@ buffer = PackedFloat32Array(0.2749959, -2.0141332e-08, -0.96248555, -5.003987, -
[sub_resource type="BoxShape3D" id="BoxShape3D_fx2d1"]
size = Vector3(20, 10, 20)
[node name="chunk_railway_straight_3" unique_id=1086786013 instance=ExtResource("1_k6h6t")]
[node name="chunk_railway_straight_3" unique_id=1086786013 groups=["weather_node"] instance=ExtResource("1_k6h6t")]
script = ExtResource("2_3rloo")
chunk_type = 1
river_est = true

View File

@@ -64,7 +64,7 @@ buffer = PackedFloat32Array(0.55643237, 8.195835e-08, 0.8320963, -5.862966, -0.8
[sub_resource type="BoxShape3D" id="BoxShape3D_56q8g"]
size = Vector3(20, 10, 20)
[node name="chunk_railway_straight_bridge" unique_id=1049036234 node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_bwiif")]
[node name="chunk_railway_straight_bridge" unique_id=1049036234 groups=["weather_node"] node_paths=PackedStringArray("connection_left", "connection_right") instance=ExtResource("1_bwiif")]
script = ExtResource("1_uoylj")
chunk_type = 1
est = true

View File

@@ -1,44 +0,0 @@
[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

View File

@@ -1,44 +0,0 @@
[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

View File

@@ -1,44 +0,0 @@
[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

View File

@@ -1,44 +0,0 @@
[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

View File

@@ -1,44 +0,0 @@
[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

@@ -51,19 +51,19 @@ script = ExtResource("2_bmrw7")
river_south = true
river_west = true
[node name="Argini_009" parent="." index="0" unique_id=650454440]
[node name="Argini_009" parent="." index="0" unique_id=935781577]
surface_material_override/0 = ExtResource("2_x8fyt")
[node name="Argini_F_001" parent="." index="1" unique_id=1709224433]
[node name="Argini_F_001" parent="." index="1" unique_id=1677324626]
surface_material_override/0 = ExtResource("2_x8fyt")
[node name="Chunk_017" parent="." index="2" unique_id=1001158626]
[node name="Chunk_017" parent="." index="2" unique_id=677601716]
surface_material_override/0 = ExtResource("2_x8fyt")
[node name="Water_010" parent="." index="3" unique_id=822678307]
[node name="Water_010" parent="." index="3" unique_id=273066291]
surface_material_override/0 = ExtResource("3_bmrw7")
[node name="Water_F_001" parent="." index="4" unique_id=1952113981]
[node name="Water_F_001" parent="." index="4" unique_id=1939449230]
surface_material_override/0 = ExtResource("5_wcs53")
[node name="grass" type="Node3D" parent="." index="5" unique_id=91576374 groups=["weather_vegetables_node", "wind_node"]]

View File

@@ -39,8 +39,6 @@ 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")
@@ -83,226 +81,157 @@ cast_shadow = 0
multimesh = SubResource("MultiMesh_6sa8p")
[node name="Bambu" type="Node3D" parent="." index="4" unique_id=718852871]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.815884, 0, 0)
visible = false
[node name="Bambù" parent="Bambu" index="0" unique_id=514636059 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(0.99893546, 0.04613013, 0, -0.046085197, 0.9979625, 0.044125047, 0.002035494, -0.044078074, 0.999026, 9.461747, 0, -3.4025283)
[node name="Bambù2" parent="Bambu" index="1" unique_id=911103129 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.461747, -0.2565055, -2.5334916)
[node name="Bambù3" parent="Bambu" index="2" unique_id=1673026671 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.8298955, 0.0075171394, -0.55786824, 0, 0.9999092, 0.013473534, 0.5579189, -0.011181626, 0.82982016, 29.450298, 0, 5.285326)
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.461747, 0, -1.690526)
[node name="Bambù5" parent="Bambu" index="3" unique_id=446972919 instance=ExtResource("8_nbeq3")]
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)
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)
[node name="Bambù6" parent="Bambu" index="4" unique_id=1716987629 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.461747, -0.3562231, -5.219686)
[node name="Bambù7" parent="Bambu" index="5" unique_id=111309254 instance=ExtResource("8_nbeq3")]
transform = Transform3D(0.8298955, 0.0075171394, -0.55786824, 0, 0.9999092, 0.013473534, 0.5579189, -0.011181626, 0.82982016, 30.948977, 0, 3.0560656)
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.461747, 0, -4.3767204)
[node name="Bambù8" parent="Bambu" index="6" unique_id=827441605 instance=ExtResource("8_nbeq3")]
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)
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)
[node name="Bambù9" parent="Bambu" index="7" unique_id=118971434 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.782687, 4.7683716e-07, -4.185803)
[node name="Bambù10" parent="Bambu" index="8" unique_id=1918485413 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.782687, -0.2763033, -3.3428373)
[node name="Bambù11" parent="Bambu" index="9" unique_id=1841532379 instance=ExtResource("8_nbeq3")]
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)
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)
[node name="Bambù12" parent="Bambu" index="10" unique_id=429060428 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.782687, 0.26429868, -3.185803)
[node name="Bambù17" parent="Bambu" index="11" unique_id=608257368 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.782687, 4.7683716e-07, -2.3428373)
[node name="Bambù18" parent="Bambu" index="12" unique_id=712332440 instance=ExtResource("8_nbeq3")]
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)
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)
[node name="Bambù19" parent="Bambu" index="13" unique_id=813082434 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(0.9961886, 0.087225296, 0, -0.087225296, 0.9961886, 0, 0, 0, 1, 9.587206, 4.7683716e-07, -7.187894)
[node name="Bambù20" parent="Bambu" index="14" unique_id=1937372784 instance=ExtResource("8_nbeq3")]
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)
transform = Transform3D(1, 0, 0, 0, 0.9999092, 0.013473534, 0, -0.013473534, 0.9999092, 9.587206, 4.7683716e-07, -6.3449283)
[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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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="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ù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]
[node name="Bambu2" type="Node3D" parent="Bambu" index="25" 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ù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ù" 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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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ù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)
[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)

File diff suppressed because one or more lines are too long

View File

@@ -53,25 +53,25 @@ size = Vector2(1, 1)
script = ExtResource("2_kvbtp")
river_north = true
[node name="Argini_018" parent="." index="0" unique_id=798153780]
[node name="Argini_018" parent="." index="0" unique_id=1877504536]
surface_material_override/0 = ExtResource("3_4mfxv")
[node name="Argini_F_002" parent="." index="1" unique_id=224286275]
[node name="Argini_F_002" parent="." index="1" unique_id=1630210022]
surface_material_override/0 = ExtResource("3_4mfxv")
[node name="Cube_034" parent="." index="2" unique_id=763901855]
[node name="Cube_034" parent="." index="2" unique_id=536917094]
surface_material_override/0 = ExtResource("4_w8tpk")
[node name="Grass_020" parent="." index="3" unique_id=1008856994]
[node name="Grass_020" parent="." index="3" unique_id=228303770]
surface_material_override/0 = ExtResource("3_4mfxv")
[node name="MSH_Staccioanta_1_021" parent="." index="4" unique_id=1790761410]
[node name="MSH_Staccioanta_1_021" parent="." index="4" unique_id=777398218]
surface_material_override/0 = ExtResource("5_i0i0i")
[node name="Water_019" parent="." index="5" unique_id=1519616413]
[node name="Water_019" parent="." index="5" unique_id=726411103]
surface_material_override/0 = ExtResource("6_tf5mu")
[node name="Water_F_002" parent="." index="6" unique_id=903800211]
[node name="Water_F_002" parent="." index="6" unique_id=1656129705]
surface_material_override/0 = ExtResource("7_w3iym")
[node name="grass2" type="Node3D" parent="." index="7" unique_id=1169806788 groups=["weather_vegetables_node", "wind_node"]]

View File

@@ -87,56 +87,60 @@ script = ExtResource("2_8ueaj")
west = true
river_south = true
[node name="Argini_013" parent="." index="0" unique_id=1870487458]
[node name="Argini_013" parent="." index="0" unique_id=1843791596]
surface_material_override/0 = ExtResource("3_oqr18")
[node name="Argini_F_005" parent="." index="1" unique_id=1126095130]
[node name="Argini_F_005" parent="." index="1" unique_id=582785221]
surface_material_override/0 = ExtResource("3_oqr18")
[node name="Cavi_008" parent="." index="3" unique_id=613985618]
[node name="Cart_003" parent="." index="2" unique_id=311439268 groups=["weather_node"]]
[node name="Cavi_008" parent="." index="3" unique_id=1909926940]
surface_material_override/0 = ExtResource("4_h5fgh")
surface_material_override/1 = ExtResource("4_h5fgh")
[node name="Cortile_006" parent="." index="4" unique_id=1701095883]
[node name="Cortile_006" parent="." index="4" unique_id=148752356]
surface_material_override/0 = ExtResource("5_5r0cx")
[node name="Cube_036" parent="." index="5" unique_id=672869904]
[node name="Cube_036" parent="." index="5" unique_id=1290455108]
surface_material_override/0 = ExtResource("6_wdn0q")
[node name="Flower_012" parent="." index="6" unique_id=2051395944]
[node name="Flower_012" parent="." index="6" unique_id=1926855227]
visible = false
[node name="FlowerG_011" parent="." index="7" unique_id=1394853760]
[node name="FlowerG_011" parent="." index="7" unique_id=234619118]
visible = false
[node name="Grass_016" parent="." index="8" unique_id=1019594918]
[node name="Grass_016" parent="." index="8" unique_id=114005812]
surface_material_override/0 = ExtResource("3_oqr18")
[node name="House_M_3_001|Cube_212|Dupli|" parent="House_M_3_001" parent_id_path=PackedInt32Array(2053098324) index="0" unique_id=1484776379]
[node name="House_M_3_001" parent="." index="9" unique_id=6044761 groups=["weather_node"]]
[node name="House_M_3_001|Cube_212|Dupli|" parent="House_M_3_001" index="0" unique_id=1860507976]
surface_material_override/0 = ExtResource("7_h5fgh")
surface_material_override/1 = ExtResource("8_5r0cx")
[node name="Lanterne_008" parent="." index="10" unique_id=2140482727]
[node name="Lanterne_008" parent="." index="10" unique_id=2056781625]
surface_material_override/0 = ExtResource("8_5r0cx")
surface_material_override/1 = ExtResource("7_h5fgh")
[node name="MSH_Staccioanta_1_013" parent="." index="11" unique_id=1624527004]
[node name="MSH_Staccioanta_1_013" parent="." index="11" unique_id=1642530430]
surface_material_override/0 = ExtResource("9_kfusd")
[node name="PaliLuci_006" parent="." index="12" unique_id=604291129]
[node name="PaliLuci_006" parent="." index="12" unique_id=232961267]
surface_material_override/0 = ExtResource("10_3krle")
surface_material_override/1 = ExtResource("10_3krle")
[node name="Panchina_001" parent="." index="13" unique_id=1738965733]
[node name="Panchina_001" parent="." index="13" unique_id=72973576 groups=["weather_node"]]
surface_material_override/0 = ExtResource("10_3krle")
[node name="Strada_012" parent="." index="14" unique_id=809715190]
[node name="Strada_012" parent="." index="14" unique_id=493735262 groups=["weather_node"]]
surface_material_override/0 = ExtResource("5_5r0cx")
[node name="Water_014" parent="." index="15" unique_id=1068824614]
[node name="Water_014" parent="." index="15" unique_id=1232138158]
surface_material_override/0 = ExtResource("11_3krle")
[node name="Water_F_005" parent="." index="16" unique_id=607663394]
[node name="Water_F_005" parent="." index="16" unique_id=1247573710]
surface_material_override/0 = ExtResource("12_nfiu6")
[node name="grass" type="Node3D" parent="." index="17" unique_id=64319559 groups=["weather_vegetables_node", "wind_node"]]

View File

@@ -75,36 +75,36 @@ script = ExtResource("2_6ts01")
west = true
river_north = true
[node name="Argini_014" parent="." index="0" unique_id=1144332199]
[node name="Argini_014" parent="." index="0" unique_id=1594457990]
surface_material_override/0 = ExtResource("2_6cke1")
surface_material_override/1 = ExtResource("2_6cke1")
[node name="Argini_F_007" parent="." index="1" unique_id=1754711084]
[node name="Argini_F_007" parent="." index="1" unique_id=987117353]
surface_material_override/0 = ExtResource("2_6cke1")
[node name="Chunk_024" parent="." index="2" unique_id=1720184777]
[node name="Chunk_024" parent="." index="2" unique_id=1981797526]
surface_material_override/0 = ExtResource("2_6cke1")
[node name="Chunk_033" parent="." index="3" unique_id=1628229952]
[node name="Chunk_033" parent="." index="3" unique_id=540804286]
surface_material_override/0 = ExtResource("3_dxc7w")
[node name="Cube_038" parent="." index="4" unique_id=2039579000]
[node name="Cube_038" parent="." index="4" unique_id=1304238242 groups=["weather_node"]]
surface_material_override/0 = ExtResource("4_wiylo")
[node name="Flower_013" parent="." index="5" unique_id=1366790519]
[node name="Flower_013" parent="." index="5" unique_id=794398748]
visible = false
[node name="FlowerG_012" parent="." index="6" unique_id=73383829]
[node name="FlowerG_012" parent="." index="6" unique_id=810367425]
visible = false
[node name="MSH_Staccioanta_1_014" parent="." index="7" unique_id=1893629780]
[node name="MSH_Staccioanta_1_014" parent="." index="7" unique_id=965987551]
surface_material_override/0 = ExtResource("5_scsij")
[node name="Water_015" parent="." index="8" unique_id=1485337117]
[node name="Water_015" parent="." index="8" unique_id=596373854]
surface_material_override/0 = ExtResource("6_6ts01")
surface_material_override/1 = ExtResource("6_6ts01")
[node name="Water_F_007" parent="." index="9" unique_id=1341709621]
[node name="Water_F_007" parent="." index="9" unique_id=315436041]
surface_material_override/0 = ExtResource("8_rc623")
[node name="grass" type="Node3D" parent="." index="10" unique_id=970290101 groups=["weather_vegetables_node", "wind_node"]]
@@ -717,7 +717,7 @@ cast_shadow = 0
mesh = SubResource("PlaneMesh_gbwoc")
surface_material_override/0 = ExtResource("5_wiylo")
[node name="Bambu" type="Node3D" parent="." index="13" unique_id=1744420008]
[node name="Bambu" type="Node3D" parent="." index="13" unique_id=1744420008 groups=["weather_vegetables_node", "wind_node"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25.91278, 0, 0)
[node name="Bambù15" parent="Bambu" index="0" unique_id=483033916 instance=ExtResource("9_fbq43")]

View File

@@ -73,45 +73,49 @@ est = true
south = true
river_west = true
[node name="Argini_F_010" parent="." index="0" unique_id=465659850]
[node name="Argini_F_010" parent="." index="0" unique_id=570570760]
surface_material_override/0 = ExtResource("2_js6cw")
[node name="Cavi_009" parent="." index="1" unique_id=1083143600]
[node name="Cavi_009" parent="." index="1" unique_id=1773824101]
surface_material_override/0 = ExtResource("3_8s23f")
surface_material_override/1 = ExtResource("3_8s23f")
[node name="Cube_044" parent="." index="2" unique_id=1074625311]
[node name="Cube_044" parent="." index="2" unique_id=1674825184 groups=["weather_node"]]
surface_material_override/0 = ExtResource("4_4oehn")
[node name="Flower_015" parent="." index="3" unique_id=237452355]
[node name="Flower_015" parent="." index="3" unique_id=726745390]
visible = false
[node name="FlowerG_013" parent="." index="4" unique_id=612907917]
[node name="FlowerG_013" parent="." index="4" unique_id=2134918644]
visible = false
[node name="Grass_018" parent="." index="5" unique_id=1699521721]
[node name="Grass_018" parent="." index="5" unique_id=746329037]
surface_material_override/0 = ExtResource("2_js6cw")
[node name="House_C_1_010|Cube_330|Dupli|" parent="House_C_1_010" parent_id_path=PackedInt32Array(1377410594) index="0" unique_id=1906771548]
[node name="House_C_1_010" parent="." index="6" unique_id=1285140680 groups=["weather_node"]]
[node name="House_C_1_010|Cube_330|Dupli|" parent="House_C_1_010" index="0" unique_id=2056261753]
surface_material_override/0 = ExtResource("5_471jd")
surface_material_override/1 = ExtResource("6_wwyrs")
[node name="House_C_1_011|Cube_330|Dupli|" parent="House_C_1_011" parent_id_path=PackedInt32Array(381470710) index="0" unique_id=758032673]
[node name="House_C_1_011" parent="." index="7" unique_id=1413801634 groups=["weather_node"]]
[node name="House_C_1_011|Cube_330|Dupli|" parent="House_C_1_011" index="0" unique_id=1638321395]
surface_material_override/0 = ExtResource("5_471jd")
surface_material_override/1 = ExtResource("6_wwyrs")
[node name="Lanterne_009" parent="." index="8" unique_id=643151751]
[node name="Lanterne_009" parent="." index="8" unique_id=1499773616]
surface_material_override/0 = ExtResource("6_wwyrs")
surface_material_override/1 = ExtResource("5_471jd")
[node name="MSH_Staccioanta_1_016" parent="." index="9" unique_id=1505741880]
[node name="MSH_Staccioanta_1_016" parent="." index="9" unique_id=1184159133]
surface_material_override/0 = ExtResource("7_i7crw")
[node name="PaliLuci_007" parent="." index="10" unique_id=138242778]
[node name="PaliLuci_007" parent="." index="10" unique_id=103133870]
surface_material_override/0 = ExtResource("8_dwkbu")
surface_material_override/1 = ExtResource("7_i7crw")
[node name="Strada_014" parent="." index="11" unique_id=1837061207]
[node name="Strada_014" parent="." index="11" unique_id=132166129 groups=["weather_node"]]
surface_material_override/0 = ExtResource("9_qbooo")
[node name="grass" type="Node3D" parent="." index="12" unique_id=1609312469 groups=["weather_vegetables_node", "wind_node"]]
@@ -310,5 +314,5 @@ shadow_opacity = 0.96
omni_range = 10.0
omni_attenuation = 2.0
[node name="Water_F_010" parent="." index="16" unique_id=1190276160]
[node name="Water_F_010" parent="." index="16" unique_id=1575540816]
surface_material_override/0 = ExtResource("17_tuv54")

View File

@@ -70,31 +70,31 @@ est = true
river_south = true
river_west = true
[node name="Argini_016" parent="." index="0" unique_id=2109436536]
[node name="Argini_016" parent="." index="0" unique_id=1569700439]
surface_material_override/0 = ExtResource("3_jrxr5")
[node name="Argini_F_011" parent="." index="1" unique_id=1501903033]
[node name="Argini_F_011" parent="." index="1" unique_id=746029105]
surface_material_override/0 = ExtResource("3_jrxr5")
[node name="Chunk_019" parent="." index="2" unique_id=2048565985]
[node name="Chunk_019" parent="." index="2" unique_id=432366291]
surface_material_override/0 = ExtResource("3_jrxr5")
[node name="Flower_017" parent="." index="3" unique_id=1701289870]
[node name="Flower_017" parent="." index="3" unique_id=1602823058]
visible = false
[node name="FlowerG_014" parent="." index="4" unique_id=1473582000]
[node name="FlowerG_014" parent="." index="4" unique_id=1108572235]
visible = false
[node name="MSH_Staccioanta_1_010" parent="." index="5" unique_id=1293236768]
[node name="MSH_Staccioanta_1_010" parent="." index="5" unique_id=1356459847]
surface_material_override/0 = ExtResource("4_br2wm")
[node name="Sentieri_002" parent="." index="6" unique_id=115567893]
[node name="Sentieri_002" parent="." index="6" unique_id=645670437 groups=["weather_node"]]
surface_material_override/0 = ExtResource("5_br2wm")
[node name="Water_017" parent="." index="7" unique_id=1815217646]
[node name="Water_017" parent="." index="7" unique_id=133111535]
surface_material_override/0 = ExtResource("6_nbmm4")
[node name="Water_F_011" parent="." index="8" unique_id=299227028]
[node name="Water_F_011" parent="." index="8" unique_id=1907133028]
surface_material_override/0 = ExtResource("7_enote")
[node name="grass" type="Node3D" parent="." index="9" unique_id=1171398973 groups=["weather_vegetables_node", "wind_node"]]
@@ -443,7 +443,7 @@ cast_shadow = 0
mesh = SubResource("PlaneMesh_3o8wc")
surface_material_override/0 = ExtResource("7_omm55")
[node name="Bambu" type="Node3D" parent="." index="12" unique_id=720397067]
[node name="Bambu" type="Node3D" parent="." index="12" unique_id=720397067 groups=["weather_vegetables_node", "wind_node"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19.506226, 0, 11.726283)
[node name="Bambù15" parent="Bambu" index="0" unique_id=514636059 instance=ExtResource("11_ypskt")]

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(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -380, 0, -320)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0, -260)
[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.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, -360, 0, -320)
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -280, 0, -240)
[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(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -280, 0, -240)
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -360, 0, -320)
[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)

View File

@@ -4,8 +4,7 @@
[ext_resource type="Material" uid="uid://df1ghvw3d61x8" path="res://tgcc/train/train1.tres" id="2_crne2"]
[ext_resource type="Material" uid="uid://cufolpn48xxmv" path="res://tgcc/train/train2.tres" id="3_tf27f"]
[ext_resource type="Material" uid="uid://bu8wmlp0ffark" path="res://tgcc/train/train3.tres" id="4_e08y7"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tvivt"]
[ext_resource type="Material" uid="uid://cn5vw7unbqgve" path="res://core/daynight/weather_overlay.tres" id="5_weather"]
[sub_resource type="PlaneMesh" id="PlaneMesh_8k78i"]
@@ -19,7 +18,7 @@ transform = Transform3D(-0.85, 0, -1.2834644e-07, 0, 0.85, 0, 1.2834644e-07, 0,
[node name="polySurface3708_002" parent="." index="0" unique_id=1080693866]
transform = Transform3D(99.99998, 0, 0, 0, -4.3711375e-06, 99.99999, 0, -99.99997, -4.3711384e-06, 0, 1.5, 0)
material_overlay = SubResource("ShaderMaterial_tvivt")
material_overlay = ExtResource("5_weather")
surface_material_override/0 = ExtResource("2_crne2")
surface_material_override/1 = ExtResource("3_tf27f")
surface_material_override/2 = ExtResource("2_crne2")