From 27669d44a7458e270abb5209599e2fa126fb4391 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 5 Jun 2017 08:58:40 -0700 Subject: [PATCH] in deriveBodyFromHMDSensor, avoid using invalid head pose --- interface/src/avatar/MyAvatar.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 826a6a00ac..64914a7ec1 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -2338,10 +2338,13 @@ glm::quat MyAvatar::getWorldBodyOrientation() const { // old school meat hook style glm::mat4 MyAvatar::deriveBodyFromHMDSensor() const { - - // HMD is in sensor space. - const glm::vec3 headPosition = getHeadControllerPoseInSensorFrame().translation; - const glm::quat headOrientation = getHeadControllerPoseInSensorFrame().rotation * Quaternions::Y_180; + glm::vec3 headPosition; + glm::quat headOrientation; + auto headPose = getHeadControllerPoseInSensorFrame(); + if (headPose.isValid()) { + headPosition = getHeadControllerPoseInSensorFrame().translation; + headOrientation = getHeadControllerPoseInSensorFrame().rotation * Quaternions::Y_180; + } const glm::quat headOrientationYawOnly = cancelOutRollAndPitch(headOrientation); const Rig& rig = _skeletonModel->getRig();