From 812da1a261ae30dbfd6a59fabf38e6cf9ea00de1 Mon Sep 17 00:00:00 2001 From: "Hermes (scopedvr-dev)" Date: Tue, 20 Oct 2026 21:19:20 +0000 Subject: [PATCH] Playtest-Avatar (t_17a35c59): Kommentar-Harmonisierung nach Rebase auf 52919b3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Beide WASD-Yaw-Fixes koexistieren (52919b3: Bewegung aus yaw_deg; t_17a35c59: Koerper-Rotation fuer Avatar-Front + Third-Person-Kamera). Die Kommentare behaupteten gegensaetzliche Fakten — jetzt konsistent. Suiten: test_playtest_avatar 84/84, test_playtest 39/39. --- src/editor/playtest/playtest_body.gd | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/editor/playtest/playtest_body.gd b/src/editor/playtest/playtest_body.gd index b891550..b365446 100644 --- a/src/editor/playtest/playtest_body.gd +++ b/src/editor/playtest/playtest_body.gd @@ -137,11 +137,12 @@ var perspektive_dritte := false ## Blickrichtung auf Körper + Kameras übertragen. -## Der BODY rotiert mit dem Blick-Yaw (1:1 TestmapPlayer._unhandled_input -## rotate_y) — damit folgt die WASD-Bewegung der Blickrichtung wie im -## Client. Vor t_17a35c59 blieb der Body ungedreht (Beweis-Probe -## tests/probe_move_dir.gd: yaw −90° + W → −Z statt +X = weltachsen-fixiert, -## Abweichung vom Client-Mirror). +## Der BODY rotiert mit dem Blick-Yaw (wie TestmapPlayer.rotate_y) — das +## trägt die Avatar-Front (Kind des Körpers) und die Third-Person-Kamera. +## Die WASD-Bewegung selbst folgt dem Yaw über _fahren (parallel gefixt in +## 52919b3, dort aus yaw_deg gebaut — beide Wege ergeben dieselbe Richtung). +## Vor beiden Fixes blieb der Body ungedreht (Beweis-Probe +## tests/probe_move_dir.gd: yaw −90° + W → −Z statt +X = weltachsen-fixiert). func _apply_look() -> void: # 1:1 TestmapPlayer: der BODY trägt den Yaw (rotate_y), die Kamera nur # den Pitch — sonst doppelt sich die Drehung (Kamera hängt am Körper). @@ -222,11 +223,13 @@ func _fahren(delta: float, input: Dictionary) -> void: return # Welt-Richtung aus dem Blickwinkel (y-only, wie Client). WICHTIG: aus - # yaw_deg bauen, NICHT aus transform.basis — die Kamera-Drehung steckt - # im look_cam-Kindknoten, der Körperknoten selbst rotiert nicht (Sly- - # Befund 20.10.: WASD lief sonst stur in eine Himmelsrichtung). Die - # Quest rotiert dagegen den ganzen Origin mit dem Kopf — hier - # entspricht yaw_deg diesem Kopf-Yaw. Identisch zu view_direction(). + # yaw_deg bauen, NICHT aus transform.basis (Sly-Befund 20.10.: WASD lief + # sonst stur in eine Himmelsrichtung). Seit t_17a35c59 rotiert der + # Körperknoten ZUSÄTZLICH mit dem Yaw (_apply_look — Avatar-Front und + # Third-Person-Kamera hängen daran); die Bewegung bleibt bewusst an + # yaw_deg gekoppelt — beide Wege führen auf dieselbe Richtung, die + # Entkopplung hält die Bewegung unabhängig vom Avatar-Zustand. + # Identisch zu view_direction(). var yaw_rad := deg_to_rad(yaw_deg) var forward := Vector3(-sin(yaw_rad), 0.0, -cos(yaw_rad)) var right := Vector3(cos(yaw_rad), 0.0, -sin(yaw_rad))