mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-10 01:36:26 +02:00
Tabs to spaces v2
This commit is contained in:
parent
ba379e8830
commit
2377875623
1 changed files with 26 additions and 27 deletions
|
@ -43,11 +43,11 @@ Head::Head(Avatar* owningAvatar) :
|
||||||
_longTermAverageLoudness(-1.0f),
|
_longTermAverageLoudness(-1.0f),
|
||||||
_audioAttack(0.0f),
|
_audioAttack(0.0f),
|
||||||
_audioJawOpen(0.0f),
|
_audioJawOpen(0.0f),
|
||||||
_trailingAudioJawOpen(0.0f),
|
_trailingAudioJawOpen(0.0f),
|
||||||
_mouth2(0.0f),
|
_mouth2(0.0f),
|
||||||
_mouth3(0.0f),
|
_mouth3(0.0f),
|
||||||
_mouth4(0.0f),
|
_mouth4(0.0f),
|
||||||
_mouthTime(0.0f),
|
_mouthTime(0.0f),
|
||||||
_renderLookatVectors(false),
|
_renderLookatVectors(false),
|
||||||
_renderLookatTarget(false),
|
_renderLookatTarget(false),
|
||||||
_saccade(0.0f, 0.0f, 0.0f),
|
_saccade(0.0f, 0.0f, 0.0f),
|
||||||
|
@ -248,33 +248,32 @@ void Head::calculateMouthShapes() {
|
||||||
const float JAW_OPEN_SCALE = 0.015f;
|
const float JAW_OPEN_SCALE = 0.015f;
|
||||||
const float JAW_OPEN_RATE = 0.9f;
|
const float JAW_OPEN_RATE = 0.9f;
|
||||||
const float JAW_CLOSE_RATE = 0.90f;
|
const float JAW_CLOSE_RATE = 0.90f;
|
||||||
const float TIMESTEP_CONSTANT = 0.0032f;
|
const float TIMESTEP_CONSTANT = 0.0032f;
|
||||||
const float MMMM_POWER = 0.10f;
|
const float MMMM_POWER = 0.10f;
|
||||||
const float SMILE_POWER = 0.10f;
|
const float SMILE_POWER = 0.10f;
|
||||||
const float FUNNEL_POWER = 0.35f;
|
const float FUNNEL_POWER = 0.35f;
|
||||||
const float MMMM_SPEED = 2.685f;
|
const float MMMM_SPEED = 2.685f;
|
||||||
const float SMILE_SPEED = 1.0f;
|
const float SMILE_SPEED = 1.0f;
|
||||||
const float FUNNEL_SPEED = 2.335f;
|
const float FUNNEL_SPEED = 2.335f;
|
||||||
const float STOP_GAIN = 5.0f;
|
const float STOP_GAIN = 5.0f;
|
||||||
|
|
||||||
// From the change in loudness, decide how much to open or close the jaw
|
// From the change in loudness, decide how much to open or close the jaw
|
||||||
float audioDelta = sqrtf(glm::max(_averageLoudness - _longTermAverageLoudness, 0.0f)) * JAW_OPEN_SCALE;
|
float audioDelta = sqrtf(glm::max(_averageLoudness - _longTermAverageLoudness, 0.0f)) * JAW_OPEN_SCALE;
|
||||||
if (audioDelta > _audioJawOpen) {
|
if (audioDelta > _audioJawOpen) {
|
||||||
_audioJawOpen += (audioDelta - _audioJawOpen) * JAW_OPEN_RATE;
|
_audioJawOpen += (audioDelta - _audioJawOpen) * JAW_OPEN_RATE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
_audioJawOpen *= JAW_CLOSE_RATE;
|
_audioJawOpen *= JAW_CLOSE_RATE;
|
||||||
}
|
}
|
||||||
_audioJawOpen = glm::clamp(_audioJawOpen, 0.0f, 1.0f);
|
_audioJawOpen = glm::clamp(_audioJawOpen, 0.0f, 1.0f);
|
||||||
_trailingAudioJawOpen = glm::mix(_trailingAudioJawOpen, _audioJawOpen, 0.99f);
|
_trailingAudioJawOpen = glm::mix(_trailingAudioJawOpen, _audioJawOpen, 0.99f);
|
||||||
|
|
||||||
// Advance time at a rate proportional to loudness, and move the mouth shapes through
|
|
||||||
// a cycle at differing speeds to create a continuous random blend of shapes.
|
|
||||||
_mouthTime += sqrtf(_averageLoudness) * TIMESTEP_CONSTANT;
|
|
||||||
_mouth2 = (sinf(_mouthTime * MMMM_SPEED) + 1.0f) * MMMM_POWER * glm::min(1.0f, _trailingAudioJawOpen * STOP_GAIN);
|
|
||||||
_mouth3 = (sinf(_mouthTime * FUNNEL_SPEED) + 1.0f) * FUNNEL_POWER * glm::min(1.0f, _trailingAudioJawOpen * STOP_GAIN);
|
|
||||||
_mouth4 = (sinf(_mouthTime * SMILE_SPEED) + 1.0f) * SMILE_POWER * glm::min(1.0f, _trailingAudioJawOpen * STOP_GAIN);
|
|
||||||
|
|
||||||
|
// Advance time at a rate proportional to loudness, and move the mouth shapes through
|
||||||
|
// a cycle at differing speeds to create a continuous random blend of shapes.
|
||||||
|
_mouthTime += sqrtf(_averageLoudness) * TIMESTEP_CONSTANT;
|
||||||
|
_mouth2 = (sinf(_mouthTime * MMMM_SPEED) + 1.0f) * MMMM_POWER * glm::min(1.0f, _trailingAudioJawOpen * STOP_GAIN);
|
||||||
|
_mouth3 = (sinf(_mouthTime * FUNNEL_SPEED) + 1.0f) * FUNNEL_POWER * glm::min(1.0f, _trailingAudioJawOpen * STOP_GAIN);
|
||||||
|
_mouth4 = (sinf(_mouthTime * SMILE_SPEED) + 1.0f) * SMILE_POWER * glm::min(1.0f, _trailingAudioJawOpen * STOP_GAIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Head::applyEyelidOffset(glm::quat headOrientation) {
|
void Head::applyEyelidOffset(glm::quat headOrientation) {
|
||||||
|
|
Loading…
Reference in a new issue