diff --git a/src/overlaycontroller.cpp b/src/overlaycontroller.cpp index 6f9def5f..883c8e0c 100644 --- a/src/overlaycontroller.cpp +++ b/src/overlaycontroller.cpp @@ -445,9 +445,9 @@ void OverlayController::RotateUniverseCenter(vr::ETrackingUniverseOrigin univers vr::HmdMatrix34_t newPos; utils::initRotationMatrix(rotMat, 1, yAngle); utils::matMul33(newPos, rotMat, curPos); - newPos.m[0][3] = curPos.m[0][3]; + newPos.m[0][3] = std::cos(yAngle) * curPos.m[0][3] + std::sin(yAngle) * curPos.m[2][3]; newPos.m[1][3] = curPos.m[1][3]; - newPos.m[2][3] = curPos.m[2][3]; + newPos.m[2][3] = std::cos(yAngle) * curPos.m[2][3] - std::sin(yAngle) * curPos.m[0][3]; if (universe == vr::TrackingUniverseStanding) { vr::VRChaperoneSetup()->SetWorkingStandingZeroPoseToRawTrackingPose(&newPos); } else {