Agent States

The Microsoft Agent animation services automatically play certain animations for you. For example, when you use MoveTo or GestureAt commands, the animation services play an appropriate animation. Similarly, after the idle time out, the services automatically play animations. To support these states, you can define appropriate animations and then assign them to the states. You can still play any animation you define directly using the Play method, even if you assign it to a state.

You can assign multiple animations to the same state, and the animation services will randomly choose one of your animations. This enables your character to exhibit far more natural variety in its behavior.

Although animations that you assign to states can include branching frames, avoid looping animations (animations that branch forever). Otherwise, you will have to use the Stop method before you can play another animation.

It's important to define and assign at least one animation for each state that occurs for the character. If you do not supply these animations and state assignments, your character may not appear to behave appropriately to the user. However, if a state does not occur for a particular character, you need not assign an animation to that state. For example, if your host application never calls the MoveTo method, you can skip creating and assigning Moving state animations.

State Example of Use
GesturingDown When the GestureAt animation method is processed.
GesturingLeft When the GestureAt animation method is processed.
GesturingRight When the GestureAt animation method is processed.
GesturingUp When the GestureAt animation method is processed.
Hearing When the beginning of spoken input is detected.
Hiding When the user or the application hides the character.
IdlingLevel1 When the character begins the Idling state.
IdlingLevel2 When the character begins the second Idling level state.
IdlingLevel3 When the character begins the final Idling level state.
Listening When the character starts listening (the user first presses the speech input hot key).
MovingDown When the MoveTo animation method is processed.
MovingLeft When the MoveTo animation method is processed.
MovingRight When the MoveTo animation method is processed.
MovingUp When the MoveTo animation method is processed.
Showing When the user or the application shows the character.
Speaking When the Speak animation method is processed.