top of page
Buscar

abril e maio de 2022 - Rig e animação

  • Foto do escritor: DIANA DAVID
    DIANA DAVID
  • 12 de jul. de 2024
  • 3 min de leitura

Experimaram-se vários tipos de rigging (shape keys ou blendshapes, drivers,  controladores, bones) e resolveram-se problemas a nível de incompatibilidade entre  softwares (Blender vs. Unity).

Uma vez as personagens modeladas e texturizadas procedeu-se ao rigging, onde se criou um esqueleto para controlar as personagens em 3D.

Com o intuito de se criar um rápido POC (Proof of Concept) decidiu-se usar uma ferramenta de auto-rig. Desta maneira seria possível criar um esqueleto funcional em menos de um dia de trabalho.

Para testar o rig importaram-se alguns ficheiros de animação do site Mixamo. Concluiu-se que era necessário adicionar um pouco mais de geometria em certos pontos estratégicos das personagens para uma melhor deformação da malha, como na zona dos cotovelos e joelhos. Assim, foram adicionados 2 loops em cada zona.

Inicialmente escolheu-se o [auto-rig] Riggify para o Blender (um addon que vem por default com o programa), contudo aplicar os ficheiros de animações do site da Mixamo estava a tornar-se uma tarefa árdua. Desta forma, descobriu-se que o próprio site da Mixamo tinha acabado de criar oficialmente um addon para o Blender com um Rig próprio (da Adobe).


O rig na Mixamo tem a contrapartida de que apenas pode ser usado com personagens bípedes, em oposição ao do Riggify que pode ser usado para todo o tipo de criaturas, contudo, como as personagens em causa são bipedes, optou-se pelo da Mixamo por se poder aliar o rig ao serviço de animação que o site oferece.

Fez-se uma pequena animação usando 2 bases fornecidas (o Reacting e o Wheelbarrow Walk) pelo site da Mixamo. As curvas de animação foram limpas e foi feita uma animação para transitar entre as bases de animação. Copiou-se a animação da personagem A para a B e aplicou-se um mirror para espelhar a animação. Depois, criou-se um ligeiro desfasamento entre a animação das personagens para parecerem mais naturais.

Para fazer o mirror usou-se o addon Rigify AnimBox.

Como rig da Mixamo não tem controladores faciais, é necessário criar controladores extra para a cara e qualquer outro acessório, como no caso da personagem B que tem uns auscultadores.

Para a cara de cada personagem, utilizou-se um sistema de Blendshapes que depois são acionados por controladores através de drives.



Limitações: É difícil replicar a expressividade das expressões faciais conceptualizadas, por o número limitado de polígonos restringe o tipo de formas que se podem fazer com a boca e as sobrancelhas.

---------

Nota: Para exportar correctamente qualquer modelo do Blender para o Unity:

---------



Após os primeiros testes com as personagens animadas, apercebi-me que o sistema de Blendshapes não se estava a comportar como esperado.

Problema no Blender: As shapekeys (ou blendshapes) criadas para as personagens tinham alguns bugs que se podiam ver quando se fazia play da animação e se olhava para os valores das blendshapes que passavam de 0.000 para 0.000001 em certos frames o que fazia com que a geometria "piscasse" dentro do Unity. Como se pode ver nos GIFs abaixo.


Solução: Em vez de se criar um Driver (add Driver sobre a Blendshape) com um Average Value indicando apenas qual o controlador a influenciar o valor da Blendshape, criou-se algo semelhante, mas com  matemática aplicada no processo, para não haver erros no processamento. Assim copia-se (Copy as New Driver) os dados da Location, do eixo do controlador, que nos interessa e cola-se no slider da blendshape. Desta forma, continuamos a trabalhar com uma função Average Value, mas há mais controlo sobre os valores. 

Limitações: Não se pode usar Contrains sobre este objeto.


Problema no Unity: Apesar do problema parecer estar resolvido no Blender, o Unity continua a distorcer a geometria e a alterar as normais da mesh.

Isto acontece porque há uma incompatibilidade entre os drivers do Blender e os dados que são reconhecidos pelo Unity no processo de importação.



Solução: Depois de se testar com sucesso animação das blendshapes dentro do Unity, chegou-se à conclusão que apenas a animação dos Drivers é que falha. Assim, eliminou-se todo o Rig facial à base de Drivers e resolveu-se animar diretamente nos sliders das Blendshapes.

Cons: Para um animador este processo não é tão intuitivo e cómodo, mas é a única forma de se poder utilizar Blendshapes no Rig.

Poder-se-ia optar por utilizar apenas bones para a deformação da cara (evitando todo este problema), mas conseguir expressões faciais expressivas seria ainda mais desafiante e trabalhoso para o animador.

Extra: para não haver problemas com as normais da geometria deve-se selecionar "NONE" no campo das "BlendShape Normals" na aba de "models" quando se seleciona o modelo dentro da pasta de Assets.

Uma vez resolvido o problema, importaram-se os os modelos.  

Com os modelos na hierarquia da cena selecionou-se a opção APPLY ROOT MOTION (no componente Animator da personagem) para que os pés das personagens não ficassem a flutuar no ar. 

Para se controlar os vários clips de actions criou-se uma Timeline. 



 
 
 

Posts recentes

Ver tudo
setembro de 2024

Durante a produção (março de 2024) percebeu-se que o formato de exportação Alembic (.abc) não era reproduzivel no Quest, quando não...

 
 
 
maio de 2024

Reunião com o orientador para mostrar o trabalho. Comentários do orientador para melhorar a narrativa: - algumas ações parecem rápidas...

 
 
 

Comentários


Informações de contato

Doutorada em Arte Multimédia,

pela Faculdade das Belas-Artes

da Universidade de Lisboa

 

Mestre em 3D Computer Animation, pela Bournemouth University

 

Erasmus em Animation, Games 
na Southampton Solent University

 

Licenciada em Arte Multimédia,pela Faculdade das Belas-Artes

da Universidade de Lisboa

  • Instagram
  • LinkedIn

Mensagem enviada!

bottom of page