Merge pull request #10424 from AndrewMeadows/fix-mouth-movement

Fix avatar mouth movement when driven by audio loudness
This commit is contained in:
Chris Collins 2017-05-09 16:09:05 -07:00 committed by GitHub
commit a302c220f4

View file

@ -369,7 +369,9 @@ void Avatar::simulate(float deltaTime, bool inView) {
PerformanceTimer perfTimer("simulate"); PerformanceTimer perfTimer("simulate");
{ {
PROFILE_RANGE(simulation, "updateJoints"); PROFILE_RANGE(simulation, "updateJoints");
if (inView && _hasNewJointData) { if (inView) {
Head* head = getHead();
if (_hasNewJointData) {
_skeletonModel->getRig()->copyJointsFromJointData(_jointData); _skeletonModel->getRig()->copyJointsFromJointData(_jointData);
glm::mat4 rootTransform = glm::scale(_skeletonModel->getScale()) * glm::translate(_skeletonModel->getOffset()); glm::mat4 rootTransform = glm::scale(_skeletonModel->getScale()) * glm::translate(_skeletonModel->getOffset());
_skeletonModel->getRig()->computeExternalPoses(rootTransform); _skeletonModel->getRig()->computeExternalPoses(rootTransform);
@ -384,8 +386,8 @@ void Avatar::simulate(float deltaTime, bool inView) {
if (!_skeletonModel->getHeadPosition(headPosition)) { if (!_skeletonModel->getHeadPosition(headPosition)) {
headPosition = getPosition(); headPosition = getPosition();
} }
Head* head = getHead();
head->setPosition(headPosition); head->setPosition(headPosition);
}
head->setScale(getUniformScale()); head->setScale(getUniformScale());
head->simulate(deltaTime); head->simulate(deltaTime);
} else { } else {