From 44406bebeba5758c4f817809dd351afd2d0d80b6 Mon Sep 17 00:00:00 2001 From: Imanol Fernandez Date: Wed, 1 Apr 2020 19:12:07 +0200 Subject: [PATCH] Calculate standingMatrix using local floor relative pose transform (#3078) --- app/src/oculusvr/cpp/DeviceDelegateOculusVR.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/oculusvr/cpp/DeviceDelegateOculusVR.cpp b/app/src/oculusvr/cpp/DeviceDelegateOculusVR.cpp index c475f9231..6a17208b5 100644 --- a/app/src/oculusvr/cpp/DeviceDelegateOculusVR.cpp +++ b/app/src/oculusvr/cpp/DeviceDelegateOculusVR.cpp @@ -901,6 +901,9 @@ DeviceDelegateOculusVR::StartFrame(const FramePrediction aPrediction) { device::InlineSession | device::ImmersiveVRSession; if (m.predictedTracking.Status & VRAPI_TRACKING_STATUS_POSITION_TRACKED) { caps |= device::Position; + auto standing = vrapi_LocateTrackingSpace(m.ovr, VRAPI_TRACKING_SPACE_LOCAL_FLOOR); + vrb::Vector translation(-standing.Position.x, -standing.Position.y, -standing.Position.z); + m.immersiveDisplay->SetSittingToStandingTransform(vrb::Matrix::Translation(translation)); } else { caps |= device::PositionEmulated; }