Tracking runs entirely in your browser on the Live page: MediaPipe Face Landmarker reads your webcam, a Web Worker turns frames into numeric pose values, and the microphone's loudness drives the mouth. Nothing is uploaded — see the privacy section below.
The three main controls
| Control | What it does | When to change it |
|---|---|---|
| Sensitivity | How strongly motion maps to the avatar | Movement feels too small → raise it |
| Smoothing | How much jitter is filtered out | Movement feels jittery → raise it |
| Mirror | Flips left and right | Left and right are swapped → toggle |
If tuning does not fix it, calibrate again: face the camera relaxed, eyes soft, mouth closed. Calibration quality beats every slider.
Camera-free, voice-only mode
The camera is optional. Turn on only the microphone and the avatar keeps its full idle motion — blinking, gaze, breathing, hair sway — while your voice opens and closes the mouth. Without a camera the mouth keeps one shape and changes only how far it opens; drawn mouth images are still used when the project has them.
Experimental: track body movement
Track body movement (experimental) is off by default. While off, only the face is tracked, exactly as before. Turned on, a local Pose Landmarker lite model also runs on every second frame and returns numeric shoulder, hip, elbow and wrist positions. The Live page then lists what your avatar follows:
- Upper body (every avatar): shoulder movement drives body sway and tilt.
- Legs (avatars rigged with
legs): visible hips drive weight shift — seated with hips out of frame, weight shift keeps its idle motion. - Arms (avatars rigged with
arms): elbows and wrists drive small arm swings and bends. Arms never rise — see the rig docs.
Calibrate standing relaxed with arms down. A joint that leaves the frame holds its pose for 500 ms then returns to idle. Expect some extra sway in skirts and cloth: webcam body positions are less stable than face tracking — calm them by raising Smoothing or lowering each garment's responseGain toward 1 in Studio under Body → Cloth.
Mouth movement styles
The Lip sync tab offers five styles: Relaxed, Standard, Snappy, Subtle and Expressive — each previews immediately with kana. Under Fine-tune, three numbers (0–1, default 0.5) control the motion:
| Setting | 0 | 1 |
|---|---|---|
granularity | Only large loudness dips separate syllables | Smaller dips separate syllables; stronger kana closures |
openness | Mouth opens ~55% as far | Opens ~125%, capped |
closeSpeed | Slow release | Quick release |
Settings are saved with the project and included in .mavatar exports, so the Player and Live page pick them up automatically.
How motion reaches the stream (technical)
- Pose values travel over the local dev-server WebSocket, at most 60 times per second; the server only rebroadcasts well-formed numeric messages.
- When updates stop for one second, the stream view eases back to idle motion.
- Tracking runs in a Web Worker, so it continues with the Live page in another tab or minimized; if it still slows, the page shows a warning — bring the window forward.
- Face Landmarker uses the GPU and falls back to the CPU once if the GPU fails or stays slow.
Privacy: where your camera data goes
Nowhere. Camera video and microphone audio are processed in the browser and never leave your machine. Only numeric pose values travel over the local WebSocket. The tracking models are served locally — the pages make no requests outside 127.0.0.1, and the project's own end-to-end tests fail if they ever do.