00:00 / 00:00

Persona

LAPLACE Persona Tracker

LAPLACE Persona Tracker is LAPLACE’s official iOS face-tracking companion app, serving as a native replacement for iFacialMocap and Facemotion3d. The mobile app, desktop client, and underlying communication protocol are all maintained directly by LAPLACE.

The app streams all 52 standard ARKit BlendShape weights in real time, along with full 3D head rotation and spatial position. Input derivation, gaze smoothing, and model parameter mapping are handled centrally by the desktop app. See How Tracking Reaches the Model.

Download on the App Store

Requirements

Requires an iPhone or iPad with ARKit face-tracking support (TrueDepth camera or front camera with A12 Bionic and newer) running iOS 17 or iPadOS 17 or later. The app validates hardware compatibility on launch. The mobile device and the computer running Persona must be connected to the same local area network.

Setup

  1. In Persona under Face Tracking, click Add Face Source… to add a LAPLACE Persona Tracker source card. In its Assign Avatars dialog, select the target avatars to drive, then enable Enable Face Tracking.
  2. Launch the app on your iOS device and tap Connect. The app will discover and list responsive Persona instances on the local network; tap Use next to your computer. When pairing for the first time, iOS will request Local Network access permission.
  3. Sit in your standard streaming posture facing the device, then tap the reticle icon (Calibrate) to lock this posture as the neutral baseline. Calibration has no reset: uncalibrated, head position and rotation are relative to the camera itself and are only right with the phone straight ahead, so any calibration beats none. If a calibration is wrong or the phone has moved, tap Calibrate again to replace it.

Once connected, the connection button switches to Change, allowing you to switch target computers or tap Disconnect.

Target connection settings, the port, and calibration baselines persist across app restarts. Calibration is measured relative to the phone's physical mount; recalibrate whenever the phone or desk stand is moved.

Port Configuration

The tracker uses bidirectional UDP port 19700 by default, for both handshakes and frames. To change it, enter the same port in the Port field of the Persona source card and under Settings › Port in the mobile app. A newly added source automatically takes the first port from 19700 that no other source uses.

Multiple LAPLACE Persona Tracker sources can share one port. To run multiple concurrent phone feeds into a single computer, distinguish feeds using Tracker IP—assign each source card the local IP address of its designated phone, allowing multiple operators to drive separate avatars independently.

If another app holds the port or the system has reserved it, Persona posts a "{Source} can’t use port {port}" notice. Windows reserves blocks of its dynamic port range (49152–65535 by default) for Hyper-V, WSL2, and Docker; run netsh interface ipv4 show excludedportrange protocol=udp to list them. Pick a port outside those ranges on the source card, and set the same one on the phone.

Tracking Protocol and Precision

iFacialMocap remains fully supported in Persona, and both trackers can run concurrently in the same scene. The LAPLACE Persona Tracker protocol introduces several technical advantages:

  • 32-Bit Floating-Point Precision: iFacialMocap quantizes each BlendShape into a coarse 0–100 integer scale. Because Persona applies amplification curves to subtle micro-expressions (e.g., 5× gain on mouth-frown signals), 1% quantization steps can manifest as visible stepping artifacts on the model; this protocol transmits unquantized Float32 values natively.
  • Full Fixed-Order Streaming Frame: Every video frame packs all 52 BlendShape values into a compact, fixed-order binary buffer, eliminating the network overhead of per-packet ASCII key string parsing.
  • Automated Local Service Discovery: The mobile app automatically discovers and presents available Persona instances for one-tap connection, avoiding tedious manual IP entry while preserving manual fallback for restricted networks.
  • Device Thermal State Reporting: Frame header flags carry the device's thermal state (ProcessInfo.thermalState). When a device gets hot enough (.serious or higher) that ARKit drops capture to 30 fps, a red thermometer icon appears in the mobile status pill, and Persona on the desktop posts a persistent notification alerting you that the device needs to cool down.

The protocol transmits raw pose rotations and 52 pristine BlendShape coefficients without applying client-side bias or transforms. All kinematics and filtering execute on the desktop, allowing algorithm tuning, damping curves, and axis corrections to update instantly via desktop client updates.

Status Indicators and Cooldown Notices

The status pill at the top of the screen displays real-time operational status: the connected computer name (or Not connected), current transmission frame rate (e.g. 60 fps), and face tracking lock status (indicated by a smiling face or dashed outline icon).

When an iPhone or iPad runs hot under prolonged use (reaching Apple’s .serious or .critical thermal state), iOS ARKit automatically throttles face tracking from 60 fps down to 30 fps. When this occurs:

  • A prominent red thermometer icon appears beside the face icon in the mobile status pill.
  • Persona on the desktop displays a persistent warning notice ("{Device} needs to cool down — Face tracking can’t run at 60 fps until it cools down.") to alert you to cool down your device.

Once the device cools down below .serious, the mobile thermometer icon disappears and the desktop warning state automatically rearms.

Mobile App Settings

Tap the gear icon in the top-right corner to open the configuration panel:

SettingDescription
Save EnergyAfter several seconds without a touch, covers the screen with a black overlay, hides the Home indicator, and lowers the system brightness, suspending preview rendering while continuing full-speed tracking transmission. Tap screen to wake.
BrightnessShown while Save Energy is on. How much light the overlay lets through once the screen dims, from 0% to 50% (10% by default). An OLED panel switches off only fully black pixels, so 0% saves the most power.
Normalized Face MeshEnabled by default. Renders tracking expressions onto a standardized generic face mesh rather than your personal facial profile—ideal when the phone is captured on camera.
PortThe port the app sends to, 19700 by default; must match the Port on the Persona source card. Applies when the field loses focus (Return or closing the sheet); anything outside 1–65535 restores the previous port.

Last updated on October 11, 2026

Tech otakus destroy the world