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:
1 parent
78ae0c84d8
commit
d6c3e2a3b8
1 file changed
+59
-27
@@ -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).
|
||||
Reference in new issue
Block a user