Animação em KAPIA

Boa tarde! Meu nome é Pavel. Sou programador e animador de uma pequena equipe familiar de desenvolvimento de jogos. Minha esposa e eu estamos fazendo um jogo de aventura em 3D em um mundo pós-apocalíptico. Durante o desenvolvimento, inventamos nossas "bicicletas" técnicas com as quais gostaria de compartilhar com vocês. Quero começar com animação e contar como fazemos isso.
Por muitos anos temos trabalhado no pacote 3D Softimage XSI. Embora o projeto não seja apoiado e fechado há muito tempo, ainda o usamos. Acho que aproximadamente o mesmo pipeline pode ser reproduzido em outros pacotes. Ir!
Rigging
Para aparelhamento eu uso Gear . Ferramenta muito prática e simples para manipulação automática de personagens.

Às vezes, para personagens não humanos, você precisa coletar o cordame à mão ou modificar o montado com o Gear .
Animação
Filmamos a animação usando a maquete do traje do Neurônio de Percepção . Todas as proporções dos caracteres são transferidas para o programa do Axis Neuron (programa nativo do Perception Neuron). Primeiro tentamos usar o Motion Builder para limpar a animação. Mas era muito demorado, já que era necessário usar 3 programas (Axis Neuron -> MotionBuilder -> Softimage). Mas então eles começaram a usar o Softimage. Para isso, foi escrito um driver para o Perception Neuron para que ele possa ser usado diretamente no Softimage em tempo real . Limpar as maquetes no Softimage acabou sendo muito conveniente. A única desvantagem é claro que o pé escorrega. Mas resolvemos isso rapidamente escrevendo o plugin apropriado.
Em seguida, limpamos a animação.
E um pequeno pipeline, como o fazemos.
O processo de animação é assim.
1. Primeiro vem a dublagem do texto.

Como você pode ver. Todo o texto é dividido por cor (caracteres), e cada frase tem seu próprio nome-número (G11, R12, I13, etc.).
2. Depois de dobrar os personagens, obtemos um arquivo de áudio, que então marcamos com marcadores.
E damos a cada marcador o mesmo nome-número.

3. Após esta etapa, a maquete é gravada e limpa.

Para que a animação corresponda exatamente aos marcadores do Adobe Audition, os marcadores são carregados em um arquivo csv do seguinte tipo:
Nome Início Duração Hora Formato Tipo Descrição
Eye29 00: 00: 00: 00 00: 00: 02: 14 30 fps Cue
Ren30 00:00:02 : 26 00: 00: 04: 29 30 fps Cue
4. Este arquivo é então carregado pelo script no Softimage.

Após um pequeno ajuste de tempo, uma tabela de todas as animações é construída automaticamente para exportar para o Unity.
5. E então tudo voa para a Unidade. Junto com o arquivo fbx, um arquivo * .agrd é formado
...
_Ren67; 5832.0; 5950.0
_Ren65; 5601.0; 5656.0
no qual está a marcação de animação. Usando uma classe herdada de AssetPostprocessor, o Unity corta automaticamente toda a animação que combina perfeitamente com a voz dublada.
Em geral, todo o processo não é complicado e não leva muito tempo. A animação de 10 minutos agora leva cerca de 5 a 6 horas (filmagem, limpeza, exportação).
Em seguida, vem a automação de carregamento de áudio e animação no Unity.
Articy
Todos os diálogos são construídos no Articy:


se você olhar mais atentamente para os campos, poderá ver todos os mesmos nomes de marcadores.
Uma importação do Articy para o Unity foi escrita. Ele lê automaticamente todo o texto e bifurcações do diálogo e os combina com arquivos de áudio e animação, uma vez que os nomes dos arquivos de áudio, batom, animação correspondem aos nomes dos marcadores que são lidos do artigo.

Sincronia labial
Para o batom, estamos usando o Softimage Face Robot. Há uma ferramenta de aparelhamento facial muito útil aqui.

Depois que o aparelhamento é construído, os fonemas são carregados. Esta etapa é automatizada.
Existem 25 deles: 9 para sons da fala, 6 para movimentos e piscar de olhos e 10 para expressões faciais.

Após o cordame, a cabeça com ossos é colada de volta ao modelo. E novamente fazemos um pequeno aparelhamento dos olhos. Para que você possa registrar seu movimento separadamente ao longo dos séculos.
Essencialmente, a animação dos olhos é um objeto nulo anexado ao vídeo de um movimento real dos olhos.
Em seguida, o personagem é carregado na unidade. E aí tudo isso já está carregado no lipsinco.
Assim, a animação dos olhos e das pálpebras é escrita junto com a animação do personagem, e a animação da boca é animada automaticamente na unidade. Além disso, o movimento das sobrancelhas durante uma conversa é adicionado manualmente, se necessário.
É assim que nosso pipeline para animar expressões faciais e personagens no jogo é organizado brevemente. Com a ajuda de
pequenos utilitários e scripts, ele cruzou perfeitamente Unity, Articy, Axis Neuron e Softimage.
E o resultado final: