Criando Emotes

Dicas e diretrizes para criar Emotes do Decentraland.

Esta documentação abordará as especificações de arquivo, o básico da animação no Blender, a forma correta de exportar um Emote e como importar um para o Builder.

Tabela de Especificações de Animação

Taxa de Quadros
30 fps

Comprimento Máximo

10 segundos (300 quadros)

Animações por Arquivo

1

Formato de Exportação

.glb

Taxa de Amostragem

2 ou 3 (se necessário)

Tamanho Máximo de Arquivo

1 MB

Distância Máxima da Animação

1 metro (em qualquer direção)

Altura Máxima da Animação

1 metro

Tamanho Máximo da Textura

1024 pixels

Você pode encontrar uma explicação mais detalhada das especificações de animação abaixo.

Recursos

Esta documentação explica a configuração do Rig 1.0, seus controles e recursos.

Decentraland Blender Rigarrow-up-right

circle-info

Se você estiver usando Maya, pode baixar este Maya Rigarrow-up-right e seletorarrow-up-right fornecido por SparkleStudiosarrow-up-right ❤️.

Antes de Começar

Taxa de Quadros

Antes de começar, é importante verificar a taxa de quadros. As animações da Decentraland devem ter taxa de quadros de 30 fps. O arquivo do rig fornecido provavelmente já possui essa configuração, mas como o valor padrão do Blender é 24 fps, é melhor conferir antes de começar (uma taxa de quadros errada afetará a velocidade da animação). Essa opção pode ser encontrada em Output Properties (o ícone da impressora) em Format, como mostrado abaixo:

Certifique-se de que a taxa de quadros esteja definida para 30 fps antes de começar.

Certifique-se de que a taxa de quadros esteja definida para 30 fps antes de começar.

Pose Mode

No Blender, um rig pode ser visualizado em três modos diferentes: Object Mode, Edit Mode e Pose Mode. Animações só podem ser feitas em Pose Mode (nesse modo, os controles têm cores). Com o rig selecionado, você encontrará essa opção em um menu suspenso, no canto superior direito.

Mudando para Pose Mode.

Mudando para Pose Mode.

Interface para Animações

No arquivo do rig, além das duas janelas para a viewport (vista frontal e lateral), há mais três na parte inferior: um Graph Editor, um Dope Sheet, e um Timeline.

  • Graph Editor: Neste editor, é possível editar as curvas de animação de cada propriedade de transform do controle selecionado. Essas curvas mostram como a interpolação está sendo calculada e podem ser editadas para alcançar o efeito desejado na animação. Tanto aqui quanto no dope sheet a Only Show Selected ferramenta está ativada, o que significa que incluirá apenas canais relacionados ao controle selecionado. Isso pode ser ligado e desligado simplesmente clicando no ícone de seta.

  • Dope Sheet: Aqui você pode editar os keyframes. É também onde você pode criar novas animações ou navegar pelas múltiplas criadas. Tenha em mente que, para ter acesso à animação, o Action Editor deve estar selecionado. Esta opção fica bem ao lado do Dope Sheet ícone, em um menu suspenso.

  • Timeline: Aqui é onde se encontram a timeline e os controles de reprodução. Aqui, o Auto Keying está ativado, o que significa que toda vez que um controle é manipulado ele cria automaticamente um keyframe. Você sempre pode desabilitar essa função clicando no ponto ao lado dos controles de reprodução.

Com este workspace, você tem tudo o que precisa para começar a animar!



Estas são as janelas inferiores. A superior está no Graph Editor, a do meio no Dope Sheet, e a inferior é a Timeline. A seta vermelha superior mostra a Only Show Selected ferramenta e a de baixo mostra a Auto Keying.

circle-info

💡 Dica!

Como o Blender é altamente personalizável, este também é um bom momento para configurar o layout que melhor lhe convier, adicionando, ajustando ou removendo janelas. Cada animador tem suas preferências, então sinta-se à vontade para editar o layout como quiser!

Começando

Pose Inicial

No arquivo do rig fornecido, já existe uma action, a Starting_Pose. Considerando que todas as ações do avatar começam a partir da pose idle, encorajamos fortemente começar sua animação a partir dessa pose e também usá-la novamente no último quadro. Isso proporcionará uma melhor transição de Idle para Emote e uma animação mais fluida.

circle-info

💡 Dica!

Se você quiser fazer uma animação em loop, não é necessário começar a animação a partir da Starting Pose. Sinta-se livre para usar a pose que fizer mais sentido na sua animação!**

Referência do Chão e Área de Animação

Para evitar a penetração no chão durante a animação, um plano foi adicionado ao arquivo como referência de solo. Junto com a referência da área de animação, ele também ajuda a identificar a área que pode ser usada para a animação. Para referência, o círculo menor no plano tem raio de 2 metros e o maior, 4 metros.

Referência do chão e área de animação.

Referência do chão e área de animação.

O centro de gravidade do avatar é o CTRL_Avatar_UpperBody. O limite para movê-lo é de 1 metro (esquerda, direita, frente, trás), então tente mantê-lo dentro do círculo menor durante a animação. Braços e pernas podem exceder o círculo pequeno até o maior. Quanto à altura, desde que o corpo do avatar não esteja fora da caixa e o root esteja dentro da área fornecida no arquivo, deve estar tudo certo.

Avatar centralizado.

Avatar centralizado.

Distância máxima à direita.

Distância máxima à direita.

Distância máxima à esquerda.

Distância máxima à esquerda.

Distância máxima para cima.

Distância máxima para cima.

Aqui estão alguns exemplos de emotes que estão dentro dos limites.

Spotlight

Spotlight

Thalia Dance

Thalia Dance

circle-info

💡 Atenção!

Cuidado com esses limites, pois cruzá-los pode causar problemas de jogabilidade.

Criando uma Animação

O arquivo blend tem um clipe de animação pronto para ser editado: StartingPose_Avatar. Você pode duplicar e renomear esse clipe de animação como desejar. Não há necessidade de criar um do zero!

No Browse Action section, simplesmente clique em Create A New Action botão para duplicar a animação atual. Para renomear o clipe, basta clicar no texto e digitar outro nome.

Belnder 4.4 introduziu Slotted Actions, o ícone à direita da Browse Action section de versões anteriores. Não há necessidade de mexer nisso se você estiver criando um emote sem prop, então pode deixá-lo como está. Se você estiver animando o avatar, certifique-se de que a slotted action seja Avatar_Animation.

 Crie uma nova animação duplicando a existente ou clicando em _**Unlink Action**_ e depois em _**New**_.

No Blender, você pode ter múltiplas tracks de animação no mesmo arquivo. É possível navegar por elas clicando no menu suspenso Browse Action. Toda animação com um F (Fake User) será salva. Para excluir uma animação, pressione Shift no teclado e clique no X. Após fazer isso, a animação mostrará um 0 ao lado, o que significa que será deletada na próxima vez que você fechar o Blender ou reabrir o arquivo.

 Navegando animações: As que têm um F serão salvas, e as que têm 0 serão deletadas.

Outra forma de deletar animações sem precisar recarregar o Blender é mudando o Display Mode de View Layer para Blender File. Expanda Actions e exclua qualquer animação indesejada clicando com o botão direito sobre ela e selecionando Delete.



Você pode deletar animações diretamente em Blender File sob Display Mode no outliner.

circle-info

💡 Dica!

Não edite sempre a mesma track de animação. Antes de fazer mudanças grandes, apenas duplique a animação. Dessa forma você tem uma versão de backup caso se arrependa de deletar ou modificar algo. Isso também é uma boa maneira de acompanhar o progresso feito até agora!

 Duplicando clipes de animação.

Nomeação

O nome de uma animação deve começar com letra maiúscula e, se o nome tiver mais de uma palavra, as palavras devem ser separadas por _. Não use espaços ou caracteres especiais. Aqui estão alguns exemplos de nomes:

  • Snowfall

  • Rainbow_Dance

  • Throw_Money

  • Talk_To_Hand

Substituições de Emote

As substituições de emote ocorrem quando os deform bones não têm um keyframe definido em um dos parâmetros. Sem um keyframe, esse osso não terá a informação de onde deve estar, quanto foi rotacionado e escalado, deixando esse canal aberto. A consequência é que, se você reproduzir um emote no mundo e então ativar o seu enquanto o anterior ainda está tocando, as informações de localização, rotação e escala serão sobrescritas pelo emote anterior, o que causará uma combinação de ambos. A menos que isso seja feito de propósito, isso afetará sua animação, às vezes com um resultado divertido, mas outras vezes com o emote totalmente bagunçado. Abaixo está um exemplo de override de emote.



Para evitar isso, selecione todas as camadas com ossos nelas (que podem ser encontradas em Object Data Properties > Skeleton > Layers). Então, em Pose Mode, deixe o cursor da timeline no primeiro quadro da sua animação e, com o mouse em Viewport Display, pressione A para selecionar tudo. No Graph Editor, clique duas vezes no Eye ícone ao lado do canal do armature para tornar todos os canais visíveis. Com todos os ossos selecionados, pressione I para definir um keyframe. Faça o mesmo para o último quadro.

Certifique-se de selecionar os deform bones, isso é especialmente importante! Os deform bones podem ser encontrados na última camada inferior e são mostrados como ossos verdes na Viewport.

 Definir keyframes em todos os ossos no primeiro e no último quadro previne overrides de emote.

As Especificações de Animação

A Duração da Animação

O comprimento máximo de uma animação é 10 segundos ou 300 quadros. Lembre-se de keyframear as propriedades de cada controle no primeiro e no último quadro.

circle-exclamation


Torne os canais visíveis antes de keyframear!

Número de Animações

Se for um emote padrão (sem prop), o arquivo exportado só pode ter uma animação. Para emotes 2.0 você pode ter um clipe para o avatar e um clipe para o prop. Se animações foram duplicadas durante o processo, certifique-se de deletar todas elas antes de exportar. Mantenha apenas a versão final. Emotes em sequência que precisam de muitas animações para funcionar (action start, action loop e action end) não são suportados no momento.

Formato

As animações devem ser exportadas como .GLB. O arquivo só pode conter o esqueleto deformante e a animação. Mesh, controles e qualquer outro objeto não devem ser exportados. Mais detalhes sobre como exportar podem ser encontrados abaixo.

Amostragem

Como constraints não podem ser exportadas, a única maneira de exportar o clipe de animação é assando-o (baking), o que significa que todas as posições, rotações e escalas dos deform bones serão keyframeadas em cada quadro da animação. Se o clipe for muito longo, como até 300 quadros, ele terá 300 keyframes após a exportação e quanto mais keyframes tiver, mais pesado o arquivo ficará.

A amostragem é uma boa maneira de otimizar a animação. A taxa de amostragem definirá com que frequência um keyframe será assado na animação. Por exemplo, se a taxa de amostragem estiver definida para 2, isso significa que um keyframe será criado a cada dois quadros. Uma taxa de amostragem de 3 assará um keyframe a cada três quadros e assim por diante. Quanto maior a taxa de amostragem, mais leve o arquivo.

A desvantagem, no entanto, é que a animação começará a ficar cada vez menos fluida, já que perde alguns keyframes importantes (eles ficam distribuídos pela animação de forma desigual). Também é importante notar que amostragem NÃO está dividindo o número de quadros da animação pela taxa de amostragem.

Normalmente, uma taxa de amostragem de 2 ou 3 já resolve. Esses valores podem otimizar a animação sem comprometer a qualidade.

circle-info

💡 Dica!

Se o número de quadros da animação puder ser dividido pela taxa de amostragem, isso é uma coisa boa! Significa que o quadro final será assado, preservando a transição do fim para o início da animação.

Tamanho do Arquivo

O tamanho máximo do arquivo é 3 MB. Se o arquivo estiver acima disso após a exportação, tente verificar se a mesh não foi exportada por engano ou se a animação não ultrapassa 10 segundos. Se ainda estiver acima de 3 MB, experimente a Taxa de Amostragem, pois valores mais altos melhorarão a otimização.

Se o emote contiver quaisquer modelos 3D adicionais, as texturas nesses modelos não podem exceder o tamanho de 1024 pixels.

Exportando

Como queremos apenas que o armature e a animação sejam exportados, desative a visibilidade da mesh e de qualquer objeto que não seja o armature antes de exportar, como mostrado abaixo:



Desative a visibilidade da mesh antes de exportar!

Para exportar, vá em File > Export > glTF2.0 (.glb, .gltf)



Para as configurações de exportação, expanda Include e em Limit to ative Visible Objects. Em seguida, expanda a aba Data, expanda Armature e habilite Export Deformation Bones Only.





Se você precisar samplear a animação, expanda a aba Animation, expanda Sampling Animations e escolha o número de samples desejado.





Isso é tudo para exportar a animação!

Referências

Se você ainda não tem certeza de onde começar ou precisa de alguma referência ou inspiração, aqui estão alguns clipes de animação para ajudar. Estes podem ser um bom material de estudo!

Idle.glbarrow-up-right

Jump.glbarrow-up-right

Walk.glbarrow-up-right

Run.glbarrow-up-right

Pose_Jump.glbarrow-up-right

Pose_Spin.glbarrow-up-right

Spotlight.glbarrow-up-right

Fashionista.glbarrow-up-right

Chic.glbarrow-up-right

Flag_Emote.glbarrow-up-right

Flag_Emote.blendarrow-up-right

Atualizado