AR Body — tdlidar_arbody
Stand in front of the rear camera and drive a true full-rig, metre-accurate 3D skeleton at 60 Hz.
Category: Camera & Vision · Tier: Free · Needs: rear camera with ARKit body tracking (A12+ device; exclusive with the depth/LiDAR session)
What it does
Uses ARKit’s dedicated body-tracking to reconstruct a person as a full 91-joint skeleton in real world-space metres, updated at 60 Hz — wrists, fingers-of-the-hand root, spine chain, feet and toes, all properly parented into a rig with a joint hierarchy and per-joint orientation. Compared to the Vision-based Body op this is far cleaner and genuinely 3D (depth you can trust), but it takes over the camera’s AR session, so you can’t run it alongside the rear depth modes. Choose this when you want a believable 3D performer; choose Body when you need the rear depth pipeline running too.
OSC in
| address | type | range | rate |
|—|—|—|—|
| /tdlidar/arbody/skeleton… | float | true 91-joint, world-space metric skeleton | 60 Hz |
| /tdlidar/arbody/orientation | 4 float | body orientation quaternion (x,y,z,w) | 60 Hz |
| /tdlidar/arbody/hierarchy | — | joint parent indices for the rig | on start / change |
Outputs
out_pop(POP) — 91 points in world metres with the rig’s bone topology built from…/hierarchy, each joint carrying its…/orientationso you can drive a properly oriented rig.out1(CHOP) — the raw skeleton, orientation quaternion and hierarchy channels for mapping and constraint work.
Parameters
| par | default | what it does | |—|—|—| | OSC Port | 9000 | UDP port to listen on (match the app) | | Pos Scale | 1.0 | uniform world scale of the rig in your scene | | Show Bones | On | draw bones from the joint hierarchy (off = points only) | | Up Axis | Y | match TD’s up-axis to ARKit’s so the figure stands upright |
Quick start (beginner)
- In the app, enable AR Body and aim the rear camera at a person, full body in frame, a few metres back.
- Drop the AR Body op. A clean 91-point skeleton appears in
out_pop, standing in real-world scale. - Wire
out_popinto a Geometry COMP → Render TOP with a Line MAT to draw the rig. - Walk around: because positions are true metres, the figure moves through your scene at life size.
Advanced patterns
- Drive an instanced or skinned character: the
…/hierarchyparent indices plus per-joint…/orientationgive you a real rig — map them onto a character’s bones (joint-by-joint constraint, or instance geometry onto each POP point oriented by its quaternion) for a retargeted performer. - World-anchored visuals: since joints are in world metres, attach effects to a wrist or foot and they stay correctly scaled and placed as the subject moves toward/away — no per-frame rescaling like the monocular Body op needs.
- Light smoothing only: ARKit body is already stable at 60 Hz, so a tiny Lag CHOP (lag ~0.03) is usually all you want — heavier filtering just adds latency you don’t need here.
- Orientation-driven motion: use
…/orientation(the body quaternion) on a Math CHOP to know which way the person faces and turn a whole scene, camera or instance field to follow them.
Gotchas
- Exclusive with the depth session. AR Body owns the rear AR camera; you can’t run the LiDAR/rear depth modes at the same time. Switch deliberately.
- It’s metric world-space, not normalized. Don’t expect 0–1 image coords like the Vision Body op — these are real metres, so set Pos Scale / Up Axis to seat the figure correctly in your scene.
- Needs the full body and decent space. ARKit body tracking wants a clear view of a whole person; partial or very close subjects drop tracking.
- Hierarchy arrives once.
…/hierarchydefines the rig structure and only resends on start/change — build your bone topology from it rather than expecting it every frame.