382bfb36df8c7904f8418e1e34c5b25739b866b0
Iteration 4 over Assets/Scripts (no component/file splits, no Unity assets touched): Dedup: - Route inline cursor-release, material guards, Ctrl-held and undo/redo input through existing InputUtil / SetMatFloat helpers - Add ungated InputUtil.KeyPressedThisFrame; GameplayKeyPressed builds on it - Unify FindDeep/FindDeepChild into GeometryUtil.FindDeep Dead code / stale docs: - Remove unused code-gen bake path (HsvColorPicker.Build, PaintHud factory) - Drop unreferenced symbols (SubPhaseChanged event, LocalPhaseDuration, IsLocalSceneMain, MouseSensitivity.Changed, IsPaused, InSession, NetworkControlled, PreviousPose, JointCount, voxel-count accessors) - Fix incorrect PlayerRole / PaintHud / Pick / PlayerPose docs Perf / robustness (behaviour-neutral): - ConcealmentMeter.Evaluate: reuse vertex/topology buffers, two-pointer crossing count - BuildMeshCaches: alloc-free vertex copy, cached topology/UVs - Guard all PlayerPaintSync LogSync sites behind logSync - Cache LocalViewerIsHunter / controller / CanShoot / TypingGuard lookups; dedup LocalIsHunter with MatchHud - Change-guard RefreshEmissionColor and HeroCutout.Disarm - Cache scene/countdown string comparisons per frame - Grow NonAlloc buffers and log-once on saturation Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
Runningbool 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
- Open the project with Unity 6000.3.11f1 (Unity 6).
- Open
Assets/Scenes/SampleScene.unity. - 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).
Description
Unity mesh-painting game (Meccha Chameleon-inspired)
1.1 GiB
0 Stars
1 Watchers
0 Forks
Languages
C#
85.6%
ShaderLab
8%
GLSL
4%
HLSL
2.3%