adminandClaude Opus 4.8 5b3fe1d3d1 Add the hide/seek/resolution match state machine
Drive the match through three server-authoritative phases (hide, seek,
resolution) with per-phase durations, broadcasting the active phase and
countdown to clients over the existing named-message infrastructure so
MatchManager stays a plain MonoBehaviour and Main keeps zero in-scene
network objects.

During hide, hider meshes are culled on hunter clients only (each client
computes visibility locally from role, phase and found state). During
seek, hunters shoot a single raycast from the first-person camera centre
(left click, cooldown-gated); a validated hit marks the hider found,
which hides its mesh for everyone and binds the owner to spectator
freecam. Seek ends early once every hider is found, then resolution runs
before returning to the lobby.

Force AlwaysAnimate on remote replicas so the animator keeps writing bone
transforms while the body is hidden or off-screen. The Paintman animator
is authored CullUpdateTransforms, so a culled renderer froze the pose on
the rest pose and the skinned collider baked that frozen pose, landing
replicated paint stamps on the wrong body location and leaving the
painting desynced after hiders were shown again.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:59:46 +02:00
2026-06-28 21:39:48 +02:00
2026-06-27 13:56:59 +02:00

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).

Status: early prototype. Core painting and movement work; the hide-and-seek game loop (roles, rounds, scoring, multiplayer) is not built yet.

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.

Controls

Input Action
WASD Move (camera-relative)
Shift (hold) Sprint
Space Jump
Mouse Look / orbit camera
Mouse wheel Zoom
Left click Paint (Paint mode)
Tab Switch mode (Player Control ⇄ Paint)

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.

Cinemachine (com.unity.cinemachine) and the Input System are resolved automatically via the package manifest.

Project layout

  • Assets/Scripts/ — gameplay scripts (PlayerCharacterController, MeshPainter, ThirdPersonOrbitInput, GameModeManager, modes, FrameRateLimiter).
  • Assets/Scenes/ — SampleScene (the playground).
  • Docs/GAME_DESIGN.md — design notes and the full feature checklist (German).

Roadmap

See Docs/GAME_DESIGN.md for what's done and what's next (color-picker UI, eyedropper, poses, seeker role, rounds, multiplayer).

S
Description
Unity mesh-painting game (Meccha Chameleon-inspired)
Readme
1.1 GiB
0 Stars 1 Watchers 0 Forks
Languages
C# 85.6%
ShaderLab 8%
GLSL 4%
HLSL 2.3%