Skip to content

Tracking Quality & Tuning ​

Out of the box, content sticks to the marker with no perceivable wobble at rest and no drag during motion. Two controls cover most tuning needs.

Tracking Stability ​

On the WebAR Controller, Tracking Stability (0-1, default 0.25) drives the whole pose pipeline:

RangeFeel
< 0.15Snappy. Follows the marker exactly; visible jitter at rest.
0.15-0.4Responsive. Light smoothing (the default sits here).
0.4-0.85Balanced. Stable with near-zero rest jitter.
≥ 0.85Smooth. Maximum stability, slight motion lag.

Viewing Distance ​

Sets the close-range damping for how far users hold the device: Close (0.3-0.6 m), Normal (~1 m), Far (1.5 m+ signage), or Adaptive (default, covers any distance).

What the pipeline does for you ​

  • Motion-adaptive filtering. Smoothing relaxes the moment real motion begins (accelerometer + gyroscope + pose delta), so rest is steady and movement stays responsive.
  • Gyro-fused rotation. Rotation runs at display rate on the gyroscope, continuously corrected by the tracker.
  • Dropout carry. During brief tracking losses the gyroscope keeps content anchored to the marker, then re-syncs on re-find. The window follows Lost Grace Period.
  • Quality-adaptive damping. When motion blur starves the tracker, damping stays partially engaged so content drifts gently and recovers.
  • Gated acquisition. Content stays hidden until the first pose is well-constrained.

Motion sensors need a permission grant (separate from the camera) on iOS and Android; the template requests it on the first tap. If declined, tracking still works with reduced polish.

The on-device overlay ​

Turn Show Diagnostics Overlay on (Debug foldout), build, and deploy. A banner appears with tabs (Device, Tracking, Smoothing, Camera, Filter), live telemetry, the Stability and Distance controls, an Advanced toggle exposing every underlying field, and a Copy Logs button for support reports.

Useful values:

  • upd (Hz): tracker frame rate (the device-performance signal).
  • Δpos / Δrot (raw vs smooth, rest vs move): how much the filter is doing and where.
  • motion: the factor driving filter relaxation.
  • settled: whether the acquisition gate has opened.
  • dist: estimated marker distance.

The Debug foldout A/B switches ​

Quality-Adaptive Damping, Gyro Rotation Anchor, and Bypass IMU can each be toggled to isolate an issue on specific hardware. They ship in the validated configuration; see the Components Reference.

When a pose gets stuck ​

Three escalating recoveries, callable from your own UI (Runtime API):

  1. WebARTrackedRoot.Instance.Recalibrate() re-runs acquisition.
  2. WebARBridge.Instance.SoftResetTracker() resets the matcher without dropping the camera.
  3. WebARBridge.Instance.RestartTracker() rebuilds the tracker fully.

Built on mind-ar-js, three.js, and TensorFlow.js.