Playtest-Avatar (t_17a35c59): Kommentar-Harmonisierung nach Rebase auf 52919b3

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.
This commit is contained in:
Hermes (scopedvr-dev) 2026-10-20 21:19:20 +00:00
parent 6f00737dd3
commit 812da1a261

View file

@ -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))