animação ?webserver2.tecgraf.puc-rio.br/~abraposo/inf1366/2004/06...8 alberto raposo – puc-rio...
TRANSCRIPT
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
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
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.
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
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
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
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
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
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.
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( )
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.
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
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( )
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
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
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
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
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
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
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
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
22
Alberto Raposo – PUC-Rio
Stuart Little
• Modelagem
Alberto Raposo – PUC-Rio
Stuart Little• Fluido
23
Alberto Raposo – PUC-Rio
Stuart Little• Sistemas de
Partículas
Alberto Raposo – PUC-Rio
Stuart Little• Animação Facial
24
Alberto Raposo – PUC-Rio
Stuart Little• Pelos
Alberto Raposo – PUC-Rio
Stuart Little• Roupas
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
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
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