Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Quickstart: hand it to your AI

Give your AI assistant (Claude, ChatGPT, Copilot, …) two files from this repo and one sentence:

Read RECEIVER_KIT.md and vmc_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.

Using avatar software instead? (VSeeFace, Warudo, Unity, Blender)

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.

The full demo: Claire

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.

What's in this repository

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

How the translation works

  1. 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.
  2. Two transports, same bones. The VMC protocol for avatar apps; JSON over WebSocket (body_state, schema tf-bones-1) for web pages.
  3. Receiver-side retargeting. vmc_mixamo.js maps 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.

Also from TouchFree

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

Versioning

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.

Keywords

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

License

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

About

MediaPipe VMC motion capture: Unity-standard Humanoid bones translated to Mixamo rigs in three.js. Webcam body + hand tracking receiver kit + full production demo, from TouchFree.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages