Oculus Touch: More accurate spin on thrown objects

The internal computation of angular velocity was incorrect.
Apparently, the ovrPoseStatef.AngularRotation is not in sensor frame but local to the controller rotation.

(cherry picked from commit dd0e57026e)
This commit is contained in:
Anthony J. Thibault 2018-01-08 15:28:59 -08:00
parent fab28e7d44
commit cfa20b6eb3

View file

@ -262,7 +262,7 @@ controller::Pose ovrControllerPoseToHandPose(
pose.translation = toGlm(handPose.ThePose.Position);
pose.translation += rotation * translationOffset;
pose.rotation = rotation * rotationOffset;
pose.angularVelocity = toGlm(handPose.AngularVelocity);
pose.angularVelocity = rotation * toGlm(handPose.AngularVelocity);
pose.velocity = toGlm(handPose.LinearVelocity);
pose.valid = true;
return pose;