mirror of
https://github.com/lubosz/overte.git
synced 2025-04-14 01:46:18 +02:00
updated the ease in function
This commit is contained in:
parent
7f3101eefb
commit
5aee2f35f0
2 changed files with 16 additions and 12 deletions
|
@ -2011,25 +2011,29 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
|
|||
return;
|
||||
}
|
||||
|
||||
const float OVERLAY_RAMP_RATE = 8.0f;
|
||||
if (_previousIsTalking != params.isTalking) {
|
||||
_talkIdleInterpTime = 0.0f;
|
||||
}
|
||||
_previousIsTalking = params.isTalking;
|
||||
|
||||
const float TOTAL_INTERP_TIME = 1.5f;
|
||||
if (params.isTalking) {
|
||||
if (_talkIdleInterpTime < 1.0f) {
|
||||
_talkIdleInterpTime += dt;
|
||||
_talkIdleOverlayAlpha = glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
//_talkIdleOverlayAlpha = glm::clamp(_talkIdleOverlayAlpha + OVERLAY_RAMP_RATE * dt, 0.0f, 1.0f);
|
||||
_talkIdleInterpTime += dt / TOTAL_INTERP_TIME;
|
||||
float talkAlpha = glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
_animVars.set("idleOverlayAlpha", talkAlpha);
|
||||
} else {
|
||||
_talkIdleInterpTime = 1.0f;
|
||||
_animVars.set("idleOverlayAlpha", 1.0f);
|
||||
}
|
||||
} else {
|
||||
if (_talkIdleOverlayAlpha > 0.0f) {
|
||||
_talkIdleInterpTime += dt;
|
||||
_talkIdleOverlayAlpha = glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
// _talkIdleOverlayAlpha = glm::clamp(_talkIdleOverlayAlpha - OVERLAY_RAMP_RATE * dt, 0.0f, 1.0f);
|
||||
if (_talkIdleInterpTime < 1.0f) {
|
||||
_talkIdleInterpTime += dt / TOTAL_INTERP_TIME;
|
||||
float talkAlpha = 1.0f - glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
_animVars.set("idleOverlayAlpha", talkAlpha);
|
||||
} else {
|
||||
_talkIdleInterpTime = 0.0f;
|
||||
_animVars.set("idleOverlayAlpha", 0.0f);
|
||||
}
|
||||
}
|
||||
_animVars.set("idleOverlayAlpha", _talkIdleOverlayAlpha);
|
||||
|
||||
_headEnabled = params.primaryControllerFlags[PrimaryControllerType_Head] & (uint8_t)ControllerFlags::Enabled;
|
||||
bool leftHandEnabled = params.primaryControllerFlags[PrimaryControllerType_LeftHand] & (uint8_t)ControllerFlags::Enabled;
|
||||
|
|
|
@ -422,8 +422,8 @@ protected:
|
|||
|
||||
float _leftHandOverlayAlpha { 0.0f };
|
||||
float _rightHandOverlayAlpha { 0.0f };
|
||||
float _talkIdleOverlayAlpha { 0.0f };
|
||||
float _talkIdleInterpTime { 0.0f };
|
||||
bool _previousIsTalking { false };
|
||||
|
||||
SimpleMovingAverage _averageForwardSpeed { 10 };
|
||||
SimpleMovingAverage _averageLateralSpeed { 10 };
|
||||
|
|
Loading…
Reference in a new issue