adminandClaude Opus 4.8 91ce8ff329 Replace stripped-player spectator with a minimal dedicated prefab
Mid-match joiners now spawn a dedicated empty Spectator prefab (NetworkObject
+ SpectatorSetup only) instead of a fully stripped Player prefab. The FreeCam
rig is a standalone scene object in Main, so the spectator needs no avatar body,
renderer, collider, or CharacterController -- eliminating the leftover-body
artifact and the fragile per-peer strip path entirely.

- SpectatorSetup.cs (new): owner binds GameModeManager.BindSpectator (FreeCam-only)
- Spectator.prefab (new): empty avatar (Transform + NetworkObject + SpectatorSetup),
  registered in DefaultNetworkPrefabs, wired on MatchManager in Main
- GameModeManager: add BindSpectator/BuildSpectatorModes; drop the spectator
  branch from BindLocalPlayer; ReleaseToNoPlayer frees the cursor on teardown
- MatchManager: independent entropy-seeded RNG for fair hunter pick (was sharing
  the global engine RNG and always landing on the same client); spawn the
  spectator prefab for mid-match joiners; cursor-safe return-to-Main teardown
- FreeCamController: guard IgnorePlayerCollision against a disabled capsule

Also bundled (unrelated user asset/UI edits): PaintHudPanel layout tuning,
font atlas (arialroundedmtprocyr_bold SDF), forestpack_foliage material.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 00:31:49 +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%