Fix face-tracked head rotation for Faceshift, also

This commit is contained in:
David Rowe 2015-05-13 11:35:04 -07:00
parent 5050171d30
commit 7319c7b767

View file

@ -213,7 +213,7 @@ void Faceshift::receive(const QByteArray& buffer) {
glm::quat newRotation = glm::quat(data.m_headRotation.w, -data.m_headRotation.x,
data.m_headRotation.y, -data.m_headRotation.z);
// Compute angular velocity of the head
glm::quat r = newRotation * glm::inverse(_headRotation);
glm::quat r = glm::normalize(newRotation * glm::inverse(_headRotation));
float theta = 2 * acos(r.w);
if (theta > EPSILON) {
float rMag = glm::length(glm::vec3(r.x, r.y, r.z));