From 7240b82e9bb81060ea59a54874faeecd112b4af9 Mon Sep 17 00:00:00 2001 From: MelekTaus Moribundus Date: Fri, 17 Jul 2026 18:33:09 +0200 Subject: [PATCH] Docs: bring GAME_DESIGN.md up to date, minor README consistency tweaks GAME_DESIGN.md was ~100 commits behind: sphere brush with backface rejection, spray, emission channel, camo/material sliders (runtime-only persistence), radial pose menu + rendered pose icons, overview/escape menu, rendering stack (HTrace WSGI / Deferred+, AVP shader URP ports, lobby GI toggle), Poly Haven / ambientCG importers and misc editor tools. README: radial pose menu + overview menu mentions. Co-Authored-By: Claude Fable 5 --- Docs/GAME_DESIGN.md | 53 +++++++++++++++++++++++++++++++++------------ README.md | 5 +++-- 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/Docs/GAME_DESIGN.md b/Docs/GAME_DESIGN.md index 06ca948..42794b2 100644 --- a/Docs/GAME_DESIGN.md +++ b/Docs/GAME_DESIGN.md @@ -73,21 +73,32 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha Schwellenwert, nicht am Boden; pro Pose authorbar mit Idle-Fallback) - [x] **Fell** (`FurShellRenderer`): Shell-basiertes Fur auf dem Body, färbt mit der Bemalung mit +- [x] **Radiales Posen-Menü** mit Hotkeys (bei ≤ 2 Posen direktes Durchschalten) + + **gerenderte Pose-Icons** (eigene `Pose Icon`-Szene mit Capture-Pipeline, + Toon-Shader mit Outline) ### Bemalen (Kern der Camouflage-Idee) - [x] **MeshPainter**: nahtfreies Bemalen direkt auf dem 3D-Mesh des Charakters - [x] **GPU- und CPU-Pfad**, umschaltbar; Edge-Padding/Dilation gegen Naht-Linien -- [x] Pinsel: **Farbe**, **Größe**, Texturauflösung, Grundfarbe (Inspector) -- [x] Shader: `MeshPaintBrush.shader`, `MeshPaintDilate.shader` -- [x] **Farbwähler-UI** (Farbrad/Color-Picker) statt fester Inspector-Farbe -- [x] **Pipette / Eyedropper**: Umgebungsfarbe per Klick aufnehmen -- [x] Weitere Brushes (Größe per Hotkey/Slider, evtl. Muster/Texturen) +- [x] **Kugel-Brush** (3D-Distanz statt Box) mit **Rückseiten-Abweisung** über die + Flächen-Normale (`brushMaxSurfaceAngle`) — kein Durchmalen auf die Gegenseite + dünner Geometrie, kein Übergreifen an Nähten +- [x] Pinsel: **Farbe**, **Größe**, Masken, **Spray**, Texturauflösung, Grundfarbe +- [x] Shader: `MeshPaintBrush.shader`, `MeshPaintDilate.shader`, Preview-Shader + (Vorschau matcht die echte Landung) +- [x] **Farbwähler-UI** (HSV-Color-Picker) statt fester Inspector-Farbe +- [x] **Pipette / Eyedropper**: nimmt Albedo, Metallic/Smoothness und Emission aus der + Umgebung auf — auch von den Custom-/AVP-Shadern +- [x] Weitere Brushes (Größe per Hotkey/Slider, Masken/Muster) - [x] **Undo** der Bemalung (Checkpoint-basiert, auch über das Netzwerk) — ein separates Komplett-**Reset** ist bewusst nicht nötig (Undo deckt das ab) -- [x] **PBR-Kanäle malbar**: Metallic/Smoothness und **Höhe** (Occlusion-Kanal mit - Relief-Normal- und Parallax-Shading) — pro Kanal zuschaltbar im Paint-HUD -- [x] **Camo-Regler**: **Brightness** (generelle Exposure) + **Saturation** - (0 = neutral, −1 = grau) — persistent und netz-repliziert +- [x] **PBR-Kanäle malbar**: Metallic/Smoothness, **Höhe** (Occlusion-Kanal mit + Relief-Normal- und Parallax-Shading) und **Emission** (mit Intensitäts-Regler) — + pro Kanal zuschaltbar im Paint-HUD +- [x] **Camo-/Material-Regler**: **Brightness**, **Saturation**, **Half Lambert**, + **Specular Damp** sowie Occlusion-/Normal-/Parallax-Intensität — netz-repliziert; + Laufzeit-Werte überleben den Respawn, werden aber bewusst **nicht** auf Disk + persistiert (Session startet auf Authoring-Defaults) - [x] **Painting-Library**: Bemalungen benannt **speichern/laden/löschen** (versionierte Slots inkl. aller Regler; Laden wird an Mitspieler re-broadcastet) @@ -103,12 +114,25 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha - [x] **Paint-Modus** (kein Movement, Linksklick malt, Rechtsklick hält Kamera-Dreh) - [x] **First-Person-Modus** (Hunter: FP-Kamera + Schießen per Linksklick-Raycast) - [x] **Free-Cam / Spectator-Modus** (gefundene/zuschauende Spieler beobachten frei) +- [x] **Overview-/Escape-Menü** (`OverviewMenu`, Esc/Tab): Icon-Buttons mit Hotkey-Hints, + Taunt-Button, Match-Results-Modal, kontextsensitiver Disconnect - [x] **FrameRateLimiter** (FPS-Begrenzung, VSync-Handling) -- [x] **Settings-Persistenz** (`GameSettings`): Master-Volume- & Maus-Sensitivitäts-Slider +- [x] **Settings-Persistenz** (`GameSettings`): Master-Volume- & Maus-Sensitivitäts-Slider; + Paint-HUD-Layout/Brush-Werte persistent (`PaintHud.json`) - [x] **SkyboxEnvironmentUpdater**: Sky-Reflexion + Ambient ohne gebackenes LightingData (Custom-Cubemap-Render, Intensity-Regler, separates Reflexions-Sky-Material möglich) +- [x] **Rendering**: URP **Deferred+** mit **HTrace WSGI** Global Illumination + (in der Lobby automatisch deaktiviert, `HTraceLobbyToggle`); handgeschriebene + **URP-Ports der AVP/ArchViz-Shader** (POM, Glass, Velvet, Curtains, DoubleSided, + Nature, Vegetation) inkl. GBuffer-/Deferred+-Fixes und HeroCutout-Support - [x] **Concealment-Tooling**: `ConcealmentMeter` (volumetrische „wie tief steckt der Hider in Geometrie"-Messung) + Collider-Baker (`ConcealmentColliderBaker`, VHACD, Skinned) +- [x] **Asset-Importer** (Editor): **Poly-Haven-Importer** (Texturen **und** Modelle — + Katalog-Browser mit Thumbnail-Grid, PBR-Download, automatisches URP/Lit-Material + inkl. Roughness→Smoothness-Repack + ARM-Fallback, FBX-Material-Remap) und + **ambientCG-Importer** auf geteiltem `WebAssets`-Framework +- [x] Weitere Editor-Tools: Pose-Icon-Capture (`PoseIconStage`), `PictureFrameBuilder`, + Normal-Map-Generator - [x] Git initialisiert (Unity-`.gitignore` + `.gitattributes`), englische Commits ### Multiplayer (reines Online-PvP) @@ -178,11 +202,12 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha ### Welt & Präsentation - [ ] **Maps / Level-Design** ausbauen (mehr Verstecke, abwechslungsreiche Oberflächen/Farben) — Szenen `Lobby`, `The Room`, `Test Map` existieren als Basis -- [ ] **UI-Ausbau**: Menüs — Match-HUD, Ergebnis-Screen, Paint-HUD (inkl. Library) - und Session-Browser sind bereits uGUI +- [ ] **UI-Ausbau**: Feinschliff — Match-HUD, Ergebnis-Screen, Paint-HUD (inkl. Library), + Session-Browser und Overview-/Escape-Menü sind bereits uGUI - [ ] **Audio**: SFX (Schritte, Klettern, Schuss, ggf. Pfeifen), Musik -- [ ] **Beleuchtung / Art-Direction** finalisieren (Sky-Reflexion/Ambient via - `SkyboxEnvironmentUpdater` und erste Shadow-Passes sind drin) +- [ ] **Beleuchtung / Art-Direction** finalisieren (HTrace WSGI GI + Deferred+ und + Sky-Reflexion/Ambient via `SkyboxEnvironmentUpdater` stehen; Material-/Map-Look + wird gerade mit den Poly-Haven-/ambientCG-Sets ausgebaut) --- diff --git a/README.md b/README.md index 20339f0..8bda3bb 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,8 @@ while hunters try to find them. Pure online PvP with an extended traversal kit camo sliders (brightness/saturation) and a **painting library** (save/load/delete named paintings, replicated to other players). - **Pose system** — poses (curl up, lie down, T-pose, …) to match object silhouettes, - with per-pose fall animations and rendered pose icons. + chosen via a radial menu with hotkeys, with per-pose fall animations and rendered + pose icons. - **Multiplayer (Netcode for GameObjects + UGS Sessions)** — session browser with host/join, lobby + match scenes, owner-authoritative movement sync, networked painting with late-join replay, role prefab variants (hunter/hider). @@ -57,7 +58,7 @@ while hunters try to find them. Pure online PvP with an extended traversal kit | Left click | Paint (Paint mode) / shoot (hunter) | | Right click (hold) | Orbit camera in Paint mode | | E | Self-ping / taunt (hider, seek phase) | -| Esc | Pause overlay / session browser | +| Esc | Overview menu (pause, session browser, match results) | ## Getting started