diff --git a/interface/src/avatar/MyHead.cpp b/interface/src/avatar/MyHead.cpp index 44d679f3f8..13d635bdd8 100644 --- a/interface/src/avatar/MyHead.cpp +++ b/interface/src/avatar/MyHead.cpp @@ -51,7 +51,7 @@ void MyHead::simulate(float deltaTime) { _isFaceTrackerConnected = hasActualFaceTrackerConnected || _owningAvatar->getHasScriptedBlendshapes(); if (_isFaceTrackerConnected) { if (hasActualFaceTrackerConnected) { - _transientBlendshapeCoefficients = faceTracker->getBlendshapeCoefficients(); + _blendshapeCoefficients = faceTracker->getBlendshapeCoefficients(); } else { _transientBlendshapeCoefficients.fill(0, _blendshapeCoefficients.size()); } diff --git a/libraries/avatars-renderer/src/avatars-renderer/Head.cpp b/libraries/avatars-renderer/src/avatars-renderer/Head.cpp index b0707922ea..06b52c8d44 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/Head.cpp +++ b/libraries/avatars-renderer/src/avatars-renderer/Head.cpp @@ -148,18 +148,28 @@ void Head::simulate(float deltaTime) { } // use data to update fake Faceshift blendshape coefficients - calculateMouthShapes(deltaTime); + if (getHasAudioEnabledFaceMovement()) { + calculateMouthShapes(deltaTime); + } else { + _audioJawOpen = 0.0f; + _browAudioLift = 0.0f; + _mouth2 = 0.0f; + _mouth3 = 0.0f; + _mouth4 = 0.0f; + _mouthTime = 0.0f; + } FaceTracker::updateFakeCoefficients(_leftEyeBlink, - _rightEyeBlink, - _browAudioLift, - _audioJawOpen, - _mouth2, - _mouth3, - _mouth4, - _transientBlendshapeCoefficients); - - applyEyelidOffset(getOrientation()); + _rightEyeBlink, + _browAudioLift, + _audioJawOpen, + _mouth2, + _mouth3, + _mouth4, + _transientBlendshapeCoefficients); + if (getHasProceduralEyeFaceMovement()) { + applyEyelidOffset(getOrientation()); + } } else { _saccade = glm::vec3(); }