Animações

[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]

As animações de um personagem refletem seu gênero, idade, personalidade e comportamento. O número e os tipos de animações que você cria para um caractere dependem do que seu caractere faz e de como ele responde a diferentes situações.

Como animações tradicionais, animações digitais envolvem a criação de uma série de imagens ligeiramente diferentes que, quando exibidas sequencialmente, fornecem a ilusão de ação. A criação de imagens de animação de alta qualidade pode exigir um animador qualificado, mas o estilo e a apresentação do caractere que você cria também afetam a qualidade. Caracteres bidimensionais com formas e recursos simples às vezes podem ser tão eficazes quanto (ou mais eficazes do que) caracteres altamente renderizados. Não é necessário criar uma imagem realista para retratar um caractere eficaz. Muitos personagens populares de desenhos animados não são realistas em sua apresentação, mas são eficazes porque o animador entende como transmitir ação e emoção. O Apêndice fornece informações gerais sobre princípios fundamentais de design de animação.

Quadros

Cada animação criada para um caractere do Microsoft Agent é composta por uma sequência cronometrada de quadros. Cada quadro na animação é composto por uma ou mais imagens de bitmap. As imagens podem ser tão pequenas quanto você precisa delas ou tão grandes quanto o próprio quadro.

Detalhes de animação, como piscar os olhos ou movimento do dedo, podem ser incluídos como imagens adicionais para o quadro. Você pode sobrepor várias imagens para criar uma composição e variar sua posição nas camadas. Essa técnica permite reutilizar imagens em vários quadros e variar os detalhes que mudam. Por exemplo, se você quiser ter um caractere acenar com a mão, para cada quadro, você pode usar uma imagem base com tudo menos a mão e sobrepor a imagem base com uma imagem de mão diferente. Da mesma forma, se você quiser fazer o caractere piscar, poderá sobrepor um conjunto diferente de olhos sobre uma imagem base para cada quadro. As imagens também podem ser deslocadas da imagem base. No entanto, somente a parte da imagem que existe dentro do tamanho do quadro será exibida.

Você pode ter tantos quadros em uma animação quanto desejar; no entanto, uma animação típica tem uma média de cerca de 14 quadros para que ela seja reproduzida por não mais do que seis segundos. Esse período modesto de tempo garante que seu caractere pareça responsivo à entrada do usuário. Além disso, quanto maior o número de quadros, maior será o arquivo de animação. Para caracteres baseados na Web baixados, mantenha o tamanho do arquivo de animação o menor possível, enquanto ainda fornece um conjunto de quadros de tamanho razoável, para que a animação do caractere não pareça irregular.

Design de imagem

Você pode usar qualquer ferramenta de elementos gráficos ou animação para criar imagens para quadros de animação, desde que armazene as imagens finais no formato bitmap (.BMP) do Windows. Quando as imagens forem criadas, use o Editor de Caracteres do Microsoft Agent para montar, sequenciar e cronometrar as imagens, fornecer outras informações de caractere e compilar todas as informações em um arquivo de caractere final.

As imagens de caractere devem ser projetadas para uma paleta de 256 cores, preservando as 20 cores padrão do sistema Windows em sua posição padrão na paleta (as primeiras 10 e as últimas 10 posições). Isso significa que a paleta de cores do caractere pode usar as cores padrão do sistema e até 236 outras cores. Ao definir sua paleta, inclua todos os adereços que seu caractere usa na animação. Se a paleta do caractere colocar cores nas posições de cor do sistema, essas cores de caractere serão substituídas pelas cores do sistema quando o Microsoft Agent criar a paleta.

Quanto maior o número de cores usadas na paleta de cores de um caractere, maior a possibilidade de que parte das cores do caractere possa ser remapeada para sistemas configurados para uma configuração de cor de 8 bits (256). Considere também o uso da paleta do aplicativo no qual o caractere será usado. É melhor evitar que o caractere remapee as cores de seu aplicativo host e vice-versa. Da mesma forma, se você planeja dar suporte a vários caracteres exibidos ao mesmo tempo, provavelmente desejará manter uma paleta consistente para esses caracteres. Você pode considerar usar apenas as cores padrão do sistema em seu caractere se você direcionar usuários com uma configuração de cores de 8 bits. No entanto, isso ainda pode não impedir o remapeamento da cor do caractere se outro aplicativo redefinir extensivamente a paleta de cores. Em sistemas definidos como resoluções de cores mais altas, o remapeamento de paleta de cores não deve ser um problema porque o sistema gerencia as paletas de cores automaticamente.

O uso de um número maior de cores em uma imagem também pode aumentar o tamanho geral do arquivo de animação. O número de cores e a frequência da variação podem determinar o quão bem o arquivo de caractere compacta. Por exemplo, um caractere bidimensional que usa apenas algumas cores será compactado melhor do que um caractere tridimensional sombreado.

Você deve usar a mesma paleta de cores para todo o arquivo de caracteres. Não é possível alterar a paleta para animações diferentes. Se você tentar dar suporte a configurações de cores de 8 bits, considere usar a mesma paleta para seu aplicativo e quaisquer outros caracteres aos quais você planeja dar suporte.

A11ª posição na paleta é definida por padrão como a cor de transparência (ou alfa), embora você também possa definir a cor usando o Editor de Caracteres do Microsoft Agent. Os serviços de animação do Microsoft Agent renderizam qualquer pixel transparente nessa cor, portanto, use a cor em suas imagens somente onde você deseja transparência.

Considere cuidadosamente a forma do caractere, pois ela pode afetar o desempenho da animação. Para exibir o caractere, os serviços de animação criam uma janela de região com base na imagem geral. Áreas irregulares pequenas geralmente exigem mais dados de região e podem reduzir o desempenho de animação do caractere. Portanto, quando possível, evite lacunas ou elementos de pixel único e detalhes.

Evite aliasar a borda externa do caractere. Embora o anti-aliasing seja uma boa técnica para reduzir bordas irregulares, ele é baseado em cores adjacentes. Como seu caractere pode aparecer sobre uma variedade de cores, o anti-aliasing da borda externa pode fazer com que seu caractere apareça mal em relação a outras telas de fundo. No entanto, você pode usar o anti-aliasing nos detalhes internos do caractere sem encontrar esse problema.

Tamanho do quadro

O tamanho do quadro normalmente não deve ser maior que 128 x 128 pixels. Embora os caracteres possam ser maiores ou menores em qualquer dimensão, o Editor de Caracteres do Microsoft Agent usa isso como seu tamanho de exibição e dimensiona imagens de caracteres se você definir um tamanho de quadro maior. O tamanho do quadro de 128 x 128 faz compensações razoáveis com o espaço que o caractere ocupará na tela. Seu aplicativo pode dimensionar um caractere em tempo de execução.

Duração do quadro

Você pode usar o Editor de Caracteres do Microsoft Agent para definir quanto tempo cada quadro de animação será exibido antes de passar para o próximo quadro. Defina a duração de cada quadro como pelo menos 10 centésimos de segundo (10 quadros por segundo) – qualquer coisa menos pode não ser perceptível em alguns sistemas. Você também pode definir a duração por mais tempo, mas evitar pausas não naturais na ação.

O Editor de Caracteres do Microsoft Agent também dá suporte à ramificação de um quadro em uma animação para outro, com base nos percentuais de probabilidade fornecidos. Para qualquer quadro específico, você pode definir até três branches diferentes. A ramificação permite criar animações que variam quando são reproduzidas e animações que fazem loop. No entanto, tenha cuidado ao usar a ramificação, pois ela pode criar problemas ao tentar reproduzir uma animação após a outra. Por exemplo, se você reproduzir uma animação de loop ou ramificação, ela poderá continuar indefinidamente, a menos que você use um método Stop . Se você não tiver certeza, evite ramificar.

Quadros que não têm imagens e são definidos como duração zero não aparecem quando incluídos em uma animação. Você pode usar esse recurso para criar quadros que dão suporte à ramificação sem ficar visível. No entanto, um quadro que ainda não tem imagens tem uma duração maior que zero será exibido. Portanto, evite incluir quadros vazios em sua animação, pois o usuário pode não conseguir distinguir um quadro vazio de quando o caractere está oculto.

Transição de quadro

Ao criar uma animação, considere como fazer a transição suave de e para a animação. Por exemplo, se você criar uma animação na qual o caractere faz gestos para a direita e outra na qual o caractere é gestos para a esquerda, você deseja que o caractere anime suavemente de uma posição para a outra. Embora você possa criar isso em qualquer animação, uma solução melhor é definir uma posição neutra ou transitória da qual o caractere inicia e retorna. Animar para a posição neutra pode ser incorporado como parte de cada animação ou como uma animação separada. No Editor de Caracteres do Microsoft Agent, você pode especificar uma animação return complementar para cada animação para seu caractere. A animação Return normalmente não deve ser mais do que 2-4 quadros para que o caractere possa fazer a transição rápida para a posição neutra.

Por exemplo, usando o cenário "gesturing right, then gesturing left", você pode criar uma animação GestureRight , começando com um quadro em que o caractere aparece em uma posição neutra e adicionar quadros com imagens que estendem a mão do caractere para a direita. Em seguida, crie sua animação Return : uma animação complementar com imagens que retornam o caractere à sua posição neutra. Você pode atribuir isso como a animação Return para a animação GestureRight . Em seguida, crie a animação GestureLeft que começa da posição neutra e estende o braço do caractere para a esquerda. Por fim, crie uma animação complementar return para essa animação também. Uma animação Return normalmente começa com uma imagem que segue a última imagem da animação anterior.

Iniciar e retornar à mesma posição neutra, dentro de uma animação ou usando uma animação Return, permite que você reproduza qualquer animação em qualquer ordem. Os serviços de animação do Microsoft Agent reproduzem automaticamente a animação Return designada em muitas situações. Por exemplo, os serviços reproduzem a animação Return designada antes de reproduzir as animações de estado de Idling do caractere. É uma boa ideia definir e atribuir animações return se suas animações ainda não terminarem na posição neutra.

Se você quiser fornecer suas próprias transições entre animações específicas; por exemplo, como você sempre os reproduz em uma ordem bem definida, você pode evitar a definição de Animações de retorno . No entanto, ainda é uma boa ideia começar e encerrar a sequência de animações da posição neutra.

Animação de fala

Forneça imagens bucais para cada animação durante a qual você deseja que o caractere possa falar, a menos que o design do seu personagem não tenha boca animada ou indicação de saída falada. Em geral, o movimento da boca é muito importante. Um caractere pode parecer menos inteligente, agradável ou honesto se seu movimento bucal não estiver razoavelmente sincronizado com seu discurso. As imagens bucais permitem que seu caractere sincronize a saída falada. Você define imagens da boca separadamente e como arquivos de bitmap do Windows. Eles devem corresponder à mesma paleta de cores que as outras imagens em sua animação.

Os serviços de animação do Microsoft Agent exibem quadros de animação da boca sobre o último quadro de uma animação, também chamado de quadro de fala da animação. Por exemplo, quando o caractere fala na animação GestureRight , os serviços de animação sobrepõem os quadros de animação da boca no último quadro de GestureRight. Um caractere não pode falar durante a animação, portanto, você fornece apenas imagens da boca apenas para o último quadro de uma animação. Além disso, o quadro de fala deve ser o quadro final de uma animação, portanto, um caractere não pode falar em uma animação em looping.

Normalmente, você forneceria as imagens da boca no mesmo tamanho que o quadro (e a imagem base), mas incluiria apenas a área que anima como parte do movimento da boca e renderizaria o restante da imagem na cor transparente. Projete a imagem para que ela corresponda à imagem no quadro de fala quando sobreposta sobre ela. Para que ele corresponda corretamente, é provável que você precise criar um conjunto separado de imagens da boca para cada animação em que o caractere fala.

Uma imagem da boca pode incluir mais do que a própria boca, como o queixo ou outras partes do corpo do personagem enquanto ele fala. No entanto, se você mover uma mão ou uma perna, observe que ela pode parecer mover-se aleatoriamente porque a sobreposição da boca exibida será baseada no fonema atual de uma frase falada. Além disso, o servidor corta a imagem da boca na estrutura de tópicos da imagem do quadro de fala. Projete a imagem de sobreposição da boca para permanecer dentro da estrutura de tópicos de sua imagem de quadro de fala base, pois o servidor usa a imagem base para criar o limite da janela para o caractere.

O Editor de Caracteres do Microsoft Agent permite definir sete posições básicas da boca que correspondem às formas comuns da boca phoneme mostradas na tabela a seguir:

Imagens de animação da boca

Posição da boca Imagem de exemplo Representação
Fechadas
Forma de boca fechada normal. Também usado para fonemas como "m" como em "mom", "b" como em "bob", "f" como em "fife".
1 em todo o mundo
A boca está ligeiramente aberta, com largura total. Usado para fonemas como "g" como em "mordaça", "l" como em "calmaria", "orelha" como em "ouvir".
Open-wide 2
A boca está parcialmente aberta, em largura total. Usado para fonemas como "n" como em "nun", "d" como em "dad", "t" como em "tot".
3 em todo o mundo
A boca está aberta, com largura total. Usado para fonemas como "u" como em "hut", "ea" como em "head", "your" como em "hurt".
4 em todo o mundo
A boca está completamente aberta, com largura total. Usado para fonemas como "a" como em "hat", "ow" como em "how".
Open-medium
A boca está aberta com meia largura. Usado para fonemas como "oy" como em "ahoy", "o" como em "hot".
Open-narrow
A boca está aberta em largura estreita. Usado para fonemas como "o" como em "hoop", "o" como em "hope", "w" como em "wet".