Merge pull request #13421 from AndrewMeadows/fix-mac-nan-crash

fix crash on Mac when watching someone else turn with HMD
This commit is contained in:
Sam Gateau 2018-06-21 11:55:39 -07:00 committed by GitHub
commit dea3f91c0b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -551,10 +551,17 @@ void Avatar::measureMotionDerivatives(float deltaTime) {
// angular // angular
glm::quat orientation = getWorldOrientation(); glm::quat orientation = getWorldOrientation();
glm::quat delta = glm::inverse(_lastOrientation) * orientation; float changeDot = glm::abs(glm::dot(orientation, _lastOrientation));
glm::vec3 angularVelocity = glm::axis(delta) * glm::angle(delta) * invDeltaTime; float CHANGE_DOT_THRESHOLD = 0.9999f;
setWorldAngularVelocity(angularVelocity); if (changeDot < CHANGE_DOT_THRESHOLD) {
_lastOrientation = getWorldOrientation(); float angle = 2.0f * acosf(changeDot);
glm::quat delta = glm::inverse(_lastOrientation) * orientation;
glm::vec3 angularVelocity = (angle * invDeltaTime) * glm::axis(delta);
setWorldAngularVelocity(angularVelocity);
_lastOrientation = orientation;
} else {
setWorldAngularVelocity(glm::vec3(0.0f));
}
} }
enum TextRendererType { enum TextRendererType {