“Spatial computing coordinates objects in a 3D right-handed Cartesian coordinate system (+X right, +Y up, +Z towards viewer). 3-Degrees-of-Freedom (3-DoF) tracks only orientation (Pitch, Yaw, Roll). 6-Degrees-of-Freedom (6-DoF) adds translational positional movement (Surge, Sway, Heave) allowing physical room-scale walking.”
The difference between rotational orientation (3-DoF) and full translational room-scale tracking (6-DoF).
// Three.js / WebXR 6-DoF Controller Tracking
const controller = renderer.xr.getController(0);
controller.addEventListener('selectstart', () => {
// Grab position & orientation quaternion
const position = controller.position; // Vector3 { x, y, z }
const quaternion = controller.quaternion; // Quaternion { x, y, z, w }
console.log(`6-DoF Controller Pose: X=${position.x.toFixed(2)} Y=${position.y.toFixed(2)} Z=${position.z.toFixed(2)}`);
});IMU sensors (accelerometer & gyroscope) track rotational angular velocity
Optical Inside-Out cameras detect visual SLAM feature points in the physical room
Sensor fusion merges IMU high-frequency data with SLAM low-drift camera poses
Outputs continuous 6-DoF pose matrix [X, Y, Z, Qx, Qy, Qz, Qw] at 90Hz-120Hz
Synchronizes virtual camera viewport position with user physical eye coordinates
Pose reprojection (Asynchronous SpaceWarp / TimeWarp) warps the previously rendered frame using the latest IMU pose, guaranteeing smooth 90 FPS even during heavy frame drops.