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
+13
View File
@@ -78,6 +78,10 @@ func _run() -> void:
waterfall_mist.draw_pass_1 != null,
"Waterfall mist particles should have visible billboard geometry"
)
_check(
waterfall_mist.position.distance_to(Vector3(25.0, 0.8, -24.0)) < 0.01,
"Waterfall mist should stay at the waterfall base instead of obscuring the village"
)
_check(world.has_node("WaterRoot/RiverSurface"), "WaterRoot should include a river surface")
var environment: Environment = (
(world.get_node("WorldEnvironment") as WorldEnvironment).environment
@@ -97,16 +101,25 @@ func _run() -> void:
"VillageRoot should include the mill and bridge blockouts"
)
var smoke_count := 0
var smoke_is_translucent := true
for suffix in ["House_01", "House_02", "House_03"]:
if world.has_node("VillageRoot/%s/Smoke" % suffix):
var smoke: GPUParticles3D = world.get_node("VillageRoot/%s/Smoke" % suffix)
if smoke.draw_pass_1 == null:
continue
var smoke_material := (smoke.draw_pass_1 as QuadMesh).material as StandardMaterial3D
smoke_is_translucent = (
smoke_is_translucent
and smoke_material != null
and smoke_material.transparency != BaseMaterial3D.TRANSPARENCY_DISABLED
and smoke_material.albedo_color.a < 0.5
)
smoke_count += 1
_check(
smoke_count >= 2,
"At least two houses should have chimney smoke particles (found %s)" % smoke_count
)
_check(smoke_is_translucent, "Chimney smoke should not render as opaque white quads")
var lookdev: Node3D = load("res://world/jajce/JajceLookdev.tscn").instantiate()
_check(lookdev.has_node("JajceWorld"), "Lookdev should instance JajceWorld")
_check(lookdev.has_node("BeautyCamera"), "Lookdev should provide a beauty camera")