animação ?webserver2.tecgraf.puc-rio.br/~abraposo/inf1366/2004/06...8 alberto raposo – puc-rio...

27
1 Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/INF1366 Alberto Raposo – PUC-Rio Animação Animação ? Modificação no tempo de parâmetros, de tal forma que possamos perceber este “movimento” de forma natural. • Movimento de objetos • Metamorfose • Variação da cor • Variação da intensidade da luz

Upload: ngohanh

Post on 14-Dec-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

1

Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa

Animação por Computador

Alberto B. [email protected]

http://www.tecgraf.puc-rio.br/~abraposo/INF1366

Alberto Raposo – PUC-Rio

AnimaçãoAnimação ??

Modificação no tempo de parâmetros, de tal forma quepossamos perceber este “movimento” de forma natural.

• Movimento de objetos• Metamorfose• Variação da cor• Variação da intensidade da luz

Page 2: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

2

Alberto Raposo – PUC-Rio

Exemplo – Tecgraf / Petrobras

Alberto Raposo – PUC-Rio

TRADICIONAL

Sistemas de Pintura

Editores Gráficos

Sistemas de Interpolação

Controle de Câmera, etc.

AUXILIADA (2D)

KEYFRAMING

CINEMÁTICA

DINÂMICA

Máquinas de Estado

Campos Potenciais

Inteligência Artificial

Biológico, etc.

Outros Modelos

PROCEDIMENTAL(Local / Global)

MODELADA (3D)

POR COMPUTADOR

ANIMAÇÃO

Page 3: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

3

Alberto Raposo – PUC-Rio

Animação Tradicional

• Desenha-se cada quadro daanimação– Grande controle– Trabalhoso

• Animação por células (celanimation)– Camadas, keyframe,

inbetween…

Alberto Raposo – PUC-Rio

Animação Auxiliada por Computador

• Parte da renderização, do cálculo das interpolações, etc. é feita no computador.

Page 4: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

4

Alberto Raposo – PUC-Rio

Animação Modelada por Computador

• Keyframing• Procedural

– Baseada em física• Cinemática (direta e inversa)• Dinâmica (direta e inversa)

– Motion Capture• Comportamental• Outras técnicas

Alberto Raposo – PUC-Rio

Keyframing

• Animação gerada a partir da interpolação de quadros-chave– Automatiza o “inbetweening”– Bom controle– Menos trabalhosa que tradicional– Ainda requer muito “talento” dos animadores

Page 5: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

5

Alberto Raposo – PUC-Rio

Keyframing•Descrição dos movimentos dos objetos como funçãono tempo de um conjunto de posições-chave.•Em resumo: computaros quadrosintermediários

ACM © 1987 “Principles of traditional animation applied to 3D computer animation”

( )s t

MIT EECS 6.837, Durand and Cutler

Alberto Raposo – PUC-Rio

Keyframing• Usa-se interpolação linear

ou então a interpolação dealguma curva para a geração do movimento

( )x t

t t t

8-degree polynomial

spline spline vs. polynomial

0 0 0( , , )x y t

1 1 1( , , )x y t

2 2 2( , , )x y t

MIT EECS 6.837, Durand and Cutler

Page 6: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

6

Alberto Raposo – PUC-Rio

Interpolação de Key Frames

• A interpolação (porsplines, por ex.) podegerar interpenetraçõesindesejadas– “Talento” do animador

precisa corrigir esses eoutros problemas dainterpolação de quadros

ACM © 1987 “Principles of traditional animation applied to 3D computer animation”

Alberto Raposo – PUC-Rio

VRML – Animação por Interpolação

usuário clicasobre um objeto

TouchSensor TimeSensor

starta cada

pulso derelógio

PositionInterpolator

novaposição

calculafunçãode interpolação

Nógeométrico

move

Page 7: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

7

Alberto Raposo – PUC-Rio

Princípios da Animação Tradicional

•Artigo clássico de John Lasseter (presidenteda Pixar e diretor de Toy Story, Vida de Inseto, Monstros S.A…):

– "Principles of Traditional Animation Applied to 3D Computer Graphics,“ SIGGRAPH'87, pp. 35-44.

Alberto Raposo – PUC-Rio

Squash e stretch• Squash: achatar objeto ou personagem com seu

próprio peso• Stretch: aumenta senso de velocidade e enfatiza

squash por contraste

Page 8: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

8

Alberto Raposo – PUC-Rio

Timing•Timing é afetado pelo peso:

– Objeto leve move rápido– Objeto mais pesado move mais lentamente

• Linha de escala de tempo paracontrolar o desenho dos quadrosintermediários.

Alberto Raposo – PUC-Rio

Animação Procedimental

• Animação descrita por algoritmo– Animação como função de um número de

parâmetros• Ex: bouncing ball

• Abs(sin(ωt+θ0))*e-kt

MIT EECS 6.837, Durand and Cutler

Page 9: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

9

Alberto Raposo – PUC-Rio

CINEMÁTICA:Descrição de um movimento através de equaçõesdo tipo:

deslocamento = f (tempo)

sen, cos, ...

A discretização no tempo associará o deslocamentoa um determinado instante (quadro) da animação.

Alberto Raposo – PUC-Rio

Ex. de Animação Cinemática: Pêndulo Simples

θ

Na figura:

: ângulo entre o pênduloe a normal

l : comprimento do fio quesustenta a esfera de massa qualquer

g : valor da gravidadeO fio que sustenta a esfera é inextensível e de massa desprezível.

Page 10: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

10

Alberto Raposo – PUC-Rio

A equação que descreve o modelodo pêndulo simples é:

Trata-se de uma equação diferencial não linear !

Para simplificar a solução, adotar (para pequenasamplitudes):

s e n ( )θ θ≅

dd t

gl

2

2

θθ= − ⋅ s en ( )

Alberto Raposo – PUC-Rio

Solução:

onde:

= (g / l) 1 / 2

k = amplitude inicial do movimento (constante)

= fase inicial do movimento (constante)

ω

β

θ ω β= ⋅ ⋅ +k tcos( )

Page 11: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

11

Alberto Raposo – PUC-Rio

DINÂMICA:Descrição de um movimento através de equações do tipo:

deslocamento = f (tempo, forças, torque)

A discretização no tempo associará o deslocamentoa um determinado instante (quadro) da animação.

Alberto Raposo – PUC-Rio

Um modelo dinâmico pode ser aplicado a uma animaçãode forma a termos uma simulação visual.

Vantagens:• Maior “grau de realismo” do movimento.• Possibilidade de simulação de um grandenúmero de fenômenos físicos.

Desvantagens:• Modelo mais complexo.• Maior no. de variáveis com as quais o usuário teráde interagir.

• O “animador” deve dominar alguns conhecimentosde Mecânica.

• O resultado visual nem sempre compensa o altocusto dosmodelos dinâmicos.

Page 12: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

12

Alberto Raposo – PUC-Rio

Exemplo: AmortecedorO modelo abaixo representa, simplificadamenteo amortecedor:

Fmola

Fatrito

Fexterna

Fresultante = Fexterna + Fmola + Fatrito

Alberto Raposo – PUC-Rio

Fresultante = Fexterna + Fmola + Fatrito

md xdt

F k x bdxdtexterna⋅ = − ⋅ − ⋅

2

2

x é a posição do objeto em movimento,m é a massa do objeto em movimento,k é a constante de elasticidade da mola,b é o coeficiente de atrito viscoso do

pistão do amortecedor eFexterna é a força externa aplicada ao conjunto

Page 13: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

13

Alberto Raposo – PUC-Rio

O modelo descrito pode ser discretizado na forma:

dxdt

xx x

t

d xdt

x xt

x x xt

ii i

i i i i i

= =−

=−

=− ⋅ +

•−

• •

− − −

1

2

21 1 2

22

∆ ∆( )

onde ∆t equivale ao intervalo de amostragem.

Alberto Raposo – PUC-Rio

Logo:

Finalmente:

mx x x

t

F k x bx x

t

i i i

ext ii i

⋅− ⋅ +⎡

⎣⎢⎤⎦⎥=

− ⋅ − ⋅−⎡

⎣⎢⎤⎦⎥

− −

2 1 22

1

xt F b t m x m x

m k t b tiext i i=

⋅ + ⋅ + ⋅ − ⋅+ ⋅ + ⋅

− −∆ ∆∆ ∆

21 2

22( )

Page 14: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

14

Alberto Raposo – PUC-Rio

Modelos Articulados•Modelos Articulados:

– Partes rígidas– Conectadas por juntas

•Podem ser animados especificando-se os ângulosdas juntas como função do tempo.

t1 t2

qi q ti ( )

t1 t2MIT EECS 6.837, Durand and Cutler

Alberto Raposo – PUC-Rio

Cinemática Direta

•Descreve as posições das partes do corpo emfunção dos ângulos das juntas.

1 DOF: 1 DOF: joelhojoelho 2 DOF: 2 DOF: punhopunho 3 DOF: 3 DOF: braçobraço

MIT EECS 6.837, Durand and Cutler

Page 15: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

15

Alberto Raposo – PUC-Rio

DOF: Degree of Freedom(Graus de Liberdade)

MIT EECS 6.837, Durand and Cutler

Alberto Raposo – PUC-Rio

Cinemática Direta

Page 16: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

16

Alberto Raposo – PUC-Rio

Cinemática Inversa

• Dada a posição da extremidade e umaposição final desejada, como mudar osparâmetros das juntas?

– Cálculo mais difícil que o da cinemática direta– Mais de uma solução

( ) sS p v

vsvs

, , , , ,h h h h h hx y z q f s

, ,t t tq f s

cq

,f fq f%wv

MIT EECS 6.837, Durand and Cutler

Alberto Raposo – PUC-Rio

Cinemática Inversa

Resultado nem sempreé único

Page 17: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

17

Alberto Raposo – PUC-Rio

Dinâmica Inversa

• Dinâmica direta: usa forças para criar o movimento

• Dinâmica inversa: calculas as forças necessárias para realizar um movimento

http://www.squiresoftgames.com/invdyn/

Alberto Raposo – PUC-Rio

Captura de Movimentos

• Maior realismo: nuances, movimentos súbtos, estilo...

• Observar algum movimento.

MIT EECS 6.837, Durand and Cutler

Page 18: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

18

Alberto Raposo – PUC-Rio

Animação Comportamental

• Personagens autônomos determinam suas próprias ações, pelo menos até certo ponto.

http://accad.osu.edu/~mlewis/Class/behavior.html

Alberto Raposo – PUC-Rio

Animação de Partículas [Reeves, 1983]

Start Trek, The Wrath of Kahn

Page 19: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

19

Alberto Raposo – PUC-Rio

Objetos Deformáveis• Formas se deformam com o contato• Problema precisa ser discretizado

Debunne et al. 2001

Alberto Raposo – PUC-Rio

Animação de Roupas

•Discretização•Equações físicas•Integração•Detecção de colisão

Meyer et al. 2001

Page 20: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

20

Alberto Raposo – PUC-Rio

Animação de roupas

http://www.cs.caltech.edu/~mmeyer/Research/Cloth/

Alberto Raposo – PUC-Rio

Simulação de Fluidos

•Discretização do volume do fluido•Equações de Navier Stokes•Integration numérica•Desafios:

– Integração robusta, estabilidade– Velocidade– Superfícies realísticas

Fedkiw et al. 2001

Enright et al. 2002MIT EECS 6.837, Durand and Cutler

Page 21: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

21

Alberto Raposo – PUC-Rio

Animação de Cabelos

http://www-faculty.cs.uiuc.edu/~yyz/research/hair/

Alberto Raposo – PUC-Rio

Como são feitos os filmes?

•A maior parte em keyframing•Figuras articuladas com cinemática inversa•Skinning

– Pele deformável, músculos

•Controles hierárquicos– Olhos piscando, etc.

•Grande parte do tempo gasto com modelagem3D, os esqueletos e seus controles•Simulação física para movimentos secundários

– Cabelos, roupas, líquidos, sistemas de partículasMaya tutorial

MIT EECS 6.837, Durand and Cutler

Page 22: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

22

Alberto Raposo – PUC-Rio

Stuart Little

• Modelagem

Alberto Raposo – PUC-Rio

Stuart Little• Fluido

Page 23: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

23

Alberto Raposo – PUC-Rio

Stuart Little• Sistemas de

Partículas

Alberto Raposo – PUC-Rio

Stuart Little• Animação Facial

Page 24: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

24

Alberto Raposo – PUC-Rio

Stuart Little• Pelos

Alberto Raposo – PUC-Rio

Stuart Little• Roupas

Page 25: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

25

Alberto Raposo – PUC-Rio

Números – Final Fantasy

http://www.arstechnica.com/wankerdesk/01q3/ff-interview/ff-interview-2.html

Alberto Raposo – PUC-Rio

Números – Final Fantasy

• Personagens principais > 300.000 polys• 3.000.000 renders (se cada quadro fosse

renderiazado apenas 1 vez)– Normalmente, foram 5 revisões de renderizações– Tempo de renderização de 1 quadro = 90 min

• 934.162 dias de render em 1 CPU– Usaram 1200 CPUs = 778 dias de renderização

Page 26: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

26

Alberto Raposo – PUC-Rio

Final Fantasy

• Software de renderização: Renderman(Pixar)

• Modelagem: Maya• Cabelos

– Modelados como splines

Alberto Raposo – PUC-Rio

Exemplo – Paul Debevec

http://www.debevec.org

Page 27: Animação ?webserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2004/06...8 Alberto Raposo – PUC-Rio Timing •Timing é afetado pelo peso: – Objeto leve move rápido – Objeto mais

27

Alberto Raposo – PUC-Rio

Bibliografia Adicional

• A. Watt, M. Watt. “Advanced Animationand Rendering Techniques”. Addison-Wesley, 1992

• N. M. Thalmann. “Computer animation: Theory and Practice”. Springer, 1990

• M. Giambruno. “3D Graphics & Animation”.New Riders, 2002