MotionForge
App info

Coming Soon · iPhone & iPad

From performer to motion file.

MotionForge records one performer’s body motion with the rear camera of an iPhone or iPad, lets you review the skeleton frame by frame, and exports a BVH file for Blender. Everything runs on the device. It is in pre-release.

  1. 0
  2. 5
  3. 10
  4. 15
  5. 20
  6. 25held
  7. 30held
  8. 35
  9. 40
  10. 45
  11. 50
  12. 55
  13. 60
Frames of the BVH file the pre-release build exported for its built-in test take, drawn here from the file itself: side view, left to right in time, 61 frames at 60 frames per second. Grey marks a frame held across the tracking gap. A test pattern, not a performance.

Review before the handoff.

  1. Capture One performer, head to feet, with the rear camera in portrait on a fixed support, in even light with the floor in view. A take runs from 3 to 30 seconds.
  2. Review Play the skeleton back or scrub it frame by frame. Frames where tracking was lost are marked as gaps; no pose is invented for them.
  3. Export A BVH file at 60 frames per second, a silent reference video and a plain-text report, through the share sheet.
MotionForge Capture guide on iPhone. Before capture: lock the rear camera on a fixed support in portrait, frame exactly one consenting performer from head through both feet, use even lighting and keep the floor visible, increase distance until limbs and feet stay inside the frame. What MotionForge records: one performer’s skeleton, tracking gaps marked honestly rather than filled in, and a deterministic BVH plus a report
Before you record. The app’s own guide to a take that tracks.
MotionForge playback on iPhone: an orange skeleton with white joints on a black stage, a Tracked label, a timeline with eight gap marks, Frame 12 of 59 at 0.22 of 1.00 seconds, and Play and Close buttons
A tracked frame. The marks on the upper bar are the frames where tracking was lost.
MotionForge playback on iPhone at frame 27 of 59: no skeleton, a Gap label, and the words Tracking gap, No pose was invented for this frame
A gap, shown as a gap. Nothing is drawn where nothing was tracked.
MotionForge Export ready sheet on iPhone: 61 exported frames, frame rate 60 fps, 8 held across gaps, a note that held frames are held poses and not measured motion, and a Share export button
The export, counted. Frames, frame rate, and how many were held across gaps.

Pre-release build 26.0.0 (3) in the iPhone 18 Pro simulator, captured 11 October 2026. It shows a sample take the app generates for testing, not a captured performance; body tracking itself needs a physical device. It may change before release.

The report answers Blender’s questions.

Blender’s BVH importer asks for a scale, a rotation order, the forward and up axes and a frame rate. Every MotionForge export carries a report that states each of them, so the first import is not a guess.

Blender asksThe report answers
ScaleUnits are metres. Import at 1.0.
Forward / UpY-up. For a Y-up file, Blender’s manual gives −Z forward, Y up.
RotationZ, X, Y on every joint. The root adds X, Y, Z position.
Scale FPS, Update Scene FPS60 frames per second, resampled without interpolation.
BVH conventions
- Units are metres. Import into Blender at scale 1.0.
- Axis basis is ARKit's gravity-aligned Y-up space.
- Root channels: Xposition Yposition Zposition Zrotation Xrotation Yrotation.
- All other joints: Zrotation Xrotation Yrotation.
- Joint rest offsets are read from source frame 0.
- Root motion is world-space; the origin is where the AR session started.

Resampling
- Output rate: 60.000000 frames per second.
- Exported frames: 61
- Method: nearest preceding sample. No interpolation is performed.

Tracking gaps
- 8 of 61 exported frames fell inside a tracking gap.
- BVH cannot represent absent data, so the last tracked pose is held across each gap.
- Those frames are held poses, not measured motion. Review them before use.

MotionForge does not provide medical, biomechanical, safety, or studio-grade measurements. Output is a capture aid, not ground truth.
From the report the app wrote for the test take above.
HIERARCHY
ROOT hips
{
  OFFSET 0.000000 0.000000 0.000000
  CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation
  JOINT spine
  {
    OFFSET 0.000000 0.200000 0.000000
    CHANNELS 3 Zrotation Xrotation Yrotation
    …
MOTION
Frames: 61
Frame Time: 0.016667
0.000000 0.950000 -2.200000 0.000000 0.000000 0.000000 …
The start of the BVH file for the same take, shortened at each ellipsis. The test take has 16 joints. A capture on a device carries ARKit’s body skeleton instead: 91 joints under Apple’s joint names, such as hips_joint.

An honest preview.

In development and not yet available to download.

What it needs
An iPhone or iPad with an A12 Bionic chip or later, on iOS or iPadOS 26 or later, its rear camera, and 300 MB of free storage to start a take.
What it is not
One performer at a time. No face or finger capture, no retargeting to other rigs, no animation editing, and no studio-grade accuracy.
Free
Capture, skeleton playback and BVH export, with three saved takes. Export stays available whatever you have bought.
Lifetime Access
A one-time purchase with no subscription that adds unlimited saved takes, shareable through Family Sharing. Not available yet.

Camera footage, skeleton data, saved takes and exports are processed and stored on your device. MotionForge does not upload motion captures or footage, has no account and no analytics, and does not use the microphone. Nothing is metered: there are no credits and no processing minutes to buy.

Questions about MotionForge? MotionForge support · Privacy details