Aula 15 – Animação *Slides Profa. Maria Andréia Formico Rodrigues Prof. Leandro da Silva Taddeo Animação Introdução 2 Historicamente falando, tem mais de 100 anos (inventada em 1831 por Joseph Antonie Plateau) Semanticamente falando, “animação” deriva do verbo latim animus, que significa dar vida a personagens Num conceito menos abstrato, animação corresponde à construção, armazenamento, gravação, e exibição de imagens gráficas que produzam movimento durante o tempo Num conceito mais genérico, animação corresponde à mudança de posição, forma, cor, transparência, estrutura e textura de um objeto, alteração dos parâmetros de câmera e da iluminação Animação Áreas de Aplicação 3 Área Aplicação Entretenimento TV, Cinema, Jogos, Efeitos Especiais Governamental FBI, NASA Tecnologia hardware, software e dispositivos de E/S Educacional, Treinamento, Pesquisa Medicina, Simulações Gráficas Interativas, Fenômenos da Natureza, Realidade Virtual, Metamorfose, Fonética, Visualização Científica, Realidade Aumentada Controle de Sistemas Industriais Marketing e Relações Públicas Computação Móvel palms/celulares, APIs, redes ad-hoc, modelo cliente-servidor, interfaces Animação Etapas 4 Sinopse Enredo Resumo da estória usando poucas linhas Texto detalhado que descreve toda a estória Storyboard = desenho dos quadros-chaves (keyframes) Rascunho do desenho animado composto por um número de ilustrações organizadas como em uma estória em quadrinhos Ilustra os momentos principais da animação Desenho dos quadros intermediários (inbetweening) Animação Quadros da Animação 5 Há dois tipos de quadros em uma animação: key-frames Quadros-chaves da animação inbetweens Quadros intermediários da animação Gerados interpolando-se os quadros-chave Animação Sonorização 6 Na animação convencional, a trilha sonora deve preceder o processo de criação das imagens, visto que o movimento deve estar sincronizado aos diálogos, efeitos especiais, e música de fundo Animação Processo Tradicional 7 Transfere-se os desenhos a lápis para as folhas de acetato Os contornos devem ser desenhados à tinta, manualmente As células de acetato passam por um estágio de pintura Antes de se fotografar os quadros da animação, os animadores devem verificar se há erros A armazenagem das fotos é feita em filme colorido Finalmente, na etapa de pós-produção o filme será retocado Grava-se a trilha sonora Processo Trabalhoso e Lento!!!! Animação Processo Tradicional – Exemplo 8 “Branca de Neve e os 7 Anões” Começou a ser feito em 1934 e estreou em 1937 4 animadores principais eram os responsáveis pela geração dos key-frames Outros animadores produziam os quadrosintermediários mais de 2 milhões de quadros, 90 minutos de animação Animação Processo de Animação Auxiliada por Computador 9 Quadros-chaves digitalizados Editor gráfico interativo Calcula-se os quadros inbetween, usando métodos automáticos de interpolação Controle do movimento da câmera Edição e sincronização do filme Animação Animação Modelada por Computador 10 Bidimensional ou Tridimensional Objetos rígidos ou elásticos Cinemática ou Dinâmica Aplica transformações geométricas (translação, rotação, e escala), em entidades de cena, tais como, atores, câmera, luz, etc Ex: câmera com movimento panorâmico, zoom in, zoom out, etc Animação Tipos de Objetos 11 A animação é descrita em termos dos graus de liberdade Grau de liberdade: número de coordenadas livres e distintas, necessárias para que as posições dos componentes do sistema sejam especificadas no tempo Capacidade de informar a orientação e a posição de um ponto no espaço Ex: 3 minutos de animação (30 quadros/s), com objetos com 50 graus de liberdade Animação Tipos de Objetos 12 Partículas Ponto (x,y,z) no espaço 3 graus de liberdade (x,y,z translações) 3 números necessários para definir cada quadro da animação, ou seja, 3 funções descritoras da variação x, y, e z no tempo y z x Animação Tipos de Objetos 13 Corpos Rígidos Pontos que se movem juntos no espaço, definindo polígonos ou superfícies de geometria livre 6 graus de liberdade (x,y,z) translações e (x,y,z) rotações y z x Animação Tipos de Objetos 14 Corpos Flexíveis Compostos por um número infinito de pontos que se movem relativos a si próprios no tempo Compostos por vértices de polígonos, superfícies de forma livre Ex.: n ameba graus de liberdade para cada ponto de controle y z x Suponha que 5 amebas tenham p pontos de controle cada uma. Quantos graus de liberdade elas terão, ao todo, variando no tempo? Animação Tipos de Objetos 15 Corpos Articulados Compostos por segmentos e juntas cujo movimento relativo é restrito/limitado Podem ser flexíveis Grau de liberdade dependente da junta observada Qual será o número e tipo de grau de liberdade de um braço articulado de um robô? Animação Tipos de Objetos 16 Corpos definidos algebricamente Ex.: esferas (por meio de funções/equações) Corpos em Metamorfose z x Objetos podem ser especificados algebricamente y Ex.: esfera modelada como um centro (x,y,z) e um raio. Uma esfera pulsante pode ser animada modificando-se o valor do raio Ou imagens podem ser analisadas de tal forma a compor objetos bi/tridimensionais Problema: diferentes topologias/geometrias geradas na metamorfose podem dificultar o processo y z x Animação Tipos de Controle de Movimento 17 Animação por Cinemática Direta/Inversa A animação é especificada através dos seguintes parâmetros: posição, velocidade, e aceleração Animação por Dinâmica Direta/Inversa A animação é especificada através das forças e torques que produzem as velocidades e acelerações (eletromagnética, gravitacional, atrito, etc) Animação POV-Ray 18 No POV-Ray, a animação é alcançada através da geração de vários quadros Cada quadro é renderizado separadamente no POVRay, gerando um arquivo diferente Para gerar a animação, é preciso utilizar uma ferramenta qualquer que execute os quadros em sequência Animação POV-Ray 19 Animacao.pov #include "colors.inc" camera { location <0, 3, -10> look_at <0, 0, 0> } light_source { <20, 20, -20> color White } plane { y, 0 pigment { color Black } } sphere { <-2.5, 0, 0> , 1 pigment { color Blue} translate <clock, 1, 0> } anima.ini Width=530 Height=385 Antialias=On Antialias_Threshold=0.3 Output_File_Name=teste.bmp Initial_Frame=1 Final_Frame=10 Initial_Clock=1 Final_Clock=5 *O clock é um elemento usado para simular um relógio para animação. *O clock inicia em 1 (primeiro frame) e termina em 5 (último frame). *Cada valor intermediário do clock é calculado através da seguinte fórmula NovoClock = AnteriorClock + Final_Clock/Final_Frame Animação POV-Ray 20 Animação Exemplo POV-Ray – Bola Quicando 21 // Uma bola quicando, sem deformação – Autor: Andréia Formico 2001 #include "colors.inc" #include "textures.inc" #include "skies.inc" background { Grey } // Declaração da textura de madeira para representar o chão #declare Madeira = texture{pigment {wood turbulence 0.8 color_map {[0.00, 0.10 color red 0.888 green 0.600 blue 0.3 color red 0.888 green 0.600 blue 0.3] [0.10, 0.90 color red 0.888 green 0.600 blue 0.3 color red 0.7 green 0.35 blue 0.2] [0.90, 1.0 color red 0.7 green 0.35 blue 0.2 color red 0.7 green 0.35 blue 0.2] } }} #declare A = 5; #declare w = 100; #declare teta = 80; #declare k = 0.3; #declare pos_x = 2 * clock; #declare pos_y = A * abs( sin( (w * pos_x + teta) * pi / 180) ) * exp( -k * pos_x ); light_source { <100,200,80> White} light_source { <100,1,-80> White} light_source { <-200,1,80> White} light_source { <-200,200,-80> White} #declare bola = sphere {<0,0.8,0> 0.8 pigment{checker color Blue color Green} finish { Metal }} // A distancia final será 10, pois pos_x = 2 * clock, (há 5 clocks) #declare distancia = 10; #declare altura = 0.4 * (distancia-pos_x) / distancia camera {location <4,3+altura,-9> look_at <4,3+altura,0> } plane { y, altura texture { Madeira scale 0.1 }} object { bola #if (pos_y > altura) translate <pos_x, pos_y, 0> #else scale <1 - (pos_y - altura), 1 + (pos_y - altura), 1> translate <pos_x, altura, 0> #end } Animação Exemplo POV-Ray – Bola Quicando 22 Arquivo de Inicialização Clock=0 Initial_Clock= 0 Initial_Frame= 1 Final_Clock= 5 Final_Frame= 100 Input_File_Name=c:\programas pov-ray\bola\bola.pov Output_File_Name=c:\programas pov-ray\bola\bola