Skip to content

FreeD Focus Units — Transmitted as 0–1 Normalised Value, Not Millimetres

Summary

The FreeD protocol transmits focus distance as a normalised 0–1 value, not in millimetres or centimetres. If focus data from Flair arrives in Unreal Engine (or LiveFX/disguise) and the values appear very small (0.03, 0.87, etc.) when you expect centimetre values, this is expected — the 0–1 range maps from the near focus limit (0) to infinity (1) of the lens calibration table. To use focus data correctly in Unreal: apply the VP Transform (Virtual Production transform) settings in the FreeD receiver to remap the 0–1 normalised value to the actual focus distance in the units your scene requires. This rescaling is configured in the receiver, not in Flair.

Symptoms

  • Focus values from Flair FreeD appear as small decimal numbers (0 to 1 range) instead of focus distances.
  • Virtual camera in Unreal has wrong depth-of-field or focus plane — not matching the real camera.
  • Focus appears to move but at wrong scale compared to physical camera pull.
  • LiveFX shows focus data but the rendered bokeh doesn't match the camera.
  • Focus is missing or stuck at near/far extremes.

Community Guidance

[RESOLVED] Apply VP Transform to Rescale FreeD Focus Values

Community consensus

The FreeD protocol spec defines focus as a value from 0 (near limit) to 1 (far limit / infinity) of the calibrated lens range. The actual focus distances (in cm or mm) are stored in the Flair lens calibration lookup table — the FreeD packet contains the normalised position within that table, not the physical distance.

To use focus data in Unreal Engine (Cine Camera):

  1. In the FreeD receiver settings (or in the LiveLink subject mapping), find the VP Transform or Focus Scale/Offset parameters.
  2. Set the scale and offset to remap 0–1 to the lens's focus range:
  3. A lens that focuses from 0.85m to infinity: scale = approximately 5000mm (the useful range), offset = 850mm (near limit)
  4. Adjust based on your lens calibration table
  5. Alternatively, use the focus data to drive a custom Blueprint curve that maps 0–1 to your lens's calibrated focus distances.

confidence_score: 0.90

[INFORMATIONAL] Zoom Units in FreeD — Also Normalised

Community

Similarly, FreeD transmits zoom as a normalised 0–1 value (where 0 = widest focal length, 1 = most telephoto). The same VP Transform approach applies for zoom rescaling in Unreal.

confidence_score: 0.88

YouTube How Motion Control Powers Virtual Production

▶ 01:02 — Camera location/orientation data into the virtual world