From eadf212418cd58329e76d318bdd4fdf63511fee9 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Fri, 18 Sep 2015 18:31:53 -0700 Subject: [PATCH] Updated avatar.json with talking idle animation. --- interface/src/avatar/MyAvatar.cpp | 5 ++- libraries/animation/src/Rig.cpp | 1 + tests/animation/src/data/avatar.json | 53 ++++++++++++++++++++++++---- 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 69f7516430..ae483988e3 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -1299,10 +1299,13 @@ void MyAvatar::initAnimGraph() { // ik-avatar-hands.json // https://gist.githubusercontent.com/hyperlogic/04a02c47eb56d8bfaebb // + // ik-avatar-hands-idle.json + // https://gist.githubusercontent.com/hyperlogic/d951c78532e7a20557ad + // // or run a local web-server // python -m SimpleHTTPServer& //auto graphUrl = QUrl("http://localhost:8000/avatar.json"); - auto graphUrl = QUrl("https://gist.githubusercontent.com/hyperlogic/04a02c47eb56d8bfaebb/raw/72517b231f606b724c5169e02642e401f9af5a54/ik-avatar-hands.json"); + auto graphUrl = QUrl("https://gist.githubusercontent.com/hyperlogic/d951c78532e7a20557ad/raw/8275a99a859bbb9b42530c1c7ebfd024e63ba250/ik-avatar-hands-idle.json"); _rig->initAnimGraph(graphUrl, _skeletonModel.getGeometry()->getFBXGeometry()); } diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp index 1210313bdb..b0ffd081c2 100644 --- a/libraries/animation/src/Rig.cpp +++ b/libraries/animation/src/Rig.cpp @@ -955,6 +955,7 @@ void Rig::updateFromHeadParameters(const HeadParameters& params, float dt) { if (_enableAnimGraph) { _animVars.set("isTalking", params.isTalking); + _animVars.set("notIsTalking", !params.isTalking); } } diff --git a/tests/animation/src/data/avatar.json b/tests/animation/src/data/avatar.json index d1f6166b3d..9c357ac845 100644 --- a/tests/animation/src/data/avatar.json +++ b/tests/animation/src/data/avatar.json @@ -451,15 +451,54 @@ "children": [ { "id": "idle", - "type": "clip", + "type": "stateMachine", "data": { - "url": "https://hifi-public.s3.amazonaws.com/ozan/anim/standard_anims/idle.fbx", - "startFrame": 0.0, - "endFrame": 90.0, - "timeScale": 1.0, - "loopFlag": true + "currentState": "idleStand", + "states": [ + { + "id": "idleStand", + "interpTarget": 6, + "interpDuration": 6, + "transitions": [ + { "var": "isTalking", "state": "idleTalk" } + ] + }, + { + "id": "idleTalk", + "interpTarget": 6, + "interpDuration": 6, + "transitions": [ + { "var": "notIsTalking", "state": "idleStand" } + ] + } + ] }, - "children": [] + "children": [ + { + "id": "idleStand", + "type": "clip", + "data": { + "url": "https://hifi-public.s3.amazonaws.com/ozan/anim/standard_anims/idle.fbx", + "startFrame": 0.0, + "endFrame": 90.0, + "timeScale": 1.0, + "loopFlag": true + }, + "children": [] + }, + { + "id": "idleTalk", + "type": "clip", + "data": { + "url": "http://hifi-public.s3.amazonaws.com/ozan/anim/talk/talk.fbx", + "startFrame": 0.0, + "endFrame": 801.0, + "timeScale": 1.0, + "loopFlag": true + }, + "children": [] + } + ] }, { "id": "walkFwd",