Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]
Os serviços de animação do Microsoft Agent reproduzem automaticamente determinadas animações para você. Por exemplo, quando você usa comandos MoveTo ou GestureAt , os serviços de animação reproduzem uma animação apropriada. Da mesma forma, após o tempo limite ocioso, os serviços reproduzem animações automaticamente. Para dar suporte a esses estados, você pode definir animações apropriadas e atribuí-las aos estados. Você ainda pode reproduzir qualquer animação definida diretamente usando o método Play , mesmo se atribuí-la a um estado.
Você pode atribuir várias animações ao mesmo estado e os serviços de animação escolherão aleatoriamente uma de suas animações. Isso permite que seu caractere exiba uma variedade muito mais natural em seu comportamento.
Embora as animações que você atribuir aos estados possam incluir quadros de ramificação, evite animações de loop (animações que ramificam para sempre). Caso contrário, você precisará usar o método Stop antes de reproduzir outra animação.
É importante definir e atribuir pelo menos uma animação para cada estado que ocorre para o caractere. Se você não fornecer essas animações e atribuições de estado, seu caractere poderá não parecer se comportar adequadamente com o usuário. No entanto, se um estado não ocorrer para um caractere específico, você não precisará atribuir uma animação a esse estado. Por exemplo, se o aplicativo host nunca chamar o método MoveTo , você poderá ignorar a criação e a atribuição de animações de estado móveis.
| Estado | Exemplo de uso |
|---|---|
| GesturingDown | Quando o método de animação GestureAt é processado. |
| GesturingLeft | Quando o método de animação GestureAt é processado. |
| GesturingRight | Quando o método de animação GestureAt é processado. |
| GesturingUp | Quando o método de animação GestureAt é processado. |
| Audição | Quando o início da entrada falada é detectado. |
| Escondendo | Quando o usuário ou o aplicativo oculta o caractere. |
| IdlingLevel1 | Quando o caractere começa o estado de Idling . |
| IdlingLevel2 | Quando o caractere começa o segundo estado de nível de Idling . |
| IdlingLevel3 | Quando o caractere inicia o estado de nível de Idling final. |
| Ouvir | Quando o caractere começa a escutar (o usuário pressiona pela primeira vez a tecla de entrada de fala). |
| MovingDown | Quando o método de animação MoveTo é processado. |
| MovingLeft | Quando o método de animação MoveTo é processado. |
| MovingRight | Quando o método de animação MoveTo é processado. |
| MoveUp | Quando o método de animação MoveTo é processado. |
| Mostrando | Quando o usuário ou o aplicativo mostra o caractere. |
| Falando | Quando o método de animação Speak é processado. |
Os estados de audição e escuta
A animação que você atribui ao estado escuta é reproduzida quando o usuário pressiona a tecla de acesso push-to-talk para entrada de fala. Crie e atribua uma animação curta que faz com que o caractere pareça atento. Da mesma forma, defina sua animação Return para ter uma curta duração para que o caractere reproduza sua animação de estado de audição quando o usuário fala. Uma animação de estado de audição também deve ser breve e projetada para informar ao usuário que o caractere está escutando ativamente o que o usuário diz. Inclinações de cabeça ou outros gestos leves são apropriados. Para fornecer variabilidade natural, forneça várias animações de estado de audição .
Os Estados de Gesturing
Você precisa criar e atribuir animações de estado gesturing somente se planeja usar o método GestureAt . As animações de estado de geação são reproduzidos quando o Microsoft Agent processa uma chamada para o método GestureAt . Se você definir sobreposições de boca para suas animações de estado gesturing , o caractere poderá falar enquanto faz gestos.
Os serviços de animação determinam a localização do caractere e sua relação com o local das coordenadas especificadas no método e reproduzem uma animação apropriada. A direção de gesturing é sempre em relação ao caractere; por exemplo, GestureRight deve ser um gesto à direita do caractere.
Os estados de exibição e ocultação
Os estados Exibição e Ocultação reproduzem as animações atribuídas quando o usuário ou o aplicativo host solicita para mostrar ou ocultar o caractere. Esses estados também definem adequadamente o estado visível do quadro de caracteres. Ao definir animações para esses estados, tenha em mente que um caractere pode aparecer ou partir em qualquer local da tela. Como o usuário pode mostrar ou ocultar qualquer caractere, sempre dá suporte a pelo menos uma animação para esses estados.
As animações que você atribui ao estado Mostrando normalmente terminam com um quadro que contém a imagem de posição neutra do caractere. Por outro lado, ocultar animações de estado normalmente começa com a posição neutra. Mostrar e ocultar animações de estado pode incluir um quadro vazio no início ou no final, respectivamente, para fornecer uma transição do estado atual do caractere.
Os Estados de Idling
Os estados Idling são progressivos. Os serviços de animação começam a usar as atribuições de Nível 1 para o primeiro período ocioso e usam as animações de Nível 2 para o segundo. Depois disso, o ciclo ocioso progride para as animações atribuídas ao Nível 3 e permanece nesse estado até ser cancelado, como quando uma nova solicitação de animação é iniciada.
Crie animações para os estados de Idling para comunicar o estado do caractere, mas não para distrair o usuário. As animações devem refletir adequadamente a capacidade de resposta do caractere de maneiras sutis, mas claras. Por exemplo, olhar ao redor ou piscar são boas animações a serem atribuídas ao estado IdlingLevel1 . As animações de leitura funcionam bem para o estado IdlingLevel2 . Dormir ou ouvir música com fones de ouvido são bons exemplos de animações a serem atribuídas ao estado IdlingLevel3 . Animações que incluem muitos ou grandes movimentos não são adequadas para animações ociosas porque chamam a atenção do usuário. Como as animações de estado Idling são reproduzidas com frequência, forneça várias animações de estado de Idling , especialmente para os estados IdlingLevel1 e IdlingLevel2 .
Observe que um aplicativo pode desativar o processamento ocioso automático para um caractere e gerenciar o próprio estado de Idling do caractere. Os estados de Idling do Agente foram projetados para ajudá-lo a evitar qualquer situação em que o caractere não tenha animação para ser reproduzido. Uma imagem de caractere que não é alterada após um breve período de tempo é como um aplicativo exibindo um ponteiro de espera por um longo tempo, o que prejudica a sensação de credibilidade e interatividade. Manter a ilusão não leva muito: às vezes apenas um piscar animado, respiração visível ou mudança de corpo.
O estado de fala
Os serviços de animação usam o estado Speaking quando uma animação de fala não pode ser encontrada para a animação atual. Atribua uma animação de fala simples a esse estado. Por exemplo, você pode usar um único quadro que consiste na posição neutra do caractere com sobreposições de boca.
Os estados em movimento
Os estados móveis são reproduzidos quando um aplicativo chama o método MoveTo . Os serviços de animação determinam qual animação será reproduzida com base no local atual do caractere e nas coordenadas especificadas. A direção do movimento é baseada na posição do caractere. Portanto, a animação que você atribui à animação MovingLeft deve ser baseada na esquerda do caractere. Se você não usar o método MoveTo , poderá ignorar a criação e a atribuição de uma animação.
Mover animações de estado deve animar o caractere em sua posição móvel. O último quadro dessa animação é exibido à medida que o quadro do caractere é movido na tela. Não há suporte para animar o caractere enquanto o quadro se move.
Conjunto de Animação Padrão
Embora você possa criar um caractere personalizado para ter as animações que deseja usar, o Microsoft Agent define um conjunto de animações padrão. Os caracteres que estão em conformidade com essa definição podem ser selecionados como um caractere padrão.
A tabela a seguir lista as animações incluídas no conjunto de animação padrão. Mesmo que você esteja criando um caractere personalizado, convém usar a lista como um guia para criar seus próprios caracteres. Os caracteres que dão suporte ao conjunto de animação padrão devem dar suporte a pelo menos as animações a seguir.
| Animação | Exemplo de uso | Animação de exemplo |
|---|---|---|
| Reconhecer | Quando o caractere reconhece a solicitação do usuário. | O caractere acena ou pisca o gesto de mão "OK". Observe que essa animação deve retornar o caractere à sua posição neutra. |
| Alerta1,2 | Quando o caractere está aguardando instruções, normalmente é reproduzido depois que o usuário ativa o modo de escuta. | O personagem enfrenta a frente, respirando, piscando ocasionalmente, mas claramente aguardando instruções. |
| Anunciar1,2 | Quando o caractere tiver encontrado informações para o usuário. | Gestos de personagem levantando sobrancelhas e mão ou abre um envelope. |
| Blink | Quando o caractere terminar de falar ou ficar ocioso. | O caractere pisca naturalmente os olhos. |
| Confuso1,2 | Quando o caractere não entende o que fazer. | O caractere coça a cabeça. |
| Parabenizar1,2 | Quando o caractere ou o usuário conclui uma tarefa (uma forma mais forte da animação Confirmar .) | Caractere executa gesto de felicitação, transmite "Sim!" |
| Declíniode 1,2 | Quando o caractere não pode fazer ou recusa a solicitação do usuário. | O personagem balança a cabeça, transmite "não pode fazer". |
| DoMagic1 | O caractere se prepara para exibir algo. | O caractere acena com as mãos ou a varinha. |
| DoMagic2 | O caractere conclui a exibição de algo. | O caractere completa o gesto mágico. |
| DontRecognize1,2 | Quando o caractere não reconheceu a solicitação do usuário. | Caractere segura mão a orelha. |
| Explicar1,2 | Quando o caractere explica algo para o usuário. | Gestos de caractere como se explicasse algo. |
| GestureDown1,2 | Quando o caractere precisa apontar para algo abaixo dele. | O caractere aponta para baixo. |
| GestureLeft1,2 | Quando o caractere precisa apontar para algo à esquerda. | Pontos de caractere com a mão esquerda ou se transforma em uma seta apontando para a esquerda. |
| GestureRight1,2 | Quando o caractere precisa apontar para algo à sua direita. | O caractere aponta com a mão direita ou se transforma em uma seta apontando para a direita. |
| GestureUp1,2 | Quando o caractere precisa apontar para algo acima dele. | O caractere aponta para cima. |
| GetAttention | Quando o caractere precisar notificar o usuário sobre algo importante. | O personagem acena com as mãos ou pula para cima e para baixo. |
| GetAttentionContinued | Para enfatizar a importância da notificação. | Uma continuação ou repetição do gesto inicial. |
| GetAttentionReturn | Quando o caractere conclui a animação GetAttention ou GetAttentionContinued . | O caractere retorna à sua posição neutra. |
| Saudação1,2 | Quando o usuário inicia o sistema. | Sorrisos e ondas de personagens. |
| Hearing1 | Quando o caractere ouve o início de um enunciado falado (escutando ativamente). | O caractere se inclina para a frente e acena ou vira a cabeça mostrando a resposta à entrada de fala. Observação: essa animação faz um loop para algum quadro intermediário que ocorre depois que o caractere é movido para uma posição apropriada. |
| Hearing2 | Quando o caractere ouve o início de um enunciado falado (escutando ativamente). | Outra variação do tipo de animação usado em Hearing1Observação: essa animação faz um loop para algum quadro intermediário que ocorre depois que o caractere é movido para uma posição apropriada. |
| Ocultar | Quando o usuário descarta o caractere. | O caractere remove o self da tela. |
| Idle1_1 | Quando o caractere não tem nenhuma tarefa e o usuário não está interagindo com o caractere. | O caractere pisca ou olha ao redor, permanecendo dentro ou retornando à posição neutra. |
| Idle1_2 | Quando o caractere não tem nenhuma tarefa e o usuário não está interagindo com o caractere. | Outra variação do tipo de animação usado em Idle1_1. |
| Idle2_1 | Quando o caractere está ocioso há algum tempo. | O personagem boceja ou lê a revista permanecendo ou retornando à posição neutra. |
| Idle2_2 | Quando o caractere está ocioso há algum tempo. | Outra variação do tipo de animação usada em Idle2_1. |
| Idle3_1 | Quando o caractere está ocioso há muito tempo. | Boceja caracteres. |
| Idle3_2 | Quando o caractere está ocioso há muito tempo. | O personagem dorme ou coloca fones de ouvido para ouvir música. Observação: essa animação faz um loop para algum quadro intermediário que ocorre depois que o caractere é movido para uma posição apropriada. |
| LookDown | Quando o caractere precisa olhar para baixo. | O caractere olha para baixo. |
| LookLeft | Quando o caractere precisa olhar para a esquerda. | O caractere olha para a esquerda. |
| LookRight | Quando o caractere precisa parecer certo. | O caractere olha para a direita. |
| Pesquisa | Quando o caractere precisa pesquisar. | O caractere pesquisa. |
| Movedown | Quando o caractere se prepara para mover para baixo. | O caractere faz a transição para uma posição de andar/voar para baixo. |
| Moveleft | Quando o caractere se prepara para mover para a esquerda. | O caractere faz a transição para uma posição esquerda de caminhada/vôo. |
| Moveright | Quando o caractere se prepara para se mover para a direita. | O caractere faz a transição para uma posição direita de caminhada/vôo. |
| MoveUp | Quando o caractere se prepara para mover para cima. | O caractere faz a transição para uma posição de caminhada/vôo para cima. |
| Satisfeito1,2 | Quando o caractere estiver satisfeito com a solicitação ou a escolha do usuário. | O personagem sorri. |
| Processo | Quando o caractere executa algum tipo de tarefa genérica. | O caractere pressiona botões ou usa algum tipo de ferramenta. |
| Processing | Quando o caractere está ocupado trabalhando em uma tarefa genérica. | Os rabiscos de caracteres no bloco de papel ou usam algum tipo de ferramenta. Observação: essa animação faz um loop para algum quadro intermediário que ocorre depois que o caractere é movido para uma posição apropriada. |
| Leitura | Quando o caractere lê algo para o usuário. | O caractere exibe livro ou papel, lê e olha para o usuário. |
| ReadContinued | Quando o caractere lê mais para o usuário. | O caractere lê novamente e, em seguida, olha para o usuário. |
| ReadReturn | Quando o caractere conclui a animação Read ou ReadContinued . | O caractere retorna à sua posição neutra. |
| Lendo | Quando o caractere lê algo, mas não pode aceitar a entrada. | O caractere lê de um pedaço de papel. Observação: essa animação faz um loop para alguns quadros intermediários que ocorrem depois que o caractere se move para uma posição apropriada. |
| RestPose | Quando o caractere fala de sua posição neutra. | O personagem está com postura relaxada, mas atenta. |
| Triste1,2 | Quando o caractere fica decepcionado com a escolha do usuário. | O personagem desaprova ou parece decepcionado. |
| Pesquisar | Quando o caractere procura algo. | O caractere embaralha na gaveta de arquivos ou em outro contêiner em busca de algo. |
| Procurando | Quando o caractere está procurando informações especificadas pelo usuário. | O caractere embaralha na gaveta de arquivos ou em outro contêiner em busca de algo. Observação: essa animação faz um loop para alguns quadros intermediários que ocorrem depois que o caractere se move para uma posição apropriada. |
| Mostrar | Quando o caractere é iniciado ou retorna após ser convocado. | O personagem aparece em um sopro de fumaça, vigas dentro ou anda na tela. |
| StartListening1,2 | Quando o caractere está escutando. | O caractere coloca a mão no ouvido. |
| StopListening1,2 | Quando o caractere para de escutar. | O caractere coloca as mãos sobre as orelhas. |
| Sugerir1,2 | Quando o caractere tem uma dica ou sugestão para o usuário. | A lâmpada aparece ao lado do caractere. |
| Surpreso1,2 | Quando o caractere é surpreendido pela ação ou escolha do usuário. | O caractere amplia os olhos, abre a boca. |
| Penseem 1,2 | Quando o caractere está pensando em algo. | O caractere olha para cima e segura a mão na cabeça. |
| Incerto1,2 | Quando o caractere precisa do usuário para confirmar uma solicitação. | O caractere parece quizzical, transmite ("Tem certeza?") |
| Onda1,2 | Quando o usuário opta por desligar o servidor ou o sistema. | Ondas de caracteres de adeus ou olá. |
| Gravar | Quando o caractere está escutando instruções do usuário. | O caractere exibe papel, grava e olha para o usuário. |
| WriteContinued | Quando o caractere continua escutando instruções do usuário. | O caractere grava em um pedaço de papel e olha para o usuário. |
| WriteReturn | Quando o caractere conclui a animação Write ou WriteContinued . | O caractere retorna à sua posição neutra. |
| Gravando | Quando o caractere grava informações para o usuário. | Gravações de caractere em um pedaço de papel. Observação: essa animação faz loops. |
A animação requer sobreposições de boca e um quadro de fala definido.
A animação requer uma animação Return atribuída com base em sua ramificação de saída ou em uma animação return explícita.
Além disso, um caractere deve ter as seguintes atribuições de estado.
| Estado | Animações necessárias |
|---|---|
| GesturingDown | GestureDown |
| GesturingLeft | GestureLeft |
| GesturingRight | GestureRight |
| GesturingUp | GestureUp |
| Audição | Hearing1, Hearing2 |
| Escondendo | Ocultar |
| IdlingLevel1 | Piscar, Idle1_1, Idle1_2 |
| IdlingLevel2 | Piscar, Idle1_1, Idle1_2, Idle2_1, Idle2_2 |
| IdlingLevel3 | Idle3_1, Idle3_2 |
| Ouvir | Alerta |
| Movendo Para Baixo | Movedown |
| MovingLeft | Moveleft |
| MovingRight | Moveright |
| MovingUp | MoveUp |
| Mostrando | Mostrar |
| Falando | RestPose |