From e547fbe1993a7ae2b040d3ec961e25b485afe664 Mon Sep 17 00:00:00 2001 From: Jonas Reith Date: Wed, 26 Aug 2026 20:06:47 +0200 Subject: [PATCH] Rescale island to match player/prop scale, spawn in an outer region Island geometry (table/girdle/crown/pavilion radii, border spacing) scaled down ~5x. The player capsule, camera distance and mountain/ forest scale factors were already correctly tuned to the small world scale established elsewhere in main.tscn; the island itself was the outlier (girdle radius 260 vs. a ~0.5-tall player), making border props and the player look like specks. Shrinking the island was the smaller change versus rescaling every already-tuned system. Player now spawns partway out on one outer facet (region) instead of on the center table, so a walk toward the middle is an actual journey around/through the outer regions rather than starting there. Verified headless with a physics simulation on the new sloped spawn point: player settles and stays on_floor=true, no fall-through. --- main.tscn | 2 +- terrain.gd | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/main.tscn b/main.tscn index 6cc880f..a4b2d5a 100755 --- a/main.tscn +++ b/main.tscn @@ -177,7 +177,7 @@ environment = SubResource("Environment_h2yge") script = ExtResource("1_terrain") [node name="Player" type="CharacterBody3D" parent="." unique_id=1504574304 groups=["player"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.1458, -2.5, 16.25) script = ExtResource("1_0xm2m") [node name="CollisionShape3D" type="CollisionShape3D" parent="Player" unique_id=1483851051] diff --git a/terrain.gd b/terrain.gd index 08f869d..f6a9d05 100644 --- a/terrain.gd +++ b/terrain.gd @@ -6,14 +6,16 @@ extends Node3D # Pavillon (rein optisch): steile 6-seitige Pyramide unter der Rundiste # ═══════════════════════════════════════════════════════════════ -@export var table_radius : float = 80.0 # flaches Sechseck in der Mitte -@export var girdle_radius : float = 260.0 # äußerer Sechseck-Rand (Rundiste) -@export var crown_drop : float = 30.0 # Höhenabfall Tisch -> Rundiste -@export var pavilion_depth : float = 190.0 # Höhenabfall Rundiste -> Spitze +@export var table_radius : float = 15.0 # flaches Sechseck in der Mitte +@export var girdle_radius : float = 50.0 # äußerer Sechseck-Rand (Rundiste) +@export var crown_drop : float = 6.0 # Höhenabfall Tisch -> Rundiste +@export var pavilion_depth : float = 35.0 # Höhenabfall Rundiste -> Spitze @export var angle_offset_deg: float = 0.0 -@export var border_spacing : float = 18.0 # Abstand zwischen Grenz-Props entlang eines Grats -@export var border_jitter : float = 3.0 # zufälliger seitlicher Versatz +# Insel-Maße richten sich nach der Spieler-/Prop-Größe (Capsule ~0.16-0.5, +# Berg/Wald-Modelle bei 0.1-0.2 Skalierung ~2 Einheiten hoch) — nicht umgekehrt. +@export var border_spacing : float = 3.5 # Abstand zwischen Grenz-Props entlang eines Grats +@export var border_jitter : float = 0.6 # zufälliger seitlicher Versatz const COLOR_TABLE := Color(0.75, 0.74, 0.70) const COLOR_FACET_A := Color(0.55, 0.55, 0.48)