VP Camera Facing Down / Wrong Direction in Unreal — Roll Relative Mode Fix¶
Summary¶
If the virtual camera in Unreal Engine is facing the wrong direction — pointing down at the floor, pointing backwards, or rotating in the wrong axis — the most common cause is the Flair kinematics mode is set to Camera Orbital rather than TT/Roll Relative. Flair's FreeD and OSC outputs encode the camera orientation based on the active kinematics mode; Camera Orbital solves rotations differently from Roll Relative, producing a different orientation mapping. Set kinematics to TT (Target Tracking) with Roll Relative to get the standard camera orientation that maps correctly to Unreal's camera coordinate system.
Symptoms¶
- Virtual camera in Unreal appears to point at the floor rather than at the subject.
- Camera rotates in a different axis than expected when the robot pans or tilts.
- Orientation data from Flair seems inverted or rotated 90°.
- Physical camera is positioned correctly but virtual camera in UE is offset or rotated.
- Issue appeared after switching robot kinematics mode.
- Camera tracking position (XYZ) is correct but orientation (pan/tilt/roll) is wrong.
Community Guidance¶
[RESOLVED] Set Kinematics to TT with Roll Relative¶
Community consensus
For correct virtual production camera orientation output:
In Flair: Kinematics Setup → TT (Target Tracking) → Roll Relative
- Roll Relative mode outputs pan and tilt relative to the camera's roll plane — this matches the convention used by FreeD and LiveLink protocols.
- Camera Orbital mode is designed for orbiting moves around a subject and outputs rotations in a different reference frame that does not map to standard camera tracking conventions.
Community: "Set Kinematics to TT mode (not Camera Orbital) — Roll Relative outputs the correct camera orientation for FreeD and LiveLink."
confidence_score: 0.90
[INFORMATIONAL] Tracker App Also Requires TT / Roll Relative¶
Community — see TRACKER-import-origin-zeroing.md
The same kinematics requirement applies to Tracker App imports. If the robot was in Camera Orbital mode when the Tracker CSV was imported, the resulting move will use incorrect kinematics and produce wrong orientations. This is documented in the Tracker App import issue.
confidence_score: 0.90
[INFORMATIONAL] UE Coordinate System — Z-Up vs Y-Up¶
Community — see VP-fbx-export-unreal.md
Unreal Engine uses a left-handed, Z-up coordinate system. Flair outputs in a right-handed, Y-up system (industry standard for motion control). The coordinate conversion is handled by the Rite Media plugin and the FreeD receiver in Unreal. If a custom OSC implementation is used instead, the axis remapping must be done manually.
confidence_score: 0.85