Você está na página 1de 39

Animao

Computao Grfica Prof. Luiz Marcos www.dca.ufrn.br/~lmarcos/courses/compgraf

Overview

Animao tradicional Animao por Key-Frame Interpolando rotaes Animao comportamental Animao fsica Animao procedimental Motion capture

Animao por computador

Viso unificada

Modelos tem parmetros: posio dos polgonos, normais, pontos de controle de splines, ngulos de juntas, parmetros de cmera, iluminao, cor

Parmetros definem um espao de estados


Se uma cena tiver n parmetros Valores dos parmetros em um dado instante so um ponto neste espao de estados

Animao por computador

um caminho no espao de estados


1) comea no incio do caminho 2) define valores dos parmetros do seu modelo 3) renderiza a imagem 4) move para o prximo ponto do caminho Uma curva para cada parmetro

Caminho um conjunto de curvas

Animao a especificao da trajetria no espao de estados

Animao versus modelagem

So altamente acopladas

Modelagem: o que so os pontos de controle e o que eles fazem? Animao: como variar pontos de controle para gerar movimento desejado?

Construo de modelos fceis de controlar super importante: modelagem hierrquica Onde termina modelagem e comea animao?

Meio confuso!

Overview

Tcnicas de animao

Animao tradicional (quadro a quadro), Keyframing, Procedimental (procedural), Comportamental (behavior based), Baseada em performance (motion capture), Baseada em fsica (dinmica) Rotaes, cinemtica inversa

Problemas em modelagem:

Animao tradicional

Filme resultante deve rodar a 24 quadros por segundo (fps)


So 1440 quadros para renderizar por minuto 1800 fpm para vdeo digital

Fatores da produo
Organizado por razes de eficincia e custo Renderizar quadros sistematicamente

Animao tradicional

Fatores artsticos

Viso artstica deve ser convertida numa seqncia de quadros estticos Quadros estticos devem ser corretos tambm em movimento Difcil de ver o movimento dados os estticos (assista um vdeo quadro a quadro e v se entende o que ocorre)

Convenes estilsticas seguidas pelos animadores de Disney e outros

Outros lados interessantes, claro

O processo de animao tradicional

Story board

Seqncia de desenhos com descries Descrio baseada em histria Desenhar uns poucos quadros importantes

Key frames (quadros chaves)

Incio de um movimento, final de um movimento

Quadros intermedirios

Desenhar o resto dos quadros (ganha pouco $) Redesenha (acetato) e colore (ganha muito menos $)

Pintura

Movimento em camadas

Quando se tem varias camadas de animao


Objeto mover na frente do background Uma camada p/ background, outra p/ objeto Mltiplos animadores ao mesmo tempo

Acetato transparente em vrias camadas


Desenha cada um separadamente Empilha todos juntos (em certa ordem) Transfere para a pelcula (fotografa a pilha)

A bugs life (story board)

Princpios da animao tradicional

Encolhe-estica representar personalidade Temporizao velocidade representa massa, personalidade Antecipao prepara a platia Segue-atravs (followthrough) e overlap continuidade com prxima ao Cmera lenta e rpida velocidade de transio representa momentos importantes Arcos movimento geralmente curvo Exagerao - enfatiza contedo emocional Ao secundria movimento como conseqncia Apelo platia deve gostar de assistir

Squash-stretch

Squash Stretch

Antecipao

Animao assistida por computador

Pintura de clulas computadorizada


Digitaliza linhas, colore usando semente Elimina pintores de clula (que so muitos) Largamente usado em produes Pouca pintura (retoques) manuais Exemplo: Rei Leo

Animao assistida por computador

Insero automtica de quadros intermedirios Interpola automaticamente entre desenhos de linhas Difcil conseguir coisa certa
Intermedirios no parecem natural Que parmetros interpolar? Tcnica no muito usada

True computer animation

Gerar imagens por renderizao do modelo 3D Variar parmetros para produzir animao Fora bruta:

Acerta parmetros manualmente (todo quadro) Para n parmetros, 1440n valores por minuto Animadores desenham quadros importantes Pessoal mal pago desenha os intermedirios Animadores criam quadros chaves com modelos 3D Computadores desenham os intermedirios Modelo de produo dominante

Key framing tradicional


Keyframing por computador


Interpolao

Como interpolar quadro feito manualmente?

Computadores no ajudam muito

Diferente em animao por computador


Cada keyframe definido por n parmetros Seqncia de keyframes = pontos num espao de estados de alta dimenso Computador interpola estes pontos: intermedirios

Como fazer isso? Adivinhou: Splines

Idias bsicas do keyframing

Apesar do nome, no so keyframes em s Para cada varivel, especificar seu valor em quadros realmente importantes (nem todas as variveis tm valores importantes no mesmo quadro) Ento, key-values ao invs de key-frames

Criar caminho para cada parmetro para interpolao desses valores

Keyframing

Aspectos do keyframing

O que devem ser os key-values? Quando os key-values devem ocorrer? Como especificar os key-values? Como interpolar os key-values? Que tipo de COISA ERRADA pode ocorrer no processo de interpolao?
Configuraes invlidas (atravessar paredes) Movimentos no naturais

Keyframing: aspectos de produo

Como aprender a fazer


Aprender com um animador Praticar muito

D bom controle ao longo do movimento Elimina metade do trabalho no tradicional

Ainda trabalhoso (mesmo para computadores)

Impraticvel para cenas muito complexas, com todas as coisas se movendo

Como interpolar quadros chaves?


Splines: no uniforme, C1 suficiente Precisa controlar velocidade nos keyframes Exemplo clssico: bola pingando (gravidade)
Velocidade vertical zero no incio Velocidade vertical alta antes de cada impacto Velocidade vertical alta aps impacto (menor) Movimento usando spline no natural (funciona) Hermite funciona bem

Como interpolar entre keyframes?

Problemas com interpolao

Splines no fazem sempre a coisa certa Problemas clssicos:

Restries importantes quebradas entre quadros


Ps entram no solo Mos entram em paredes ngulos de Euler no interpolam naturalmente

Rotaes 3D

Solues

Mais keyframes Uso de quaternions ajuda melhorar rotaes

Ainda interpolando rotaes

P: Que tipo de rotao composta se consegue girando em torno de cada um dos 3 eixos com velocidade constante? R: No a que voce quer

Interpolao funciona bem para rotaes simples (eixo-ngulo) Ruim para outras rotaes

Animao procedimental

Define movimento usando frmulas


Feitas manualmente Baseada em Fsica

Animador deve ser um programador Keyframing torna-se procedimental se expresses so adicionadas Em algum nvel de complexidade, melhor e mais eficiente que keyframing.

Dinmica

Gerar movimento definindo massa e fora e restries da Fsica (Newton, Euler)


Gravidade Momento (inrcia) Colises Frico Fluxo de fludos (turbulncia, na gua) Solidez, flexibilidade, elasticidade Fratura

Exemplo simples de dinmica

Soluo numrica para equao diferencial Exemplo de algoritmo usando Euler para f = ma:
Inicialize dx (posio e velocidade) loop eterno:
ddx = f()/m (ddx acelerao, f() atualiza fora) dx += ddx*dt (dx = velocidade) x += dx*dt (x = posio) t += dt

f() pode ser gravidade ou qualquer outra fora em funo de tempo, posio ou outro estado

Fsica/dinmica na prtica

Varia desde objetos no entram em paredes at dinmica de fludos completa e modelagem com elementos finitos Ou pode-se animar sem realismo fsico Em geral, coisas tem que rodar rpido

Convergncia rpida em clculos iterativos Algoritmos de aproximao timos

Platia pode ser tolerante a coisas como batdas incorretas O mudar de preciso para fast-and-looks-good distingue CG baseada Fsica de cincias numricas

Animao comportamental

Define regras p/ comportamento dos objetos


Modelos respondem mudanas no ambiente Programas implementam as regras Movimento funo dos objetos ao redor Comportamento emergente: nevasca Rei Leo: estourada de animais foi feita assim

Exemplo clssico boids (Craig Reynolds)


Sistema de partculas: usualmente comportamentos simples Smart Objects: agentes autnomos (comportamentos sofisticados)

Baseada em performance

Grava animao de aes da vida real

Usa vdeos reais e tira movimento de objetos Usa dispositivos que pegam posio/orientao Acompanha movimento de pontos no espao, por meio magntico, tico, etc (exo-esqueletos, face ou rosto) Converte para espao ngulo-juntas Usa ngulos para derivar modelo 3D articulado Caminhos do movimento podem ser modificados

Motion capture (nova indstria)

Motion capture

Cinemtica e cinemtica inversa

Cinemtica

Prov movimento em termos de juntas, ngulos, velocidades e posies Usado por keyframing e procedimental Determina ngulos e juntas a partir de posio Calcula parmetros de rotao para o ombro, cotovelo, pulso para colocar as mos ali. Bom para interao Configuraes podem ser sub ou sobre-determinadas (sem configurao ou vrias para mesmo alvo) Muito usada em Robtica

Cinemtica inversa

Otimizao restrita: ir de A at B com menor trabalho

Animao em alto nvel

Idia principal: juntar animaes complexas de uma biblioteca de movimentos Linguagens de script
Descreve os eventos Descreve suas seqncias

Animao a nvel de tarefa


V cozinha para um bolo, beba lquido, faa o cachorro andar timo, em princpio, mas como fazer?

Juntar IA com animao comportamental?

Hierarquia da animao