From 8f4fafe4d0480a88d0e19ad4044df32ad69b7433 Mon Sep 17 00:00:00 2001 From: amantley Date: Thu, 18 Oct 2018 08:44:01 -0700 Subject: [PATCH] put some smoothing on the spine2 rotation in myskeletonmodel.cpp --- interface/src/avatar/MyAvatar.cpp | 2 +- interface/src/avatar/MySkeletonModel.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index e7d09b79a2..a5bb08658d 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -878,7 +878,7 @@ glm::vec2 MyAvatar::computeHandAzimuth() const { if (!(spine2Index < 0)) { // use the spine for the azimuth origin. spine2Position = getAbsoluteJointTranslationInObjectFrame(spine2Index); - glm::quat spine2Rotation = getAbsoluteJointRotationInObjectFrame(spine2Index); + spine2Rotation = getAbsoluteJointRotationInObjectFrame(spine2Index); } glm::vec3 rightHandOffset = rightHandPoseAvatarSpace.translation - spine2Position; glm::vec3 leftHandOffset = leftHandPoseAvatarSpace.translation - spine2Position; diff --git a/interface/src/avatar/MySkeletonModel.cpp b/interface/src/avatar/MySkeletonModel.cpp index 3084542472..900d532c88 100644 --- a/interface/src/avatar/MySkeletonModel.cpp +++ b/interface/src/avatar/MySkeletonModel.cpp @@ -261,7 +261,7 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { } generateBasisVectors(up, fwd, u, v, w); AnimPose newSpinePose(glm::mat4(glm::vec4(w, 0.0f), glm::vec4(u, 0.0f), glm::vec4(v, 0.0f), glm::vec4(glm::vec3(0.0f, 0.0f, 0.0f), 1.0f))); - currentSpine2Pose.rot() = newSpinePose.rot(); + currentSpine2Pose.rot() = safeLerp(currentSpine2Pose.rot(), newSpinePose.rot(), 0.5f); params.primaryControllerPoses[Rig::PrimaryControllerType_Spine2] = currentSpine2Pose; params.primaryControllerFlags[Rig::PrimaryControllerType_Spine2] = (uint8_t)Rig::ControllerFlags::Enabled | (uint8_t)Rig::ControllerFlags::Estimated; }