mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 03:24:00 +02:00
Improve mouth resting position and smile
This commit is contained in:
parent
b0ffaaa8b7
commit
c5fba3e0ce
1 changed files with 11 additions and 4 deletions
|
@ -242,11 +242,18 @@ void DdeFaceTracker::decodePacket(const QByteArray& buffer) {
|
|||
_previousExpressions[23] = packet.expressions[23];
|
||||
|
||||
// Mouth blendshapes
|
||||
static const float JAW_OPEN_THRESHOLD = 0.16f;
|
||||
static const float JAW_OPEN_SCALE = 1.4f;
|
||||
static const float SMILE_SCALE = 2.5f;
|
||||
_blendshapeCoefficients[_jawOpenIndex] = JAW_OPEN_SCALE * packet.expressions[21];
|
||||
_blendshapeCoefficients[_mouthSmileLeftIndex] = glm::clamp(SMILE_SCALE * packet.expressions[24], 0.0f, 1.0f);
|
||||
_blendshapeCoefficients[_mouthSmileRightIndex] = glm::clamp(SMILE_SCALE * packet.expressions[23], 0.0f, 1.0f);
|
||||
static const float SMILE_THRESHOLD = 0.18f;
|
||||
static const float SMILE_SCALE = 1.5f;
|
||||
float smileLeft = (packet.expressions[24] + _previousExpressions[24]) / 2.0f;
|
||||
float smileRight = (packet.expressions[23] + _previousExpressions[23]) / 2.0f;
|
||||
_blendshapeCoefficients[_jawOpenIndex] = glm::clamp(JAW_OPEN_SCALE * (packet.expressions[21] - JAW_OPEN_THRESHOLD),
|
||||
0.0f, 1.0f);
|
||||
_blendshapeCoefficients[_mouthSmileLeftIndex] = glm::clamp(SMILE_SCALE * (smileLeft - SMILE_THRESHOLD), 0.0f, 1.0f);
|
||||
_blendshapeCoefficients[_mouthSmileRightIndex] = glm::clamp(SMILE_SCALE * (smileRight - SMILE_THRESHOLD), 0.0f, 1.0f);
|
||||
_previousExpressions[24] = packet.expressions[24];
|
||||
_previousExpressions[23] = packet.expressions[23];
|
||||
|
||||
} else {
|
||||
qDebug() << "[Error] DDE Face Tracker Decode Error";
|
||||
|
|
Loading…
Reference in a new issue