diff --git a/libraries/animation/src/AnimSkeleton.cpp b/libraries/animation/src/AnimSkeleton.cpp index 49ffe75ba0..2dfcdee4b0 100644 --- a/libraries/animation/src/AnimSkeleton.cpp +++ b/libraries/animation/src/AnimSkeleton.cpp @@ -252,30 +252,11 @@ void AnimSkeleton::buildSkeletonFromJoints(const std::vector& joints, //QString parentIndex = getJointName(parentIndex); AnimPose localOffset(jointOffsets[i], glm::vec3()); relDefaultPose = relDefaultPose * localOffset; - if ((parentIndex >= 0) && jointOffsets.contains(parentIndex)) { - // AnimPose localParentOffset(jointOffsets[parentIndex], glm::vec3()); - // relDefaultPose = localParentOffset.inverse() * AnimPose(glm::quat(), relDefaultPose.trans()) * localParentOffset * AnimPose(relDefaultPose.rot(), glm::vec3()); - } } - if ((parentIndex == 13) && jointOffsets.contains(13)) { - if (i == 62) { - qCDebug(animation) << "the neck translation is " << relDefaultPose.trans(); - } + if ((parentIndex >= 0) && jointOffsets.contains(parentIndex)) { AnimPose localParentOffset(jointOffsets[parentIndex], glm::vec3()); relDefaultPose = localParentOffset.inverse() * AnimPose(glm::quat(), relDefaultPose.trans()) * localParentOffset * AnimPose(relDefaultPose.rot(), glm::vec3()); - if (i == 62) { - qCDebug(animation) << "the neck translation redo is " << relDefaultPose.trans(); - } } - if ((parentIndex == 62) && jointOffsets.contains(62)) { - - //AnimPose localOffset(glm::quat(0.7071f, 0.0f, 0.7071f, 0.0f), glm::vec3()); - //relDefaultPose = relDefaultPose * localOffset; - AnimPose localParentOffset(glm::quat(0.7071f, 0.0f, -0.7071f, 0.0f), glm::vec3()); - relDefaultPose = localParentOffset.inverse() * AnimPose(glm::quat(), relDefaultPose.trans()) * localParentOffset * AnimPose(relDefaultPose.rot(), glm::vec3()); - qCDebug(animation) << "the head translation is " << relDefaultPose.trans(); - } - _relativeDefaultPoses.push_back(relDefaultPose); diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp index 3302760f6b..02648d5771 100644 --- a/libraries/animation/src/Rig.cpp +++ b/libraries/animation/src/Rig.cpp @@ -2077,7 +2077,8 @@ void Rig::setJointRotationOffsets(const QMap& offsets) { int neckId = 62; int spine2Id = 13; if (true){ //neckIndex != -1) { - _jointRotationOffsets.insert(neckId, glm::quat(0.7071f, 0.0f, -0.7071f, 0.0f)); + _jointRotationOffsets.insert(neckId, glm::quat(0.0f, 0.7071f, 0.7071f, 0.0f) * glm::quat(0.5f, 0.5f, 0.5f, -0.5f) ); //glm::quat(0.7071f, 0.0f, -0.7071f, 0.0f) + qCDebug(animation) << "multiplied quats are " << glm::quat(0.0f, 0.7071f, 0.7071f, 0.0f) * glm::quat(0.5f, 0.5f, 0.5f, -0.5f); } if (true){ //spine2Index != -1) { _jointRotationOffsets.insert(spine2Id, glm::quat(0.5f, 0.5f, 0.5f, -0.5f));