Coordinate Systems
A common source of confusion in 3D pipelines is the difference in Up Axis conventions. Preflight is designed to help you verify and visualize this correctly.
The Two Standards
Section titled “The Two Standards”Y-Up (Right-Handed)
Section titled “Y-Up (Right-Handed)”- Used by: RealityKit, visionOS, Unity, Maya (default).
- Visualization: The Green (Y) axis points UP.
- Requirement: visionOS requires assets to be Y-Up. If they are not, they must be rotated.
Z-Up (Right-Handed)
Section titled “Z-Up (Right-Handed)”- Used by: Blender, Unreal Engine, 3ds Max, CAD tools.
- Visualization: The Blue (Z) axis points UP.
- Conflict: If you drop a Z-Up model into a Y-Up world (like RealityKit) without conversion, it will appear to handle “lying on its back” or “face planting.”
How Preflight Handles It
Section titled “How Preflight Handles It”Preflight respects the author’s intent while showing you the truth.
- Detection: When a file loads, Preflight checks the USD metadata
upAxis. - Visualization:
- If the file is Z-Up: We apply a 90-degree visual rotation so the model stands upright on your screen.
- Gizmo Truth: The 3D Gizmo in the corner reflects the actual world coordinates. You will see the Blue Z-axis pointing up.
- Warning: If your file is Z-Up, Preflight interprets this as a potential issue for visionOS and may show a warning icon (⚠️) in the file info.
Comparison Matrix
Section titled “Comparison Matrix”| Feature | Preflight (Hydra) | RealityKit (visionOS) | Result |
|---|---|---|---|
| Y-Up File | Standard View | Standard View | Correct |
| Z-Up File | Rotated Upright (Z=Up) | Lying on Back (Y=Up) | Mismatch |
Pro Tip: If your model looks correct in Preflight but “lying down” in Reality Composer Pro, check the Gizmo. If the Blue axis is pointing up in Preflight, your model is Z-Up and needs to be exported with “Y-Up” settings or wrapped in an Xform.