quinta-feira, 26 de agosto de 2010

Finalizando Deformações Faciais

Bem, por falta de atualizações, to descrevendo coisa que foram feitas há alguns meses para cá. Espero que curtam!

Após linkar os shapes na interface, achei por bem acrescentar mais alguns controles. Dentre eles, dois para que a língua rotacione e mova como um todo, através de uma deformação por bones e não por shapes, já que precisava de um movimento de transição mais preciso. Adicionei também mais dois shapes de canto de olho: um que é o oposto do Squint (útil para sustos ou tristezas), e outro que sobe o canto da sombrancelha, ajudando a desenhá-la melhor.

Além dos shapes e bones faciais. O setup do personagem, por se tratar de um estilo cartoon, exige que se tenha uma cabeça maleável, com Squash e Stretch. Para isto havia duas possiblidades de se fazer, com Lattice ou com Bones. Após alguns testes ambos apresentaram problemas. Com o Lattice, o fato da pálpebra ser deformada por bones, elas não acompanhavam corretamente a deformação do Lattice. Usando bones, os olhos e dentes escalavam cada um no seu eixo. Portanto mais tarde, descobri que o problema do Lattice estava na ordem das operações, ele deveria sobreescrever o envelope e os shapes em todos os objetos da cabeça.


Para o Controle do Stretch e Squash da cabeça, fiz no Lattice um conjunto de Shapes que estica, encolhe e curva para os lados (direita, esquerda, frente e costas), e desses Shapes, linkei em um Null acima da cabeça. De forma que quando sobe o Null, o Lattice estica, quando abaixa, encolhe, vai para um lado, curva para este lado. Tecnicamente não é nada diferente do que fiz nos controles da interface facial, a diferença é que desta vez o controle atua nos três eixos cartezianos, deixando-o mais intuitivo para animar aplicando-o em cima da cabeça. Aproveitando o Lattice, fiz também um controle na interface que gera uma leve assimetria na face, esticando um dos lados do rosto. Esta deformação foi inspirada no "Tá Chuvendo Hambúrguer" pois no filme há muitos elementos que quebram a simetria das expressões faciais.



Depois de ter todas as deformações possíveis para a face, é hora de aplicá-las nas outras geometrias que compõem a face: bigode, barba, sombrancelha, mono-sombrancelha, cílius e cabelos. Isso tornou-se mais um desafio.

Mike Ogawa, parceiro no Setup do personagem, havia uma idéia de fazer a mesclagem desses acessórios na face. A idéia dele era colocar Nulls da face que acompanhassem as suas deformações, incluindo shapes e lattices, e a partir destes envelopar nas geometrias que colariam na face. Através desta idéia, vi que o "Object to Cluster" viabiliza este processo fazendo o Constraint de um Null num ponto, ou edge, escolhido na malha. Comecei a posicionar esses Nulls nas áreas onde a barba e sombrancelha iriam ser aplicadas. Mas logo percebi que os Nulls assim que eu rotacionasse a cabeça, eles não rotacionavam juntos.



Estudando um pouco o Constraint "Object to Cluster", vi que havia opções de ligar Normal e Tangency. Cada uma ajudava a manter a rotação nas propriedades do cluster, por exemplo: a Normal prende a rotação do Null no eixo normal do ponto,ou seja, quando a malha inclinar-se, o null rotaciona mantendo a normal, porém quando ela gira no mesmo eixo da normal (spin) o Null não rotaciona pois a normal não muda de direção. Logo a Tangency baseia sua rotação na relação com os pontos visinhos, porém em um dos eixos acaba não rotacionando. A solução mais segura então, foi usar tanto a Normal quanto a Tangency ligada.



Este método se comportou útil porém espendioso. Além de ter que encher de Nulls no rosto para que deformasse bem os acessórios, por conta da testa empurrar o coro cabeludo em alguns shapes e a cabeça deformar com Lattice, eu teria que colocar vários Nulls em toda a área do coro cabeludo. Na orientação com Edu Nogueira, ele deu a idéia de testar o GATOR, eu já tinha ouvido falar porem não havia testado.



O GATOR no geral funcionou de primeira roubando bem os shapes e o envelope do rosto, porém em alguns casos exigiu muitos ajustes como no cílios. Pelo fato do Gator roubar por aproximação, o cílios acabou se deformando próximo à superfície da pele. Logo, tive que mudar alguns shapes roubados como os "Brows Dwn", e ajustar o envelope que pega os bones das pálpebras. Já para o bigode, por se tratar de uma malha mais volumosa fora do rosto, resolvi fazer com o método de Object to Cluster. Finalizando assim as deformações faciais.



Synoptic:

Após eu e Mike discurtirmos as funcões do setup corporal e o que teríamos no Synoptic, ele me passou um protótipo das páginas e botões, daí fiquei de fazer o design final do Synoptic. Resolvi colocar uma página para o Facial, onde além de facilitar a seleção por áreas do rosto, resolvi fazer uma biblioteca de faces que servissem de ponto de partida na animação. Seis expressões básicas baseadas no livro Desenhando Quadrinhos, de Scott McCloud, e seis fonemas para ajudar no Lip-sync. Lembrando que essas opções são só "presets" possibilitando o animador mecher nos controles sempre que necessário perante à coerência da cena e o restante da animação.

Para criar essa biblioteca, fiz um conjunto de Actions movendo os controles da face, que mais tarde será linkado nos botões do Synoptic.

Nenhum comentário:

Postar um comentário