mirror of
https://github.com/lubosz/overte.git
synced 2025-04-14 04:26:18 +02:00
added animation files and updated ease in function in rig
This commit is contained in:
parent
5aee2f35f0
commit
45f4cb2018
9 changed files with 16 additions and 9 deletions
BIN
interface/resources/avatar/animations/idleWS_all.fbx
Normal file
BIN
interface/resources/avatar/animations/idleWS_all.fbx
Normal file
Binary file not shown.
BIN
interface/resources/avatar/animations/idle_lookaround01.fbx
Normal file
BIN
interface/resources/avatar/animations/idle_lookaround01.fbx
Normal file
Binary file not shown.
Binary file not shown.
BIN
interface/resources/avatar/animations/idle_once_lookaround.fbx
Normal file
BIN
interface/resources/avatar/animations/idle_once_lookaround.fbx
Normal file
Binary file not shown.
BIN
interface/resources/avatar/animations/talk04.fbx
Normal file
BIN
interface/resources/avatar/animations/talk04.fbx
Normal file
Binary file not shown.
BIN
interface/resources/avatar/animations/talk_righthand.fbx
Normal file
BIN
interface/resources/avatar/animations/talk_righthand.fbx
Normal file
Binary file not shown.
|
@ -1077,7 +1077,7 @@
|
|||
"id": "altTalkIdle1",
|
||||
"type": "clip",
|
||||
"data": {
|
||||
"url": "qrc:///avatar/animations/talk.fbx",
|
||||
"url": "qrc:///avatar/animations/talk_righthand.fbx",
|
||||
"startFrame": 1.0,
|
||||
"endFrame": 800.0,
|
||||
"timeScale": 1.0,
|
||||
|
|
|
@ -808,7 +808,7 @@ bool processRandomSwitchStateMachineNode(AnimNode::Pointer node, const QJsonObje
|
|||
READ_STRING(currentState, jsonObj, nodeId, jsonUrl, false);
|
||||
READ_OPTIONAL_FLOAT(randomSwitchTimeMin, jsonObj, -1.0f);
|
||||
READ_OPTIONAL_FLOAT(randomSwitchTimeMax, jsonObj, -1.0f);
|
||||
READ_STRING(triggerRandomSwitch, jsonObj, nodeId, jsonUrl, false);
|
||||
READ_OPTIONAL_STRING(triggerRandomSwitch, jsonObj, nodeId, jsonUrl, false);
|
||||
READ_OPTIONAL_FLOAT(triggerTimeMin, jsonObj, -1.0f);
|
||||
READ_OPTIONAL_FLOAT(triggerTimeMax, jsonObj, -1.0f);
|
||||
READ_OPTIONAL_STRING(transitionVar, jsonObj);
|
||||
|
|
|
@ -2012,23 +2012,30 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
|
|||
}
|
||||
|
||||
if (_previousIsTalking != params.isTalking) {
|
||||
_talkIdleInterpTime = 0.0f;
|
||||
if (_talkIdleInterpTime < 1.0f) {
|
||||
_talkIdleInterpTime = 1.0f - _talkIdleInterpTime;
|
||||
} else {
|
||||
_talkIdleInterpTime = 0.0f;
|
||||
}
|
||||
}
|
||||
_previousIsTalking = params.isTalking;
|
||||
|
||||
const float TOTAL_INTERP_TIME = 1.5f;
|
||||
const float TOTAL_EASE_IN_TIME = 0.35f;
|
||||
const float TOTAL_EASE_OUT_TIME = 1.5f;
|
||||
if (params.isTalking) {
|
||||
if (_talkIdleInterpTime < 1.0f) {
|
||||
_talkIdleInterpTime += dt / TOTAL_INTERP_TIME;
|
||||
float talkAlpha = glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
_animVars.set("idleOverlayAlpha", talkAlpha);
|
||||
_talkIdleInterpTime += dt / TOTAL_EASE_IN_TIME;
|
||||
float easeOutInValue = _talkIdleInterpTime < 0.5f ? (4.0f * _talkIdleInterpTime * _talkIdleInterpTime * _talkIdleInterpTime) : (4.0f * (_talkIdleInterpTime - 1.0f) * (_talkIdleInterpTime - 1.0f) * (_talkIdleInterpTime - 1.0f)) + 1.0f;
|
||||
//float talkAlpha = glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
_animVars.set("idleOverlayAlpha", easeOutInValue);
|
||||
} else {
|
||||
_animVars.set("idleOverlayAlpha", 1.0f);
|
||||
}
|
||||
} else {
|
||||
if (_talkIdleInterpTime < 1.0f) {
|
||||
_talkIdleInterpTime += dt / TOTAL_INTERP_TIME;
|
||||
float talkAlpha = 1.0f - glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
_talkIdleInterpTime += dt / TOTAL_EASE_OUT_TIME;
|
||||
float easeOutInValue = _talkIdleInterpTime < 0.5f ? (4.0f * _talkIdleInterpTime * _talkIdleInterpTime * _talkIdleInterpTime) : (4.0f * (_talkIdleInterpTime - 1.0f) * (_talkIdleInterpTime - 1.0f) * (_talkIdleInterpTime - 1.0f)) + 1.0f;
|
||||
float talkAlpha = 1.0f - easeOutInValue;// glm::clamp((_talkIdleInterpTime*_talkIdleInterpTime*_talkIdleInterpTime), 0.0f, 1.0f);
|
||||
_animVars.set("idleOverlayAlpha", talkAlpha);
|
||||
} else {
|
||||
_animVars.set("idleOverlayAlpha", 0.0f);
|
||||
|
|
Loading…
Reference in a new issue