From f95e20153c3a366eb1a04022546290c290ffc926 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 22 Sep 2014 15:13:08 -0700 Subject: [PATCH] Fix upright head model position calculation for avatar scale changes --- interface/src/avatar/SkeletonModel.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/interface/src/avatar/SkeletonModel.cpp b/interface/src/avatar/SkeletonModel.cpp index 2e53412be4..9522e54e26 100644 --- a/interface/src/avatar/SkeletonModel.cpp +++ b/interface/src/avatar/SkeletonModel.cpp @@ -658,7 +658,11 @@ void SkeletonModel::buildShapes() { int headJointIndex = _geometry->getFBXGeometry().headJointIndex; if (0 <= headJointIndex && headJointIndex < _jointStates.size()) { + int rootJointIndex = _geometry->getFBXGeometry().rootJointIndex; + glm::vec3 rootModelPosition; getJointPosition(headJointIndex, _defaultHeadModelPosition); + getJointPosition(rootJointIndex, rootModelPosition); + _defaultHeadModelPosition = _defaultHeadModelPosition - rootModelPosition; } else { _defaultHeadModelPosition = glm::vec3(0.f, 0.f, 0.f); }