feat: add stylized villager presentation

This commit is contained in:
Rijad Zuzo
2026-07-09 23:47:46 +02:00
parent 8419116008
commit 39989002ca
20 changed files with 395 additions and 32 deletions
+5 -3
View File
@@ -11,19 +11,21 @@ scale_max = 0.6
color = Color(0.8, 0.8, 0.8, 0.6)
[sub_resource type="StandardMaterial3D" id="4"]
albedo_color = Color(1, 1, 1, 1)
albedo_color = Color(0.5, 0.52, 0.5, 0.24)
transparency = 1
shading_mode = 0
vertex_color_use_as_albedo = true
vertex_color_is_srgb = true
billboard_mode = 1
cull_mode = 0
[sub_resource type="QuadMesh" id="5"]
size = Vector2(1, 1)
size = Vector2(0.8, 0.8)
material = SubResource("4")
[node name="ChimneySmoke" type="GPUParticles3D"]
emitting = true
amount = 16
amount = 12
lifetime = 3.0
one_shot = false
local_coords = true
+2
View File
@@ -610,10 +610,12 @@ directional_shadow_max_distance = 180.0
[node name="WindStrokes_Valley" parent="." instance=ExtResource("19_windstrokes")]
[node name="WindStrokes_Ridge" parent="." instance=ExtResource("19_windstrokes")]
position = Vector3(-25, 7, 9)
[node name="WindSpecks_Valley" parent="." instance=ExtResource("20_windspecks")]
[node name="WindSpecks_Ridge" parent="." instance=ExtResource("20_windspecks")]
position = Vector3(-25, 7, 9)
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_greybox")
+1
View File
@@ -24,6 +24,7 @@ material = SubResource("Material_mist")
size = Vector2(1.8, 1.8)
[node name="WaterfallMist" type="GPUParticles3D"]
position = Vector3(25, 0.8, -24)
emitting = true
amount = 72
lifetime = 3.0
+2 -2
View File
@@ -7,7 +7,7 @@ shader = ExtResource("1_shader")
[sub_resource type="QuadMesh" id="Mesh_stroke"]
material = SubResource("ShaderMaterial_stroke")
size = Vector2(2.4, 0.14)
size = Vector2(1.5, 0.07)
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_wind"]
lifetime_randomness = 0.6
@@ -30,7 +30,7 @@ emission_box_extents = Vector3(28.0, 8.0, 28.0)
[node name="WindStrokes" type="GPUParticles3D"]
emitting = true
amount = 24
amount = 10
lifetime = 5.0
one_shot = false
preprocess = 3.0
+1 -1
View File
@@ -10,7 +10,7 @@ uniform vec3 foam_color : source_color = vec3(0.82, 0.88, 0.86);
uniform float rim_power : hint_range(0.5, 5.0) = 2.5;
uniform float sparkle_strength : hint_range(0.0, 1.0) = 0.12;
global uniform vec3 sun_direction = vec3(0.4, 0.8, 0.4);
uniform vec3 sun_direction = vec3(0.4, 0.8, 0.4);
void vertex() {
vec3 pos = VERTEX;
+2 -2
View File
@@ -1,5 +1,5 @@
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_disabled, unshaded;
render_mode blend_mix, depth_draw_never, cull_disabled, unshaded;
uniform float softness : hint_range(0.0, 1.0) = 0.45;
uniform vec3 tint : source_color = vec3(0.95, 0.93, 0.88);
@@ -8,7 +8,7 @@ void fragment() {
float edge_dist = abs(UV.y - 0.5) * 2.0;
float alpha = 1.0 - smoothstep(0.0, 1.0, edge_dist);
alpha *= smoothstep(0.0, 0.2, UV.x) * smoothstep(0.0, 0.2, 1.0 - UV.x);
alpha *= softness * 0.35;
alpha *= softness * 0.1;
ALBEDO = tint;
ALPHA = alpha;
}