TouchFree 3D Character Control Module for VMC motion capture to Unity Standard Rigged 3D Characters / three.js
Control a Mixamo rigged 3D character with [TouchFree](https://bigskyinteractive.com] camera based Motion Capture.
Solves the 3D Rigging format for real-time motion capture control into Unity-standard Humanoid bone rotations with the VMC protocol's own vocabulary to Adobe Mixamo Rigged Character.
This kit is the full control module and sample background, foreground scene and character positioning ready for mirrored screen motion capture control of the head, body, and hands using three.js, and the TouchFree Desktop.
TouchFree Desktop to VMC output, based on the Unity standard, translated to Adobe Mixamo 3D character rigs.
Give your AI assistant (Claude, ChatGPT, Copilot, …) two files from this repo and one sentence:
Read
RECEIVER_KIT.mdandvmc_mixamo.js, then build me a web page that drives my glTF character from TouchFree.
RECEIVER_KIT.md is a complete, self-contained brief: the wire contract
(schema tf-bones-1), the coordinate conventions (Unity left-handed →
glTF right-handed), the module API, and the pitfalls the module already
solves. Your assistant should not need to guess at anything.
No code needed: TouchFree speaks the standard VMC protocol (Virtual
Motion Capture, OSC over UDP). Enable the Avatar Stream on TouchFree's
Output page and point your avatar software at it (default port 39539).
Bone names are Unity HumanBodyBones; rotations are deltas from the
VRM 1.0 T-pose, so a VRM avatar applies them directly.
claire/ is the complete shipping demo — a Mixamo character in
a three.js scene, driven live: body, hands, and all thirty finger joints,
with camera framing that follows the performer. Its
README documents the whole translation chain and every
technique the code uses, from Unity→glTF handedness to the constant
bind-time retargeting correction that keeps Mixamo thumbs honest.
| Path | What it is |
|---|---|
RECEIVER_KIT.md |
The integration brief — written to be handed to an AI assistant |
vmc_mixamo.js |
The rigging translation: Unity Humanoid bones → Mixamo rig, one dependency-free ES module |
examples/minimal.html |
The smallest complete working page |
claire/ |
The full production demo: scene, set, framing, character |
- Sender-side solve. TouchFree provides quality low latency body and hand landmarks into finished VRM format with bone rotations, local, parent-relative quaternions
[x, y, z, w], measured from the canonical VRM T-pose. - Two transports, same bones. The VMC protocol for avatar apps; JSON
over WebSocket (
body_state, schematf-bones-1) for web pages. - Receiver-side retargeting.
vmc_mixamo.jsmaps Unity bone names to Mixamo's, converts handedness, solves the bone chain exactly in one pass, and corrects each bone through its own measured bind direction — the same job Unity's Humanoid Avatar does internally, written out for three.js.
Building 3D experiences from the landmark stream instead of driving a 2D rig:
- touchfree-fluid-body — body tracking driving a WebGL fluid simulation, fully configurable from one JSON
- touchfree-puppet-2d — a layered 2D cartoon puppet that copies the person, Character Animator-style
The wire format is frozen as schema tf-bones-1 and guarded by a
byte-identical golden test in the TouchFree product. Releases of this kit
are tagged to the schema they speak; a schema change is always a new tag,
never a silent edit.
TouchFree motion capture · VMC protocol · Virtual Motion Capture · Unity Humanoid bones · HumanBodyBones · Mixamo retargeting · three.js rigged character · VRM T-pose · BlazePose · hand tracking · finger tracking · webcam mocap · markerless motion capture · glTF avatar · VTuber tooling
Code: MIT — see LICENSE. The Claire character in claire/ is an
Adobe Mixamo asset included as part of the demo project under the Mixamo
license (see claire/README.md).