23 lines
2.5 KiB
Markdown
23 lines
2.5 KiB
Markdown
# Shooting und Polish
|
||||
|
|
|
|||
|
|
- hitscan_ray.gd / shot_origin.gd: wiederverwendeter RayCast3D pro Spieler, sofortige Auswertung, Kamera-Zielstrahl und Deckungsprüfung am Lauf. Server entscheidet Treffer.
|
|||
|
|
- combat.gd: alle Handfeuerwaffen einschließlich Sniper sind Hitscan. Granaten behalten Flugphysik; keine neue Raketenwaffe.
|
|||
|
|
- weapon_handling.gd behält die analytische Rückstoßfeder; Sway ist exponentiell gedämpft. fighter.gd verwendet nun auch für die Waffenposition exponentielle Dämpfung. Eingabeabtastung und Rendering sind nicht bitidentisch zwischen 60 und 240 FPS.
|
|||
|
|
- hit_stop.gd: lokale Treffer setzen Engine.time_scale auf 0.05. Monotone Echtzeitfrist von 30 ms; Rückstellung im ersten Frame danach. Im Test etwa 42 ms beobachtet. Wiederholte Treffer verlängern die Pause nicht. Verlassen stellt den vorherigen Wert wieder her. Auf dem Listen-Host betrifft dies auch die Serversimulation, auf Clients die lokale Simulation.
|
|||
|
|
- audio.gd: wiederverwendete Schuss-Nodes je Waffe/Schütze, max_polyphony=3 pro Node, Pitch 0.95–1.05. Ein Master-Limiter mit -0.5 dB Ceiling begrenzt den Mix.
|
|||
|
|
- effect_prewarm.gd: Explosion, Treffer, Flash, Rauch, Flamme, Glut, Feuerball und Ring werden hinter dem Startbild in einem aktiven, nicht angezeigten SubViewport tatsächlich gerendert. Headless überspringt dies. Neue Effektvarianten müssen ergänzt werden; treiberabhängige Nachkompilierung bleibt möglich.
|
|||
|
|
- project.godot: Windows und macOS verwenden jetzt Forward+ mit Vulkan als Standard. Automatischer OpenGL-Compatibility-Fallback bleibt aktiviert. Windows-Start und Effekt-Prewarming mit Vulkan wurden im echten Renderlauf bestätigt (logs/vulkan-default-check.log). macOS bleibt auf Hardware ungetestet. Compatibility aktiviert kein SSAO/Glow. Keine pauschale FPS-Garantie.
|
|||
|
|
|
|||
|
|
Godot-Dokumentation zu den Treibern: https://docs.godotengine.org/en/4.5/classes/class_projectsettings.html
|
|||
|
|
|
|||
|
|
## Validierung
|
|||
|
|
|
|||
|
|
- shooting_polish.gd: 19/19; Audio, zehn Rückstoßprofile bei 60/240 Hz, Hit-Stop und echte RayCast3D-Treffer/Misses.
|
|||
|
|
- ttk_muzzle.gd: 60/60.
|
|||
|
|
- graphics.gd: 81/81; SSAO-Erwartung berücksichtigt den Renderer.
|
|||
|
|
- map_weapon_corrections.gd: 24/24.
|
|||
|
|
- Bestehender FPS-LAN-Regressionstest: Host und Client erfolgreich (Nahkampf/Feedback; kein ausführlicher Schuss-Latenztest).
|
|||
|
|
- Echter Windows-Renderlauf: OpenGL 3.3 bestätigt, EFFECT PREWARM complete, sechs Screenshots. Kein belastbarer FPS-Benchmark.
|
|||
|
|
|
|||
|
|
Logs: logs/polish-*.log. Tests wie üblich mit Godot --headless --path . --script tests/shooting_polish.gd starten. Prewarming benötigt einen echten Renderer ohne --headless.
|