Default Animation Graph

The default Animation Graph exposes four Animation Graph variables: posture_state, gesture_state, facial_gesture_state, and position_state. There is always one active posture, whereas gestures run for a limited duration and then fall back to the last set posture.

Illustration of the layering of the various animation types. Some animation states replace, and others combine with each other.

Illustration of the layering of the various animation types. Some animation states replace, and others combine with each other.

The available postures, gestures, facial gestures, and position transition animations are documented in the tables below. These animations are controlled through the corresponding animation graph variables, that in turn can be controlled through the HTTP API.

The posture_state Variable

Postures are a set of animations associated with a constant avatar state. It keeps playing until a different posture is triggered.

Here is an API call example to set a new posture. See the HTTP API section for more information.

curl -X PUT -s http://localhost:8020/streams/$stream_id/animation_graphs/avatar/variables/posture_state/Talking
The posture_state variable can take any of the Animation ID values shown in this table.

Animation ID

Description

Default

Idle

The avatar is idling and looking around and not looking into the camera.

Listening

The avatar leans in closer to the camera with hands open to their sides, and nodding from time to time, looking into the camera.

Talking

The avatar gestures with hands as in a conversation. Lively but neutral gestures, looking into the camera.

Attentive

The avatar moves minimally with gentle swaying and brief occasional looks into the camera.

x

Thinking

The avatar looks around as if to remember something or solve a problem. Restlessly shifting in place and gesturing to nobody. Not looking into the camera

The gesture_state Variable

A gesture is a momentary animation that will play and then return to the current posture.

Here is an API call example to set a new gesture. See the HTTP API section for more information.

curl -X PUT -s http://localhost:8020/streams/$stream_id/animation_graphs/avatar/variables/gesture_state/Pulling_Mime
The gesture_state variable can take any of the Animation ID values shown in this table.

Animation ID

Description

Duration

Meaning

none

By setting the animation graph variable to “none” you can interrupt and ongoing gesture.

N/A

N/A

No_1

Shaking head: Avatar shakes head slowly.

3 seconds

Expressing strong disagreement or disappointment.

Bowing_1

Bowing: Slightly bows to the front making invitation gesture with both arms.

2.5 seconds

Formal greeting, sign of respect or congratulations or pride.

Bowing_2

Bowing: Slightly bows with both arms and invitational gesture with right arm.

2.5 seconds

Overly formal greeting, sign of respect or grand introduction.

Pointing_To_User_1

Pointing to user: Pointing with both arms towards the user.

2.5 seconds

Encouragement for the user to make a move, approach or say something, or pointing out the user is being addressed.

Pointing_To_User_2

Pointing to user: Insistingly pointing to user with the right arm.

3 seconds

Accusation or strong signal that the user is concerned.

Pointing_Down_1

Pointing down: Lifting the right arm to shoulders and pointing.

3 seconds

Drawing attention to something below the screen or in front of the avatar.

Pointing_Down_2

Pointing down: Lifting both arms and slightly point downwards.

2 seconds

Drawing attention to the desk, to something below the screen or in front of the avatar. Or informing about the location.

Pointing_Left_1

Pointing left: Pointing with both arms to the left hand side of the avatar.

4 seconds

Pointing out something to the left of the avatar in a demanding way, or signaling frustration.

Pointing_Left_2

Pointing left: Pointing with left arm to the back left of the avatar.

4 seconds

Calmly pointing out or presenting something to the left of the avatar. Or giving information about something behind the avatar.

Pointing_Backward_1

Pointing to back: Pointing to the back with the extended right arm.

3.5 seconds

Informing about something in the direction towards the back or giving directions to something behind the avatar.

Fistbump_Offer

Fistbump: Gesturing questioningly with right hand for 3 seconds, then bumping fist towards the user for 7 seconds.

10 seconds

Invitation to a fistbump followed by doing that fistbump.

Pulling_Mime

Pulling rope: Avatar grabs invisible rope and imitates pulling behavior.

3.5 seconds

Suggesting being tethered or chained, or pulling something.

Raise_Both_Arms

Raising both arms: Raising both arms above avatar’s head and swaying slightly.

3.5 seconds

Implying in a crowd celebrating, or on a roller coaster or demonstrating not having anything on them.

The_Robot

Robot dance: Imitating a dancing robot with arms moved in mechanical motion.

3 seconds

Jokingly playing a robot or dancing to celebrate or acting goofy.

Phone_Dialing

Phone dialing: Raising left hand and imitating to dial a phone with right arm.

3.5 seconds

Asking for or mentioning a phone number, or talking about calling someone.

Attraction_1

Waving: Waving with the left arm, then with the right and then with both. Then pointing at the user, beckoning them closer. Then mimicking a fishing rod to pull the user close and laughing. Then waving and beckoning some more.

25 seconds

A long sequence of gestures to playfully encourage someone to approach the avatar.

Attraction_2

Having fun: Questioningly opening both arms and then raising them above the head mimicking being in a roller coaster ride.

10 seconds

Being silly, suggesting having fun.

Please_Repeat_1

Please repeat: Moving head slightly to the user and making circular motion with right arm, then shrugging slightly.

5.5 seconds

Implying not having understood something, asking to repeat or rephrase, or needing more information.

Please_Repeat_2

Presentation: Twirling both hands and making invitational pose with body.

3.5 seconds

Asking to repeat or rephrase something, or needing more information, or asking if something was understood.

Trying_To_See

Trying to see: Lifiting left hand above eyes and making gestures to see better, then shrug.

4 seconds

Implying looking for but not seeing something.

Driving_Mime

Driving: Grabbing an invisible steering wheel with both hands, turning it and switching gears.

4.5 seconds

Sharing a story about driving or getting excited about cars.

Exhausted

Exhausted: Letting head hang in a tired pose, slightly leaning.

4.5 seconds

Dramatically signaling exhaustion or running out of power, slowly shutting down.

Presenting_Options_1

Presenting options: Showing open palms of both hands and making presenting motion with right hand, slight shrug.

3.5 seconds

Giving an overview or multiple options to choose from.

Presenting_Options_2

Presenting options: Raising and opening one hand after the other and a subtle shrug.

3 seconds

Suggesting a choice between two options.

Open_Question_1

Open question: Opening both hands and showing palms to user.

3 seconds

Waiting for the user to make a choice, answer a question or say something.

Personal_Statement_1

Personal statement: Raising right hand to chest, extending and gesturing with left hand.

3.5 seconds

Making a personal statement, explaining something about themselves or making a suggestion relating to something on the left.

Success_1

Success: Making a fist and raising the arm in a successful swinging motion.

2 seconds

Comically celebrating something going well, showing pride in a personal accomplishment.

Dont_Understand_1

Not understanding: Raising both hands next head in a circular motion.

3 seconds

Implying being confused, overwhelmed or stupid.

Toss

Tossing: Miming forming a ball with both hands and tossing it forward.

4 seconds

Implying crumpling something up and throwing it away, giving something up or forgetting about it.

Come_Here_1

Come here: Extending both arms and curling index finger.

2 seconds

Asking to come closer.

Tell_Secret

Telling secret: Coming closer to user and whispering with hand next to mouth.

2.5 seconds

Sharing something intimate, secret or inflammatory, or giving a tip.

Goodbye

Waving goodbye: Waves with left hand extended high.

2 seconds

Taking leave of someone from a further distance, or getting someone’s attention.

Welcome

Waving hellow: Spreads arms slightly, then raises right hand next to face and waves with an open hand.

2.5 seconds.

Greeting someone in a shy or cute manner, showing a positive and non-threatening attitude.

Personal_Statement_2

Personal statement: Leans forward and points to self with relaxed right hand, then leans back and opens arms wide with palms facing upwards.

3 seconds

Revealing something about themselves in a grandiose gesture, or making a little joke about their appearance or personality.

Pointing_To_Self_1

Pointing to self: Leans forward slightly and with a relaxed right index finger points to self.

2.5 seconds

Saying something about themselves.

Stupid_1

Stupid: Raising right hand next to head and twirling the index finger in circles.

3.5 seconds.

Gesture to suggest someone or something might be crazy or dumb.

Pointing_Right_1

Pointing right: Pointing with both arms to the right hand side of the avatar.

4 seconds

Pointing out something to the right of the avatar in a demanding way, or signaling frustration.

Pointing_Right_2

Pointing right: Pointing with right arm to the back right of the avatar.

4 seconds

Calmly pointing out or presenting something to the right of the avatar. Or giving information about something behind the avatar.

Chefs_Kiss

Chef’s Kiss: Avatar makes a kissing gesture and holding up the right hand with index finger and thumb touching.

1.7 seconds

Implying something is just perfect. Something turned out better than expected. Approval from someone in a teaching or judging position.

Finger_Guns

Finger Guns: Leaning back pointing both index fingers to the user mimicking two guns like a cowboy.

3 seconds

Playfully taunting. Humorously punctuating a bad joke. Clumsy flirting.

Finger_Wag

Finger Wag: Pulling back, shaking had and holding up a wagging right index finger

1.7 seconds

Correcting after being misunderstood. Showing the other they have misinterpreted what was said. Implying something is forbidden or inappropriate in a paternal or playful way.

Little

Little: Leaning in, squinting at a raised right hand, holding index and thumb close together.

1.8 seconds

Describing something as very small or miniscule. Something is physically tiny or an issue is so insignificant as to be negligible.

Money

Money: Raising right hand, rubbing thumb and index finger together.

2 seconds

Implying something is expensive. Someone is rich. Doing something requires payment.

Number_1a

Number 1: Raising right hand and extending the index finger.

1.4 seconds

Showing the number 1

Number_2a

Number 2: Raising right hand and extending index and middle finger.

1.4 seconds

Showing the number 2

Number_3a

Number 3: Raising right hand and extending index, middle and ring finger.

1.4 seconds

Showing the number 3

Number_4a

Number 4: Raising right hand and extending all fingers except the thumb.

1.4 seconds

Showing the number 4

Number_5a

Number 5: Raising right hand with all fingers extended.

1.4 seconds

Showing the number 5

Number_1b

Number 1 (German style): Raising right hand and extending the thumb upwards.

1.4 seconds

Showing the number 1 for a Germanic audience

Number_2b

Number 2 (German style): Raising right hand and extending the thumb and index finger.

1.4 seconds

Showing the number 2 for a Germanic audience

Number_3b

Number 3 (German style): Raising right hand and extending the thumb, index and middle finger.

1.4 seconds

Showing the number 3 for a Germanic audience

Number_6c

Number 6 (Chinese style): Raising right hand and extending the thumb and pinky.

1.4 seconds

Showing the number 6 for a Chinese audience

Number_7c

Number 7 (Chinese style): Raising right hand and making claw shape touching the thumb to the fingers.

1.4 seconds

Showing the number 7 for a Chinese audience

Number_8c

Number 8 (Chinese style): Raising right hand and extending index finger and thumb pointing slightly to the side.

1.4 seconds

Showing the number 8 for a Chinese audience

Number_9c

Number 9 (Chinese style): Raising right hand and holding up a curled index finger.

1.4 seconds

Showing the number 9 for a Chinese audience

Ouch

Ouch: Jump and cringe while turning head away, then recover quickly shaking out right hand and exhaling.

2 seconds

Narrowly avoiding a close call with danger. Feeling intense fear for a moment followed by exhaustion or relief. Can also be as a reacion to someone else’s predicament. Or a response to well placed insult.

Angry_Shaking_Fist

Angry Shaking Fist: Coming closer, lowering head and shaking right fist forward.

1.6 seconds

Being angrily frustrated. Swearing vengence or threatening violence.

Pointing_To_Self_Questioningly

Pointing To Self Questioningly: Raisng right finger hesitantly, turning head and pointing at self with while leaning back a little.

2.8 seconds

Asking if something refers to them, being unsure if they’re being adressed. Asking if something might fit them or if they could do something.

Pointing_To_User_Questioningly

Pointing To User Questioningly: Lifting right finger pointing at user with initial hesitation while leaning back slightly.

2.4 seconds

Asking if something might be about the user, or if the user is interested in an offer. Suggesting the user could be the right person for something. Uncertain about the users involvement.

Raise_Finger_Big

Raise Finger Big: Raising right index finger in a big sweaping motion, then gesturing with it briefly.

2.5 seconds

Making a big surprise announcement. Being very pompous or a pedantic, gleefully correcting someone.

More_Or_Less

More Or Less: Leaning in and holding out a flat hand with palms facing down, wiggling the hand back and forth.

1.8 seconds

Explaining something is not quite accurate, is unknown, or just a guess. Relativising a previous statement. Being indecisive, not taking a clear stance. Pointing out the complexity of something.

Thumbs_Up

Thumbs Up: Lifting the right hand with a thumb extending upwards.

1.4 seconds

Sign of approval. Something is correct. Enthusiastically agreeing with what’s being said and showing support. Things are okay, there’s no harm done. Encouragement to go ahead.

Thumbs_Down

Thumbs Down: Lifting the right hand with a thumb pointing downwards.

1.4 seconds

Sign of disapproval. Something is wrong. Rudely disagreeing with what’s being said showing rejection.

The facial_gesture_state Variable

A facial gesture is a momentary face animation that will play and then return to the current facial animation of the active posture.

Here is an API call example to trigger a facial gesture. See the HTTP API section for more information.

curl -X PUT -s http://localhost:8020/streams/$stream_id/animation_graphs/avatar/variables/facial_gesture_state/Smile
The facial_gesture_state variable can take any of the Animation ID values shown in this table.

Animation ID

Description

Duration

Meaning

Angry

Angry: Furrowed brow, short glare at the user with an angry frown.

1.7 seconds

Expression of anger, being displeased, insulted or bitter.

Angry_Intense

Very Angry: Furrowed brow, lowering head, angrily showing teeth.

2.3 seconds

Expression of rage or hatred, being spiteful or adversarial.

Astonishment

Astonishment: Lowering head forward and dropping jaw.

2.7 seconds

Expression of astonishment, being extremely impressed and speechless.

Confused

Confused: Slight squinting and opening of mouth.

1.8 seconds

Expression of confusion. Can’t follow of comprehend what’s been said.

Confused_Intense

Very Confused: Tilting head forward, skewing mouth and slightly sneering.

2 seconds

Expression of total confusion. Something made no sense at all.

Disgust

Disgusted: Sneering nose, curling lips pulling head back.

1.5 seconds

Expression of disgust. Finding something off-putting or being very negatively surprised.

Disgust_Intense

Very Disgusted: Sneering, pulling back, shaking head, curling lips, showing teeth.

2.5 seconds

Expression of repulsion. Finding something extremely gross or offensive.

Doubtful

Doubtful: Squinting and sneering slightly more with one eye.

1.7 seconds

Expression of doubt. Not sure if something can be true. Possible misunderstanding.

Doubtful_Intense

Very Doubtful: Tilting head, strongly skewing mouth and squinting hard.

1.7 seconds

Expression of disbelief. Something can’t possibly be correct. There must be a mistake.

Excited

Excited: Leaning head forward widely smiling with an open mouth.

3 seconds

Expression of speechless excitement, being very positively surprised or happy.

Eye_Roll

Eye Roll: Looking upwards and to the side slightly turning head away.

2.5 seconds

Expression of being annoyed by something stupid or tedious.

Eye_Roll_Intense

Big Eye Roll: Rolling eyes and head upwards and to the side, mouth slightly open.

2.5 seconds

Expression of being very annoyed or frustrated by something.

Pensive

Pensive: Looking slightly down and to the side, furrowing brow.

2 seconds

Expression of having to think about something. Being unsure or wondering.

Pensive_Intense

Very Pensive: Looking to the side and tilting head with furrowed brow and tense lips.

2.5 seconds

Expression of strained thinking or indecisiveness.

Sad

Sad: Lowering head, frowning and looking at the ground.

4 seconds

Expression of sadness. Being emotionally hurt or disappointed.

Sad_Intense

Very Sad: Hanging head, looking to the ground, frowinging deeply, lips trembling.

4 seconds

Expression of extreme sadness. Being on the verge of tears. Deeply hurt and overwhelmed.

Shrug

Shrug: Breaking eye contact, tilting head and raising lips in a slight frown.

1.4 seconds

Expression of uncertainty or disinterest. Not knowing something without being bothered.

Shrug_Intense

Big Shrug: Looking away, raising and tilting head, skewing mouth and frowning.

1.3 seconds

Expression of having no idea. Being glib.

Smile

Smile: Smiling with closed lips.

2 seconds

Expression of happiness, being pleased or just polite.

Smile_Intense

Big Smile: Grinning.

2.8 seconds

Expression of being very pleased and happy. Polite greeting. Can also be sarcastic.

Surprised

Surprised: Wide eyes, narrow open lips, raising head.

2 seconds

Expression of surprise. Being caught off guard by something.

Surprised_Intense

Very Surprised: Open mouth, slightly trembling head, eyes wide open with raised brows.

2 seconds

Expression of shock. Being surprised to the point of fear.

Taunt

Taunt: Raising an eyebrow, turning head to the side with a one-sided smile.

1.2 seconds

Expression of jovial provocation. Being cheeky, hinting at something or flirting.

Taunt_Intense

Excessive Taunt: Smiling, turning head to side making eye contact and bouncing eyebrows.

2 seconds

Expression for a strong hint. Taunting and suggesting something in a playful way.

Tired

Tired: Slow blinking, lowering jaw, half open eyes.

4 seconds

Expression of being tired. Something is very exhausting or boring.

Tired_Intense

Very Tired: Head sinking, eyes briefly closing, then waking suddenly and recovering.

2.5 seconds

Expression of being extremely tired. Falling asleep for a second.

Wink

Wink: Slight smile and head tilt, winking with left eye briefly.

0.8 seconds

Expression for a hint. Suggesting something isn’t meant to be taken seriously. Just kidding.

Wink_Intense

Big Wink: Turning head, winking with left eye and slightly grinning.

1 second

Expression for being playful. Making an obvious hint, offering a deal, or being sleazy.

Yawn

Yawn: Closing eyes, opening mouth and straining face pulling back chin.

1.8 seconds

Expression of boredom. Being generally tired, unoccupied or inactive. happens involuntarily.

Sneaky

Sneaky: Turning head slightly, and smirking.

1.5 seconds

Expression of cunning or smugness. Posing a challenge, projecting pride and confidence or mischief.

Sneaky_Intense

Very Sneaky: Lowering head smiling with cold eyes and eyes darting around the room.

2.1 seconds

Expression of deviousness. Planning something sinister, being manipulative or enjoying someone else’s peril. Being creepy or spooky, trying to instil fear.

Head_Shake_Big

Big Head Shake: Strongly shaking head two times.

1.6 seconds

Showing clear, decisive disagreement

Head_Shake_Frantic

Frantic Head Shake: Closing eyes and shaking head three times quickly.

1.8 seconds

Showing emphatic disagreement. Implying something was misunderstood.

Head_Shake_Slowly

Slow Head Shake: Shaking head two times slowly

1.9 seconds

Showing hesitant disagreement. Something is probably wrong.

Nodding_Big

Big Nod: Strongly nodding head once with wide eyes.

2 seconds

Showing clear, decisive agreement

Nodding_Frantic

Frantic Nod: Nodding head four times quickly.

1.6 seconds

Showing emphatic, supportive agreement.

Nodding_Slowly

Slow Nod: Nodding head three times slowly.

3 seconds

Showing compassionate, patient agreement.

Nodding_Upward

Up Nod: Nodding upwards with chin and raising eyebrows.

0.8 seconds

Subtle greeting or sign of recognition. Addressing someone.

The position_state Variable

A position defines the character’s location in space. When this state is changed it triggers an animation that moves the root joint of the character. The root joint is special in the sense that it is not reset to its original position after an animation has ended. So the character stays in its new location even after transitioning back to the posture animations.

Here is an API call example to change the avatar’s position. See the HTTP API section for more information.

curl -X PUT -s http://localhost:8020/streams/$stream_id/animation_graphs/avatar/variables/position_state/Left
The position_state variable can take any of the Animation ID values shown in this table.

Animation ID

Description

Right

The avatar stands on the right side of the scene (viewed from the avatar).

Center

The avatar stands in the center of the scene.

Left

The avatar stands on the left side of the scene (viewed from the avatar).

Audio2Face Animation

Audio2Face blendshape data is received by a pose provider node in the Animation Graph and then additively blended with the rest of the animation in much the same way as facial gestures.