- playtest_avatar.gd (NEU): Spiegel-Modul des Bot-Avatars (Quelle bot_avatar.gd/MatchRemoteAvatar) — UAL-GLB + m40-Rifle aus dem Nachbar-Klon ../scopedvr-client (GLTFDocument, kein Duplikat), AnimationTree-Pipeline 1:1 (BlendSpace1D Idle/Walk/Jog auf den Clip-Naturgeschwindigkeiten 0/0,979/2,620 m/s, sync, TimeScale-Kadenz nach BOT2: Schrittlängen 0,95/0,85 m, Klammern 1,0–4,5 / 0,6–2,0, Blend-Glättung 0,25 s), Gait-Schwellen 0,3/2,6 m/s aus der ECHTEN PlaytestBody-Geschwindigkeit, Frontachse +Z → MODEL_YAW_OFFSET = PI. Importer-Semantik nachgebildet: "_loop"-Endungen gestrichen + LOOP_LINEAR (GLTFDocument liefert rohe GLTF-Namen). - playtest_body.gd: Körper trägt den Blick-Yaw (1:1 TestmapPlayer rotate_y — vorher weltachsen-fixierte WASD-Bewegung, Beweis-Probe), Avatar-Halterung (Kopf-Anker 1,65 m, GLB-Füße am Boden), Third-Person- SpringArm3D (3,5 m + 0,3 m Margin, eigener Body ausgeschlossen), toggle_perspektive/set_perspektive, horizontale_geschwindigkeit(). - playtest_settings.gd: persistenter Eintrag dritte_person (Default First). - playtest_mode.gd: Avatar-Bau in enter() (graceful ohne Client-Klon: First Person + Klartext-HUD-Hinweis), Taste V, Gait-Speisung pro Frame, HUD-Hinweis + F1-Hilfe erweitert. - settings_panel.gd: Perspektive-Auswahl (Erste/Dritte) im Einstellungen- Panel, live wirksam + persistiert. - tests/test_playtest_avatar.gd (NEU, 84 checks): Identitäts-Vertrag gegen die Client-Quelle (Konstanten aus bot_avatar/match_remote_avatar/ testmap_player gelesen), GLB-Ladung, Anim-Pipeline, Kadenz-Mathe, Modellhöhe == Kapsel == Client (1,83 m), Rifle-Mount, V-Umschalter + Persistenz, SpringArm (Blick zum Körper, kein Clipping durch Wand), Blickrichtung == Bewegungsrichtung, Playtest-Integration (enter + Gait).
1 line
20 B
Text
1 line
20 B
Text
uid://de8r5nfunbbpb
|