OpenXR ignore controller velocity

This commit is contained in:
Lubos 2022-05-10 19:23:51 +02:00
parent 314e8b0288
commit 437e3829aa
1 changed files with 0 additions and 9 deletions

View File

@ -1404,21 +1404,12 @@ void IN_VRUpdateControllers( float predictedDisplayTime )
XrSpace controllerSpace[] = {leftControllerAimSpace, rightControllerAimSpace};
for (int i = 0; i < 2; i++) {
if (ActionPoseIsActive(controller[i], subactionPath[i])) {
XrSpaceVelocity vel = {};
vel.type = XR_TYPE_SPACE_VELOCITY;
XrSpaceLocation loc = {};
loc.type = XR_TYPE_SPACE_LOCATION;
loc.next = &vel;
OXR(xrLocateSpace(controllerSpace[i], engine->appState.CurrentSpace, predictedDisplayTime, &loc));
engine->appState.TrackedController[i].Active = (loc.locationFlags & XR_SPACE_LOCATION_POSITION_VALID_BIT) != 0;
engine->appState.TrackedController[i].Pose = loc.pose;
// apply velocity
float dt = (in_vrEventTime - lastframetime) * 0.001f;
for (int j = 0; j < 3; j++) {
(&engine->appState.TrackedController[i].Pose.position.x)[j] += (&vel.linearVelocity.x)[j] * dt;
}
} else {
ovrTrackedController_Clear(&engine->appState.TrackedController[i]);
}