From d6c3e2a3b8427cc7f7a95d4becb24ce6a7435b66 Mon Sep 17 00:00:00 2001 From: MelekTaus Moribundus Date: Fri, 17 Jul 2026 18:30:22 +0200 Subject: [PATCH] Update README to current project state The README still described the earliest painting/movement prototype. Bring it up to date with the playable multiplayer prototype: match loop (Classic/ Conversion), Paint HUD + PBR channels, pose system, NGO/UGS networking, HTrace Deferred+ rendering, editor tooling (Poly Haven / ambientCG importers), current controls, Main boot scene flow, real project layout and an updated roadmap. Co-Authored-By: Claude Fable 5 --- README.md | 86 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 59 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index eb104e2..20339f0 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,48 @@ # Chameleon -A Unity mesh-painting game inspired by **Meccha Chameleon** — not a 1:1 clone. -You paint your character directly on its 3D mesh to blend into the environment, -and move with an extended traversal kit (run, jump, slope-slide, wall-climb). +A Unity online hide-and-seek game inspired by **Meccha Chameleon** — not a 1:1 clone. +Hiders paint their character directly on its 3D mesh to blend into the environment, +while hunters try to find them. Pure online PvP with an extended traversal kit +(run, jump, slope-slide, wall-climb, mantle). -> Status: early prototype. Core painting and movement work; the hide-and-seek -> game loop (roles, rounds, scoring, multiplayer) is not built yet. +> Status: playable multiplayer prototype. The core match loop works end-to-end +> (host/join, roles, phases, shooting/conversion, radar, result screen); what's +> left is mostly map design, audio and polish. ## Features so far - **Seamless mesh painting** straight onto the character's 3D mesh (GPU + CPU path, - edge-dilation against seams). -- **Third-person character controller** — camera-relative WASD, jump, gravity, - slope-sliding off too-steep surfaces, hold-to-sprint and acceleration/deceleration - for smooth ramp-up and roll-out. -- **Wall-climb + mantle** — climb walls/ceilings (W approach/up, S detach, A/D - sideways) and pull up over top edges (or hop over slope tops) instead of dropping. -- **Cinemachine orbit camera** — mouse look, interpolated scroll zoom, smoothed - orbit rotation, collision deocclusion. -- **Animator hookup** — drives a `Running` bool while moving on the ground. -- **Game mode manager** — extensible state machine, switch with **Tab**: - - *Player Control* — move + mouse look. - - *Paint* — no movement, left-click paints, hold right-click to orbit. + edge-dilation against seams, spherical brush with backface rejection, spray, + networked undo). Paintable **PBR channels**: albedo, metallic/smoothness and + height (relief normal + parallax shading). +- **Paint HUD** — HSV color picker, **eyedropper** (picks albedo/metallic/smoothness/ + emission from the environment, incl. custom shaders), brush/channel toggles, + 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. +- **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). +- **Match loop** (server-authoritative): hide → seek → resolve → back to lobby. + Two modes: **Classic** (found hiders spectate) and **Conversion** (found hiders + become hunters). Hunter FP shooting, radar sweeps + self-ping taunt (E), + X-ray reveal (anti-cheese via concealment measurement), conversion statues, + match HUD and result screen with win evaluation. +- **Third-person character controller** — camera-relative WASD, jump, sprint, + slope-sliding, acceleration/deceleration, **wall-climb** (walls & ceilings, + volumetric probes) and **mantle/top-out**. +- **Cinemachine orbit camera** — mouse look, interpolated zoom, smoothed orbit, + collision deocclusion, plus **HeroCutout** occlusion fade (soft cone cutout). +- **Game modes** (extensible state machine, Tab): Player Control, Paint, + First Person (hunter) and Free Cam (spectator). +- **Rendering** — URP Deferred+ with **HTrace WSGI** global illumination + (auto-disabled in the lobby), custom URP ports of the ArchViz shaders, + shell-based fur that tints with the painting, skybox environment updater. +- **Editor tooling** — **Poly Haven importer** (textures *and* models: catalog + browser, PBR download, auto URP/Lit material build incl. roughness→smoothness + repack + ARM fallback), **ambientCG importer** (shared web-asset framework), + concealment collider baker (VHACD), normal-map generator and more. ## Controls @@ -32,26 +53,37 @@ and move with an extended traversal kit (run, jump, slope-slide, wall-climb). | Space | Jump | | Mouse | Look / orbit camera | | Mouse wheel | Zoom | -| Left click | Paint (Paint mode) | | Tab | Switch mode (Player Control ⇄ Paint) | +| 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 | ## Getting started 1. Open the project with **Unity 6000.3.11f1** (Unity 6). -2. Open `Assets/Scenes/SampleScene.unity`. -3. Press **Play**, move with WASD, press **Tab** to switch to Paint mode and paint. +2. Open `Assets/Scenes/Main.unity` (boot scene — Lobby/match scenes load additively). +3. Press **Play**, host a session in the lobby (or join one), step into the + start-match trigger to begin a round. -Cinemachine (`com.unity.cinemachine`) and the Input System are resolved -automatically via the package manifest. +Cinemachine, the Input System, Netcode for GameObjects and UGS packages are +resolved automatically via the package manifest. ## Project layout -- `Assets/Scripts/` — gameplay scripts (`PlayerCharacterController`, `MeshPainter`, - `ThirdPersonOrbitInput`, `GameModeManager`, modes, `FrameRateLimiter`). -- `Assets/Scenes/` — `SampleScene` (the playground). +- `Assets/Scripts/Components/` — gameplay components (`MeshPainter`, controllers, + concealment, `HeroCutout`, fur, radar, UI/Paint HUD). +- `Assets/Scripts/Network/` — multiplayer (`MatchManager`, session browser, + paint/animation sync, match HUD/result screen). +- `Assets/Scripts/GameMode/` — the mode state machine (Player Control, Paint, + First Person, Free Cam). +- `Assets/Scripts/Editor/` — editor tools (Poly Haven / ambientCG importers, + shared `WebAssets` framework, bakers, generators). +- `Assets/Scenes/` — `Main` (boot), `Lobby`, `The Room`, `Test Map`, `Pose Icon`. - `Docs/GAME_DESIGN.md` — design notes and the full feature checklist (German). ## Roadmap -See **[`Docs/GAME_DESIGN.md`](Docs/GAME_DESIGN.md)** for what's done and what's next -(color-picker UI, eyedropper, poses, seeker role, rounds, multiplayer). +See **[`Docs/GAME_DESIGN.md`](Docs/GAME_DESIGN.md)** for the detailed checklist. +In short: map/level design depth, audio (SFX/music), art direction & lighting +polish, and multiplayer robustness (reconnect, host migration).