Skip to main content

Body Tracking

Body tracking gives you the participant's skeletal pose — where their limbs are, frame by frame — so you can drive an avatar with it, show it back to them, and record it for analysis.

LABO does not tie you to one source. A headset's built-in tracking, a Sony mocopi suit, and your own inertial sensors streamed over UDP all feed the same pipeline, produce the same Body CSV, and drive the same avatars. You can also combine sources: a headset for the upper body and a suit for the legs, or a headset for the body with one limb driven by sensors that measure it directly.

Where the controls live

What you want to doWhere
Pick a tracking source and configure itLABO → Windows → Data Capture → Body
Combine two sources (upper + lower body)Same tab, Use Fusion
Drive individual joints from a different sourceSame tab, provider Composite
Assign the avatar the participant drivesSame tab, Avatar view
Preview the skeleton in the Scene viewSame tab, Gizmos per row
Tell LABO which way a tracking source's axes pointLABO → Windows → Tracking Calibrations
Tell LABO which way an avatar rig's axes pointLABO → Windows → Avatar Calibrations
Turn on headset body tracking for a buildSetup → Body Tracking

Quickstart

  1. Open LABO → Windows → Data Capture → Body.
  2. Set the Upper Tracking row's provider to whichever source you have — Meta, Mocopi, UDP, or Synthetic if you just want something moving.
  3. Expand the row (the foldout on the left) and set that provider's options. Each provider's row is documented in Providers.
  4. Turn on Gizmos → Joints so you can see the skeleton in the Scene view while you work.
  5. Enter Play mode. The row turns green once pose data is arriving.
  6. Assign an Avatar Prefab if you want a character driven by the pose.
Start with Synthetic

Synthetic generates a moving skeleton with no hardware attached. It is the fastest way to confirm your avatar, gizmos and data capture are wired up correctly before you introduce a real tracking source — if something looks wrong with Synthetic selected, the problem is not your hardware.

What's in this section

  • The Body tab — the main interface. Choosing a provider, configuring it, combining two of them with Fusion, previewing with gizmos, and assigning an avatar.
  • Calibrations — the two windows that record which way a tracking source's and an avatar rig's axes point. You need these when a limb bends the right amount in the wrong direction.
  • Composite tracking — running several sources at once and assigning individual joints to whichever one should drive them. For when one source knows where the participant is and another measures a limb better.
  • The UDP stream — how to feed LABO pose data from your own hardware or your own processing pipeline. Covers the wire format so you can write a sender, the coordinate settings that make the pose land correctly, and a replay sample with data you can run immediately.

Which page answers which question

I want to...Go to
Understand what each option in a provider row doesProviders
Use a headset for the upper body and a suit for the legsFusion
Drive one limb from my own sensors, keeping the rest on the headsetComposite tracking
See the tracked skeleton while I workGizmos
Put a character on the participantAvatars
Fix limbs that bend the wrong wayCalibrations
Send pose data into LABO from my own codeThe UDP stream
Know what ends up in the CSVData → Body stream