From f26d6b8c3dc30957477271987647e4f60c96a708 Mon Sep 17 00:00:00 2001 From: amantley Date: Thu, 9 Aug 2018 12:15:35 -0700 Subject: [PATCH] cleaned up code and changed the forward offset for the default eyes when there is no neck bone --- interface/src/avatar/MyAvatar.cpp | 2 +- .../src/avatars-renderer/SkeletonModel.cpp | 15 +++------------ libraries/render-utils/src/CauterizedModel.cpp | 2 -- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 8ba0841196..d456028bbe 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -1992,7 +1992,7 @@ void MyAvatar::initHeadBones() { if (neckJointIndex == -1) { neckJointIndex = (_skeletonModel->getFBXGeometry().headJointIndex - 1); if (neckJointIndex < 0) { - //return if the head is not even there. can't cauterize!! + // return if the head is not even there. can't cauterize!! return; } } diff --git a/libraries/avatars-renderer/src/avatars-renderer/SkeletonModel.cpp b/libraries/avatars-renderer/src/avatars-renderer/SkeletonModel.cpp index 83caaede8d..11bad6c1b8 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/SkeletonModel.cpp +++ b/libraries/avatars-renderer/src/avatars-renderer/SkeletonModel.cpp @@ -71,23 +71,14 @@ void SkeletonModel::initJointStates() { qCWarning(avatars_renderer) << "Bad head joint! Got:" << headJointIndex << "jointCount:" << _rig.getJointStateCount(); } glm::vec3 leftEyePosition, rightEyePosition; - qCDebug(avatars_renderer) << "initial left and right eyes " << leftEyePosition << " " << rightEyePosition; getEyeModelPositions(leftEyePosition, rightEyePosition); - qCDebug(avatars_renderer) << "after setting the left and right eyes " << leftEyePosition << " " << rightEyePosition; glm::vec3 midEyePosition = (leftEyePosition + rightEyePosition) / 2.0f; int rootJointIndex = geometry.rootJointIndex; glm::vec3 rootModelPosition; getJointPosition(rootJointIndex, rootModelPosition); - qCDebug(avatars_renderer) << "root joint index " << rootJointIndex << " root position: " << rootModelPosition; _defaultEyeModelPosition = midEyePosition - rootModelPosition; - if (headJointIndex > -1) { - glm::vec3 headModelPosition; - getJointPosition(headJointIndex, headModelPosition); - qCDebug(avatars_renderer) << "we have a head joint " << headJointIndex << " and " << headModelPosition; - } - qCDebug(avatars_renderer) << "the default eye pos " << _defaultEyeModelPosition << " and scale " << _scale; // Skeleton may have already been scaled so unscale it _defaultEyeModelPosition = _defaultEyeModelPosition / _scale; @@ -307,11 +298,11 @@ bool SkeletonModel::getEyeModelPositions(glm::vec3& firstEyePosition, glm::vec3& glm::vec3 baseEyePosition = headPosition; glm::quat headRotation; getJointRotation(geometry.headJointIndex, headRotation); - const float EYES_FORWARD = 0.25f; + const float EYES_FORWARD_HEAD_ONLY = 0.30f; const float EYE_SEPARATION = 0.1f; float headHeight = glm::distance(neckPosition, headPosition); - firstEyePosition = baseEyePosition + headRotation * glm::vec3(EYE_SEPARATION, 0.0f, EYES_FORWARD); - secondEyePosition = baseEyePosition + headRotation * glm::vec3(-EYE_SEPARATION, 0.0f, EYES_FORWARD); + firstEyePosition = baseEyePosition + headRotation * glm::vec3(EYE_SEPARATION, 0.0f, EYES_FORWARD_HEAD_ONLY); + secondEyePosition = baseEyePosition + headRotation * glm::vec3(-EYE_SEPARATION, 0.0f, EYES_FORWARD_HEAD_ONLY); return true; } return false; diff --git a/libraries/render-utils/src/CauterizedModel.cpp b/libraries/render-utils/src/CauterizedModel.cpp index b5b8c039a1..80a9c5ccae 100644 --- a/libraries/render-utils/src/CauterizedModel.cpp +++ b/libraries/render-utils/src/CauterizedModel.cpp @@ -139,8 +139,6 @@ void CauterizedModel::updateClusterMatrices() { glm::vec4(0.0f, 0.0f, 0.0f, 1.0f)); auto cauterizeMatrix = _rig.getJointTransform(geometry.neckJointIndex) * zeroScale; - // qCDebug(renderutils) << "cauterize matrix: " << cauterizeMatrix; - for (int i = 0; i < _cauterizeMeshStates.size(); i++) { Model::MeshState& state = _cauterizeMeshStates[i]; const FBXMesh& mesh = geometry.meshes.at(i);