Состояния агента

[Агент Майкрософт не рекомендуется использовать в Windows 7 и может быть недоступен в последующих версиях Windows.]

Службы анимации Microsoft Agent автоматически вступают в определенную анимацию. Например, при использовании команд MoveTo или GestureAt службы анимации воспроизводят соответствующую анимацию. Аналогичным образом, после истечения времени ожидания простоя службы автоматически воспроизводит анимации. Для поддержки этих состояний можно определить соответствующие анимации, а затем назначить их состояниям. Вы по-прежнему можете воспроизводить любую анимацию, определяемую напрямую, с помощью метода Play , даже если она назначена состоянию.

Вы можете назначить несколько анимаций одному и тому же состоянию, и службы анимации будут случайным образом выбирать одну из ваших анимаций. Это позволяет вашему персонажу проявлять гораздо более естественное разнообразие в своем поведении.

Хотя анимации, назначаемые состояниям, могут включать ветвления кадров, избегайте циклов анимации (анимации, которые ветвления навсегда). В противном случае перед воспроизведением другой анимации потребуется использовать метод Stop .

Важно определить и назначить по крайней мере одну анимацию для каждого состояния символа. Если вы не предоставляете эти анимации и назначения состояний, ваш персонаж может показаться некорректным для пользователя. Однако если состояние не возникает для определенного символа, не нужно назначать анимацию для этого состояния. Например, если ведущее приложение никогда не вызывает метод MoveTo , можно пропустить создание и назначение анимаций состояния перемещения .

Состояние Пример использования
GesturingDown При обработке метода анимации GestureAt .
GesturingLeft При обработке метода анимации GestureAt .
GesturingRight При обработке метода анимации GestureAt .
GesturingUp При обработке метода анимации GestureAt .
Слуховое восприятие При обнаружении начала речевых входных данных.
Скрытые Когда пользователь или приложение скрывает символ.
IdlingLevel1 Когда символ начинает состояние Idling .
IdlingLevel2 Когда символ начинает второе состояние уровня idling .
IdlingLevel3 Когда символ начинает окончательное состояние уровня idling .
Прослушивания Когда символ начинает прослушивать (пользователь сначала нажимает клавишу ввода речи).
MovingDown При обработке метода анимации MoveTo .
MovingLeft При обработке метода анимации MoveTo .
MovingRight При обработке метода анимации MoveTo .
Перемещение по ступе При обработке метода анимации MoveTo .
Отображается Когда пользователь или приложение отображает символ .
Говоря При обработке метода анимации Speak .

Состояния слушания и слушания

Анимация, назначаемая состоянию прослушивания , воспроизводится, когда пользователь нажимает клавишу push-to-talk для ввода речи. Создайте и назначьте короткую анимацию, которая делает персонажа внимательным. Аналогичным образом определите анимацию возврата , чтобы она была короткой, чтобы персонаж воспроизводил анимацию состояния слуха , когда пользователь говорит. Анимация состояния слушания также должна быть краткой и предназначена для того, чтобы пользователь знал, что персонаж активно слушает то, что говорит пользователь. Уместны наклоны головы или другие незначительные жесты. Чтобы обеспечить естественную изменчивость, предоставьте несколько анимаций состояния слуха .

Государства жестикулинга

Создавать и назначать анимации состояния Gesturing необходимо только в том случае, если планируется использовать метод GestureAt . Анимация состояния gesturing воспроизводит, когда Microsoft Agent обрабатывает вызов метода GestureAt . Если вы определяете наложения рта для анимации состояния Gesturing , символ может говорить при жестах.

Службы анимации определяют расположение персонажа и его связь с расположением координат, указанных в методе , и воспроизводит соответствующую анимацию. Направление gesturing всегда по отношению к характеру; Например, GestureRight должен быть жестом справа от символа.

Отображение и скрытие состояний

Состояния Отображение и скрытие воспроизводит назначенные анимации, когда пользователь или ведущее приложение запрашивает отображение или скрытие символа. Эти состояния также соответствующим образом задают видимое состояние символьного кадра. При определении анимации для этих состояний следует помнить, что персонаж может появляться или уходить в любом месте экрана. Так как пользователь может показать или скрыть любой символ, всегда поддерживайте хотя бы одну анимацию для этих состояний.

Анимации, назначаемые состоянию "Отображение ", обычно заканчиваются кадром, содержащим изображение нейтрального положения символа. И наоборот, анимация скрытия состояния обычно начинается с нейтральной позиции. Анимации отображения и скрытия состояния могут содержать пустой кадр в начале или конце соответственно, чтобы обеспечить переход от текущего состояния символа.

Состояния бездействия

Состояния idling являются прогрессивными. Службы анимации начинают использовать назначения уровня 1 для первого периода простоя, а для второго — анимации уровня 2. После этого цикл простоя переходит к назначенным анимациям уровня 3 и остается в этом состоянии до тех пор, пока не будет отменен, например, когда начинается новый запрос на анимацию.

Создайте анимацию для состояний idling , чтобы сообщать о состоянии символа, но не отвлекать пользователя. Анимация должна соответствующим образом отражать скорость реагирования персонажа в тонких, но четких способах. Например, просмотр или мигание — это хорошие анимации, которые можно присвоить состоянию IdlingLevel1 . Анимации чтения хорошо работают для состояния IdlingLevel2 . Спящий режим или прослушивание музыки с помощью наушников — хорошие примеры анимаций, которые можно присвоить состоянию IdlingLevel3 . Анимации, включающие большое или много движений, не подходят для анимации простоя, так как они привлекают внимание пользователя. Так как анимации состояния бездействия воспроизводится часто, предоставьте несколько анимаций состояния idling , особенно для состояний IdlingLevel1 и IdlingLevel2 .

Обратите внимание, что приложение может отключить автоматическую обработку бездействия для символа и управлять состоянием idling самого символа. Состояния бездействия агента позволяют избежать любой ситуации, когда у персонажа нет анимации для воспроизведения. Изображение символа, которое не изменяется через короткий период времени, похоже на то, что приложение отображает указатель на ожидание в течение длительного времени, что отвлекает от чувства правдоподобности и интерактивности. Поддержание иллюзии не занимает много: иногда просто анимированное мигание, видимое дыхание, или сдвиг тела.

Говоряющее государство

Службы анимации используют состояние Говоря, когда не удается найти анимацию речи для текущей анимации. Назначьте этому состоянию простую анимацию речи. Например, можно использовать один кадр, состоящий из нейтрального положения символа с наложениями рта.

Движущиеся состояния

Состояния Move воспроизводятся, когда приложение вызывает метод MoveTo . Службы анимации определяют, какую анимацию следует воспроизводить на основе текущего расположения персонажа и заданных координат. Направление перемещения основано на положении символа. Поэтому анимация, назначаемая анимации MovingLeft , должна основываться на левой части символа. Если вы не используете метод MoveTo , можно пропустить создание и назначение анимации.

Анимация перемещения состояния должна анимировать символ в его движущемся положении. Последний кадр этой анимации отображается при перемещении кадра персонажа на экране. Анимация символа при перемещении его кадра не поддерживается.

Стандартный набор анимации

Хотя вы можете создать пользовательский символ, который будет содержать нужные анимации, Microsoft Agent определяет стандартный набор анимаций. Символы, соответствующие этому определению, можно выбрать в качестве символов по умолчанию.

В следующей таблице перечислены анимации, включенные в стандартный набор анимаций. Даже если вы создаете пользовательский символ, вы можете использовать список в качестве руководства для разработки собственных символов. Символы, поддерживающие стандартный набор анимаций, должны поддерживать по крайней мере следующие анимации.

Анимация Пример использования Пример анимации
Подтвердить Когда символ подтверждает запрос пользователя. Символ кивает или мигает жестом руки "ОК". Обратите внимание, что эта анимация должна возвращать символ в нейтральную позицию.
Оповещение1,2 Когда персонаж ожидает инструкций, обычно воспроизводится после включения пользователем режима прослушивания. Персонаж лицом впереди, дышит, мигает время от времени, но явно ждет инструкции.
Объявление1,2 Когда символ нашел сведения для пользователя. Жесты символов, поднимая брови и руку или открывая конверт.
Blink Когда символ заканчивает говорить или простаивает. Характер естественно моргает глазами.
Запутанный1,2 Когда персонаж не понимает, что делать. Персонаж царапает голову.
Поздравить1,2 Когда персонаж или пользователь завершает задачу (более надежная форма анимации Подтверждения ). Персонаж выполняет поздравительный жест, передает "Да!"
Отклонение1,2 Если символ не может выполнить или отклоняет запрос пользователя. Персонаж качает головой, передает "не может сделать".
DoMagic1 Персонаж готовится к отображению чего-либо. Персонаж машет руками или палочкой.
DoMagic2 Символ завершает отображение чего-либо. Символ завершает магический жест.
DontRecognize1,2 Если символ не распознает запрос пользователя. Персонаж держит руку до уха.
Объяснение1,2 Когда символ объясняет что-то пользователю. Жесты символов, как бы объясняющие что-то.
GestureDown1,2 Когда символу нужно указать на что-то под ним. Символ указывает вниз.
GestureLeft1,2 Когда символу нужно указать на что-то слева. Символ указывает левой рукой или превращается в стрелку, указывающую влево.
GestureRight1,2 Когда персонаж должен указать на что-то справа. Символ указывает правой рукой или превращается в стрелку, указывающую вправо.
GestureUp1,2 Когда символу нужно указать на что-то над ним. Символ указывает вверх.
GetAttention Когда персонаж должен уведомить пользователя о чем-то важном. Персонаж машет руками или прыгает вверх и вниз.
GetAttentionContinued Чтобы подчеркнуть важность уведомления. Продолжение или повтор начального жеста.
GetAttentionReturn Когда символ завершает анимацию GetAttention или GetAttentionContinued . Символ возвращается в нейтральную позицию.
Приветствие1,2 Когда пользователь запускает систему. Персонажи улыбаются и волны.
Слушание1 Когда персонаж слышит начало речевого фрагмента (активного прослушивания). Персонаж наклоняется вперед и кивает или поворачивает голову, показывая ответ на ввод речи. Примечание. Эта анимация циклически переходит к промежуточному кадру, который возникает после перемещения символа в соответствующее положение.
Слушание2 Когда персонаж слышит начало речевого фрагмента (активного прослушивания). Другой вариант типа анимации, используемой в примечании Прослушивания1. Эта анимация циклически переходит к некоторому промежуточному кадру, который возникает после перемещения символа в соответствующее положение.
Скрыть Когда пользователь отклоняет символ. Персонаж удаляет себя с экрана.
Idle1_1 Если у персонажа нет задачи, а пользователь не взаимодействует с ним. Символ мигает или оглядывается, оставаясь в нейтральной позиции или возвращаясь в нейтральную позицию.
Idle1_2 Если у персонажа нет задачи, а пользователь не взаимодействует с ним. Другой вариант типа анимации, используемой в Idle1_1.
Idle2_1 Если символ неактивный в течение некоторого времени. Персонаж зевает или читает журнал, оставаясь в нейтральной позиции или возвращаясь в нейтральную позицию.
Idle2_2 Если символ неактивный в течение некоторого времени. Другой вариант типа анимации, используемой в Idle2_1.
Idle3_1 Если символ неактивный в течение длительного времени. Персонаж зевает.
Idle3_2 Если символ неактивный в течение длительного времени. Персонаж спит или надевает наушники, чтобы слушать музыку. Примечание. Эта анимация циклически переходит к промежуточному кадру, который возникает после перемещения символа в соответствующее положение.
LookDown Когда персонажу нужно смотреть вниз. Персонаж смотрит вниз.
LookLeft Когда персонаж должен смотреть влево. Символ смотрит влево.
LookRight Когда персонаж должен выглядеть правильно. Символ выглядит справа.
Поиска Когда символу нужно искать. Поиск символа.
MoveDown Когда персонаж готовится к смещению вниз. Переход символа в положение ходьбы или полета вниз.
MoveLeft Когда символ готовится к переходу влево. Переход символа в положение ходьбы или полета влево.
MoveRight Когда персонаж готовится двигаться вправо. Персонаж переходит в положение ходьбы или полета вправо.
Перемещение вверх Когда персонаж готовится к переходу вверх. Переход символа в положение ходьбы или полета вверх.
Доволен1,2 Когда персонаж доволен запросом или выбором пользователя. Персонаж улыбается.
Процесс Когда символ выполняет какой-то тип универсальной задачи. Символ нажимает кнопки или использует какой-либо инструмент.
Обработка Когда персонаж занят работой над универсальной задачей. Символы нарисовывающиеся на бумаге или используют какой-либо инструмент. Примечание. Эта анимация циклически переходит к промежуточному кадру, который возникает после перемещения символа в соответствующее положение.
Чтение Когда символ читает что-то пользователю. Символ отображает книгу или бумагу, читает и оглядывается на пользователя.
ReadContinued Когда символ считывает дальше для пользователя. Символ снова читает, а затем оглядывается на пользователя.
ReadReturn Когда символ завершает анимацию Read или ReadContinued . Символ возвращается в нейтральную позицию.
Чтение Когда символ читает что-то, но не может принять входные данные. Символ читает с листа бумаги. Примечание. Эта анимация циклически переходит к некоторым промежуточным кадрам, которые возникают после перемещения символа в соответствующую позицию.
RestPose Когда символ говорит с нейтральной позиции. Персонаж стоит с расслабленной, но внимательной осанкой.
Грустно1,2 Если персонаж разочарован выбором пользователя. Персонаж хмурится или выглядит разочарованным.
Поиск Когда символ ищет что-то. Символ перемешивает панель файлов или другой контейнер в поисках чего-либо.
Поиск Когда символ ищет сведения, указанные пользователем. Символ перемешивает панель файлов или другой контейнер в поисках чего-либо. Примечание. Эта анимация циклически переходит к некоторым промежуточным кадрам, которые возникают после перемещения символа в соответствующую позицию.
Показать Когда символ запускается или возвращается после вызова. Персонаж всплывает в слое дыма, лучи в или ходит на экране.
StartListening1,2 Когда персонаж прослушивает. Персонаж кладет руку к уху.
StopListening1,2 Когда персонаж перестает прослушивать. Персонаж кладет руки через уши.
Предложить1,2 Если у символа есть подсказка или предложение для пользователя. Рядом с символом появится лампочка.
Удивлен1,2 Когда персонаж удивлен действием или выбором пользователя. Персонаж расширяет глаза, открывает рот.
Подумайте1,2 Когда персонаж о чем-то думает. Персонаж смотрит вверх и держит руку на голове.
Неопределенный1,2 Когда символу требуется, чтобы пользователь подтвердил запрос. Характер выглядит викторично, передает ("Вы уверены?")
Волна1,2 Когда пользователь решает завершить работу сервера или системы. Персонажи волны до свидания или привет.
запись Когда символ прослушивает инструкции от пользователя. Символ отображает бумагу, записывает и оглядывается на пользователя.
WriteContinued Когда символ продолжает прослушивать инструкции от пользователя. Персонаж пишет на листе бумаги и оглядывается на пользователя.
WriteReturn Когда символ завершает анимацию Write или WriteContinued . Символ возвращается в нейтральную позицию.
Запись Когда символ записывает сведения для пользователя. Символ пишет на листе бумаги. Примечание. Эта анимация циклов.

Для анимации требуется наложение рта и определенный кадр речи.

Для анимации требуется назначенная анимация return на основе ее ветвления выхода или явной анимации возврата.

Кроме того, символ должен иметь следующие назначения состояний.

Состояние Обязательные анимации
GesturingDown GestureDown
GesturingLeft GestureLeft
GesturingRight GestureRight
GesturingUp GestureUp
Слуховое восприятие Слушание1, слушание2
Скрытые Скрыть
IdlingLevel1 Мигание, Idle1_1, Idle1_2
IdlingLevel2 Мигание, Idle1_1, Idle1_2, Idle2_1, Idle2_2
IdlingLevel3 Idle3_1, Idle3_2
Прослушивания Предупреждение
MovingDown MoveDown
MovingLeft MoveLeft
MovingRight MoveRight
Перемещение по ступе Перемещение вверх
Отображается Показать
Говоря RestPose