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 <noreply@anthropic.com>
This commit is contained in:
adminandClaude Fable 5 committed 2026-07-17 18:30:22 +02:00
1 parent 78ae0c84d8
commit d6c3e2a3b8
1 file changed
+59 -27
+59 -27
View File
@@ -1,27 +1,48 @@
# Chameleon # Chameleon
A Unity mesh-painting game inspired by **Meccha Chameleon** — not a 1:1 clone. A Unity online hide-and-seek game inspired by **Meccha Chameleon** — not a 1:1 clone.
You paint your character directly on its 3D mesh to blend into the environment, Hiders paint their character directly on its 3D mesh to blend into the environment,
and move with an extended traversal kit (run, jump, slope-slide, wall-climb). 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 > Status: playable multiplayer prototype. The core match loop works end-to-end
> game loop (roles, rounds, scoring, multiplayer) is not built yet. > (host/join, roles, phases, shooting/conversion, radar, result screen); what's
> left is mostly map design, audio and polish.
## Features so far ## Features so far
- **Seamless mesh painting** straight onto the character's 3D mesh (GPU + CPU path, - **Seamless mesh painting** straight onto the character's 3D mesh (GPU + CPU path,
edge-dilation against seams). edge-dilation against seams, spherical brush with backface rejection, spray,
- **Third-person character controller** — camera-relative WASD, jump, gravity, networked undo). Paintable **PBR channels**: albedo, metallic/smoothness and
slope-sliding off too-steep surfaces, hold-to-sprint and acceleration/deceleration height (relief normal + parallax shading).
for smooth ramp-up and roll-out. - **Paint HUD** — HSV color picker, **eyedropper** (picks albedo/metallic/smoothness/
- **Wall-climb + mantle** — climb walls/ceilings (W approach/up, S detach, A/D emission from the environment, incl. custom shaders), brush/channel toggles,
sideways) and pull up over top edges (or hop over slope tops) instead of dropping. camo sliders (brightness/saturation) and a **painting library** (save/load/delete
- **Cinemachine orbit camera** — mouse look, interpolated scroll zoom, smoothed named paintings, replicated to other players).
orbit rotation, collision deocclusion. - **Pose system** — poses (curl up, lie down, T-pose, …) to match object silhouettes,
- **Animator hookup** — drives a `Running` bool while moving on the ground. with per-pose fall animations and rendered pose icons.
- **Game mode manager** — extensible state machine, switch with **Tab**: - **Multiplayer (Netcode for GameObjects + UGS Sessions)** — session browser with
- *Player Control* — move + mouse look. host/join, lobby + match scenes, owner-authoritative movement sync, networked
- *Paint* — no movement, left-click paints, hold right-click to orbit. 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 ## Controls
@@ -32,26 +53,37 @@ and move with an extended traversal kit (run, jump, slope-slide, wall-climb).
| Space | Jump | | Space | Jump |
| Mouse | Look / orbit camera | | Mouse | Look / orbit camera |
| Mouse wheel | Zoom | | Mouse wheel | Zoom |
| Left click | Paint (Paint mode) |
| Tab | Switch mode (Player Control ⇄ Paint) | | 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 ## Getting started
1. Open the project with **Unity 6000.3.11f1** (Unity 6). 1. Open the project with **Unity 6000.3.11f1** (Unity 6).
2. Open `Assets/Scenes/SampleScene.unity`. 2. Open `Assets/Scenes/Main.unity` (boot scene — Lobby/match scenes load additively).
3. Press **Play**, move with WASD, press **Tab** to switch to Paint mode and paint. 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 Cinemachine, the Input System, Netcode for GameObjects and UGS packages are
automatically via the package manifest. resolved automatically via the package manifest.
## Project layout ## Project layout
- `Assets/Scripts/` — gameplay scripts (`PlayerCharacterController`, `MeshPainter`, - `Assets/Scripts/Components/` — gameplay components (`MeshPainter`, controllers,
`ThirdPersonOrbitInput`, `GameModeManager`, modes, `FrameRateLimiter`). concealment, `HeroCutout`, fur, radar, UI/Paint HUD).
- `Assets/Scenes/` — `SampleScene` (the playground). - `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). - `Docs/GAME_DESIGN.md` — design notes and the full feature checklist (German).
## Roadmap ## Roadmap
See **[`Docs/GAME_DESIGN.md`](Docs/GAME_DESIGN.md)** for what's done and what's next See **[`Docs/GAME_DESIGN.md`](Docs/GAME_DESIGN.md)** for the detailed checklist.
(color-picker UI, eyedropper, poses, seeker role, rounds, multiplayer). In short: map/level design depth, audio (SFX/music), art direction & lighting
polish, and multiplayer robustness (reconnect, host migration).