Compare commits

...

2 Commits

Author SHA1 Message Date
admin 5ea83b06ed feat: directional wind breeze and painted-terrain Ghibli styling
- Wind strokes now flow in a single prevailing direction (left-to-right breeze)
  with gentle flatness, narrow spread, and subtle tangential sway
- Added floating white specks (WindSpecks) as sunlight pollen/dust motes
- Two of each emitter (valley + ridge) for layered atmosphere
- Terrain: disabled auto_base_texture for flatter painted look, enabled
  overlay texture, bolder macro-variation (yellow-green 0.78/0.90/0.42
  and emerald 0.55/0.75/0.38), sharper material blends
2026-07-08 18:49:23 +02:00
admin ae0b3dbf89 chore: add wind stroke shader uid sidecar 2026-07-08 18:47:47 +02:00
4 changed files with 71 additions and 27 deletions
+13 -8
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=40 format=3]
[gd_scene load_steps=41 format=3]
[ext_resource type="Terrain3DAssets" path="res://terrain/jajce/assets.tres" id="1_assets"]
[ext_resource type="PackedScene" path="res://world/resource_nodes/ResourceNode.tscn" id="2_resource"]
@@ -17,17 +17,18 @@
[ext_resource type="Script" path="res://world/activity/ActivitySite.gd" id="15_activity"]
[ext_resource type="NavigationMesh" path="res://world/jajce/JajceNavigationMesh.tres" id="16_nav"]
[ext_resource type="PackedScene" path="res://world/jajce/WindStrokes.tscn" id="19_windstrokes"]
[ext_resource type="PackedScene" path="res://world/jajce/WindSpecks.tscn" id="20_windspecks"]
[sub_resource type="Terrain3DMaterial" id="Terrain3DMaterial_jajce"]
_shader_parameters = {
"auto_base_texture": 1,
"auto_overlay_texture": 0,
"auto_slope": 0.68,
"blend_sharpness": 0.78,
"auto_base_texture": 0,
"auto_overlay_texture": 1,
"auto_slope": 0.62,
"blend_sharpness": 0.88,
"enable_macro_variation": true,
"macro_variation1": Color(0.84, 0.92, 0.55, 1),
"macro_variation2": Color(0.62, 0.78, 0.48, 1),
"macro_variation_slope": 0.42
"macro_variation1": Color(0.78, 0.9, 0.42, 1),
"macro_variation2": Color(0.55, 0.75, 0.38, 1),
"macro_variation_slope": 0.48
}
world_background = 0
auto_shader = true
@@ -606,6 +607,10 @@ directional_shadow_max_distance = 180.0
[node name="WindStrokes_Ridge" parent="." instance=ExtResource("19_windstrokes")]
[node name="WindSpecks_Valley" parent="." instance=ExtResource("20_windspecks")]
[node name="WindSpecks_Ridge" parent="." instance=ExtResource("20_windspecks")]
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_greybox")
+37
View File
@@ -0,0 +1,37 @@
[gd_scene load_steps=4 format=3]
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_specks"]
lifetime_randomness = 0.8
spread = 120.0
flatness = 0.5
gravity = Vector3(-0.35, 0.25, 0.0)
initial_velocity_min = 0.2
initial_velocity_max = 1.2
scale_min = 0.06
scale_max = 0.28
color = Color(1, 0.98, 0.9, 0.3)
color_ramp = 1
emission_shape = 1
emission_box_extents = Vector3(32.0, 14.0, 32.0)
[sub_resource type="StandardMaterial3D" id="Material_speck"]
albedo_color = Color(1, 0.98, 0.92, 0.3)
transparency = 1
shading_mode = 0
billboard_mode = 1
cull_mode = 0
[sub_resource type="QuadMesh" id="Mesh_speck"]
material = SubResource("Material_speck")
size = Vector2(0.12, 0.12)
[node name="WindSpecks" type="GPUParticles3D"]
emitting = true
amount = 40
lifetime = 6.0
one_shot = false
preprocess = 4.0
speed_scale = 1.0
local_coords = false
process_material = SubResource("ParticleProcessMaterial_specks")
draw_pass_1 = SubResource("Mesh_speck")
+20 -19
View File
@@ -7,32 +7,33 @@ shader = ExtResource("1_shader")
[sub_resource type="QuadMesh" id="Mesh_stroke"]
material = SubResource("ShaderMaterial_stroke")
size = Vector2(1.8, 0.18)
size = Vector2(2.4, 0.14)
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_wind"]
lifetime_randomness = 0.5
spread = 160.0
gravity = Vector3(0, 0.15, 0)
initial_velocity_min = 0.6
initial_velocity_max = 2.5
angular_velocity_min = -0.6
angular_velocity_max = 0.6
radial_accel_min = -0.2
radial_accel_max = 0.2
tangential_accel_min = -0.3
tangential_accel_max = 0.3
scale_min = 0.5
scale_max = 1.5
color = Color(1, 1, 1, 0.5)
lifetime_randomness = 0.6
spread = 55.0
flatness = 0.7
gravity = Vector3(-0.6, 0.35, 0.0)
initial_velocity_min = 0.8
initial_velocity_max = 2.8
angular_velocity_min = -0.25
angular_velocity_max = 0.25
radial_accel_min = 0.0
radial_accel_max = 0.0
tangential_accel_min = -0.08
tangential_accel_max = 0.08
scale_min = 0.3
scale_max = 1.2
color = Color(1, 1, 1, 0.35)
emission_shape = 1
emission_box_extents = Vector3(35.0, 10.0, 35.0)
emission_box_extents = Vector3(28.0, 8.0, 28.0)
[node name="WindStrokes" type="GPUParticles3D"]
emitting = true
amount = 18
lifetime = 4.0
amount = 24
lifetime = 5.0
one_shot = false
preprocess = 2.0
preprocess = 3.0
speed_scale = 1.0
local_coords = false
process_material = SubResource("ParticleProcessMaterial_wind")
@@ -0,0 +1 @@
uid://b8dxberetmchf