A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Animação Computação Gráfica Prof. Luiz Marcos www.dca.ufrn.br/~lmarcos/courses/compgraf.

Apresentações semelhantes


Apresentação em tema: "Animação Computação Gráfica Prof. Luiz Marcos www.dca.ufrn.br/~lmarcos/courses/compgraf."— Transcrição da apresentação:

1 Animação Computação Gráfica Prof. Luiz Marcos

2 Animação versus modelagem São altamente acopladas São altamente acopladas Modelagem: o que são os pontos de controle e o que eles fazem? Modelagem: o que são os pontos de controle e o que eles fazem? Animação: como variar pontos de controle para gerar movimento desejado? Animação: como variar pontos de controle para gerar movimento desejado? Construção de modelos fáceis de controlar é super importante: modelagem hierárquica Construção de modelos fáceis de controlar é super importante: modelagem hierárquica Onde termina modelagem e começa animação? Onde termina modelagem e começa animação? Meio confuso! Meio confuso!

3 Overview Técnicas de animação Técnicas de animação Animação tradicional (quadro a quadro, manual), Keyframing (comp.), Procedimental (procedural, comp.), Comportamental (behavior based, comp.), Baseada em performance (motion capture, comp.), Baseada em física (dinâmica, comp.), High-level animation (scripts, comp.) Animação tradicional (quadro a quadro, manual), Keyframing (comp.), Procedimental (procedural, comp.), Comportamental (behavior based, comp.), Baseada em performance (motion capture, comp.), Baseada em física (dinâmica, comp.), High-level animation (scripts, comp.) Problemas em modelagem: Problemas em modelagem: Rotações, cinemática inversa Rotações, cinemática inversa

4 Animação tradicional Filme resultante deve rodar a 24 quadros por segundo (fps) Filme resultante deve rodar a 24 quadros por segundo (fps) São 1440 quadros para renderizar por minuto São 1440 quadros para renderizar por minuto 1800 fpm para vídeo digital 1800 fpm para vídeo digital Fatores da produção Fatores da produção Organizado por razões de eficiência e custo Organizado por razões de eficiência e custo Renderizar quadros sistematicamente Renderizar quadros sistematicamente

5 Animação tradicional Fatores artísticos Fatores artísticos Visão artística deve ser convertida numa seqüência de quadros estáticos Visão artística deve ser convertida numa seqüência de quadros estáticos Quadros estáticos devem ser corretos também em movimento Quadros estáticos devem ser corretos também em movimento Difícil de ver o movimento dados os estáticos (assista um vídeo quadro a quadro e vê se entende o que ocorre) Difícil de ver o movimento dados os estáticos (assista um vídeo quadro a quadro e vê se entende o que ocorre) Convenções estilísticas seguidas pelos animadores de Disney e outros Convenções estilísticas seguidas pelos animadores de Disney e outros Outros lados interessantes, claro Outros lados interessantes, claro

6 O processo de animação tradicional Story board Story board Seqüência de desenhos com descrições Seqüência de desenhos com descrições Descrição baseada em história Descrição baseada em história Key frames (quadros chaves) Key frames (quadros chaves) Desenhar uns poucos quadros importantes Desenhar uns poucos quadros importantes Início de um movimento, final de um movimento Início de um movimento, final de um movimento Quadros intermediários Quadros intermediários Desenhar o resto dos quadros (ganha pouco $) Desenhar o resto dos quadros (ganha pouco $) Pintura Pintura Redesenha (acetato) e colore (ganha muito menos $) Redesenha (acetato) e colore (ganha muito menos $)

7 Bugs life (story board)

8 Princípios da animação tradicional Encolhe-estica – representar personalidade Encolhe-estica – representar personalidade Temporização – velocidade representa massa, personalidade Temporização – velocidade representa massa, personalidade Antecipação – prepara a platéia Antecipação – prepara a platéia Prosseguimento (followthrough) e overlap – continuidade com próxima ação Prosseguimento (followthrough) e overlap – continuidade com próxima ação Câmera lenta e rápida – velocidade de transição representa momentos importantes Câmera lenta e rápida – velocidade de transição representa momentos importantes Arcos – movimento é geralmente curvo Arcos – movimento é geralmente curvo Exageração - enfatiza conteúdo emocional Exageração - enfatiza conteúdo emocional Ação secundária – movimento como conseqüência Ação secundária – movimento como conseqüência Apelo – platéia deve gostar de assistir Apelo – platéia deve gostar de assistir

9 Squash-stretch

10 Squash Squash Stretch Stretch

11 Antecipação

12

13

14 Movimento em camadas Quando se tem varias camadas de animação Quando se tem varias camadas de animação Objeto mover na frente do background Objeto mover na frente do background Uma camada p/ background, outra p/ objeto Uma camada p/ background, outra p/ objeto Múltiplos animadores ao mesmo tempo Múltiplos animadores ao mesmo tempo Acetato transparente em várias camadas Acetato transparente em várias camadas Desenha cada um separadamente Desenha cada um separadamente Empilha todos juntos (em certa ordem) Empilha todos juntos (em certa ordem) Transfere para a película (fotografa a pilha) Transfere para a película (fotografa a pilha)

15 Animação assistida por computador Pintura de células computadorizada Pintura de células computadorizada Digitaliza linhas, colore usando semente Digitaliza linhas, colore usando semente Elimina pintores de célula (que são muitos) Elimina pintores de célula (que são muitos) Largamente usado em produções Largamente usado em produções Pouca pintura (retoques) manuais Pouca pintura (retoques) manuais Exemplo: Rei Leão Exemplo: Rei Leão

16 Animação assistida por computador Inserção automática de quadros intermediários Inserção automática de quadros intermediários Interpola automaticamente entre desenhos de linhas Interpola automaticamente entre desenhos de linhas Difícil conseguir coisa certa Difícil conseguir coisa certa Intermediários não parecem natural Intermediários não parecem natural Que parâmetros interpolar? Que parâmetros interpolar? Técnica não muito usada Técnica não muito usada

17 Animação por computador Visão unificada Visão unificada Modelos tem parâmetros: posição dos polígonos, normais, pontos de controle de splines, ângulos de juntas, parâmetros de câmera, iluminação, cor Modelos tem parâmetros: posição dos polígonos, normais, pontos de controle de splines, ângulos de juntas, parâmetros de câmera, iluminação, cor Parâmetros definem um espaço de estados Parâmetros definem um espaço de estados Se uma cena tiver n parâmetros Se uma cena tiver n parâmetros Valores dos parâmetros em um dado instante são um ponto neste espaço de estados Valores dos parâmetros em um dado instante são um ponto neste espaço de estados

18 Animação por computador Animar é seguir um caminho no espaço de estados Animar é seguir um caminho no espaço de estados 1) começa no início do caminho 1) começa no início do caminho 2) define valores dos parâmetros do seu modelo 2) define valores dos parâmetros do seu modelo 3) renderiza a imagem 3) renderiza a imagem 4) move para o próximo ponto do caminho 4) move para o próximo ponto do caminho Caminho pode ser um conjunto de curvas Caminho pode ser um conjunto de curvas Uma curva para cada parâmetro Uma curva para cada parâmetro Definir a animação é especificar uma trajetória no espaço de estados Definir a animação é especificar uma trajetória no espaço de estados

19 True computer animation Gerar imagens por renderização do modelo 3D Gerar imagens por renderização do modelo 3D Variar parâmetros para produzir animação Variar parâmetros para produzir animação Força bruta: Força bruta: Acerta parâmetros manualmente (todo quadro) Acerta parâmetros manualmente (todo quadro) Para n parâmetros, 1440n valores por minuto Para n parâmetros, 1440n valores por minuto Key framing tradicional Key framing tradicional Animadores desenham quadros importantes Animadores desenham quadros importantes Pessoal mal pago desenha os intermediários Pessoal mal pago desenha os intermediários Keyframing por computador Keyframing por computador Animadores criam quadros chaves com modelos 3D Animadores criam quadros chaves com modelos 3D Computadores desenham os intermediários Computadores desenham os intermediários Modelo de produção dominante Modelo de produção dominante

20 Interpolação Como interpolar quadro feito manualmente? Como interpolar quadro feito manualmente? Computadores não ajudam muito Computadores não ajudam muito Diferente em animação por computador Diferente em animação por computador Cada keyframe é definido por n parâmetros Cada keyframe é definido por n parâmetros Seqüência de keyframes = pontos num espaço de estados de alta dimensão Seqüência de keyframes = pontos num espaço de estados de alta dimensão Computador interpola estes pontos: intermediários Computador interpola estes pontos: intermediários Como fazer isso? Splines Como fazer isso? Splines

21 Idéias básicas do keyframing Apesar do nome, não são keyframes em sí Apesar do nome, não são keyframes em sí Para cada variável, especificar seu valor em quadros realmente importantes (nem todas as variáveis têm valores importantes no mesmo quadro) Para cada variável, especificar seu valor em quadros realmente importantes (nem todas as variáveis têm valores importantes no mesmo quadro) Então, key-values ao invés de key-frames Então, key-values ao invés de key-frames Criar caminho para cada parâmetro para interpolação desses valores Criar caminho para cada parâmetro para interpolação desses valores

22 Keyframing

23 Aspectos do keyframing O que devem ser os key-values? O que devem ser os key-values? Quando os key-values devem ocorrer? Quando os key-values devem ocorrer? Como especificar os key-values? Como especificar os key-values? Como interpolar os key-values? Como interpolar os key-values? Que tipo de COISA ERRADA pode ocorrer no processo de interpolação? Que tipo de COISA ERRADA pode ocorrer no processo de interpolação? Configurações inválidas (atravessar paredes) Configurações inválidas (atravessar paredes) Movimentos não naturais Movimentos não naturais

24 Keyframing: aspectos de produção Como aprender a fazer Como aprender a fazer Aprender com um animador Aprender com um animador Praticar muito Praticar muito Dá um bom controle ao longo do movimento Dá um bom controle ao longo do movimento Elimina metade do trabalho no tradicional Elimina metade do trabalho no tradicional Ainda é trabalhoso (mesmo para computadores) Ainda é trabalhoso (mesmo para computadores) Impraticável para cenas muito complexas, com todas as coisas se movendo Impraticável para cenas muito complexas, com todas as coisas se movendo

25 Problemas com interpolação Interpoladores não fazem sempre a coisa certa Interpoladores não fazem sempre a coisa certa Problemas clássicos: Problemas clássicos: Restrições importantes quebradas entre quadros Restrições importantes quebradas entre quadros Pés entram no solo Pés entram no solo Mãos entram em paredes Mãos entram em paredes Rotações 3D Rotações 3D Ângulos de Euler não interpolam naturalmente Ângulos de Euler não interpolam naturalmente Soluções Soluções Mais keyframes Mais keyframes Uso de quaternions ajuda melhorar rotações Uso de quaternions ajuda melhorar rotações

26 Ainda interpolando rotações P: Que tipo de rotação composta se consegue girando em torno de cada um dos 3 eixos com velocidade constante? R: Não a que voce quer Interpolação funciona bem para rotações simples (eixo-ângulo) Ruim para outras rotações

27 Animação procedimental Define movimento usando funções (fórmulas) Define movimento usando funções (fórmulas) Funções feitas (implementadas) manualmente Funções feitas (implementadas) manualmente Funções podem seguir leis da Física ou outras artísticas Funções podem seguir leis da Física ou outras artísticas Animador deve ser um programador Animador deve ser um programador Keyframing torna-se procedimental se expressões são adicionadas Keyframing torna-se procedimental se expressões são adicionadas Em algum nível de complexidade, melhor e mais eficiente que keyframing. Em algum nível de complexidade, melhor e mais eficiente que keyframing.

28 Animação Física (dinâmica) Gerar movimento definindo massa e força e restrições da Física (Newton, Euler) Gerar movimento definindo massa e força e restrições da Física (Newton, Euler) Gravidade Gravidade Momento (inércia) Momento (inércia) Colisões Colisões Fricção Fricção Fluxo de fluídos (turbulência, na água) Fluxo de fluídos (turbulência, na água) Solidez, flexibilidade, elasticidade Solidez, flexibilidade, elasticidade Fratura Fratura

29 Exemplo simples de dinâmica Solução numérica para equação diferencial Solução numérica para equação diferencial Exemplo de algoritmo usando Euler para f = ma: Exemplo de algoritmo usando Euler para f = ma: Inicialize dx e x (posição e velocidade) loop eterno (integrador de Euler): ddx = f()/m (ddx é aceleração, f() é uma função, atualiza força) dx += ddx*dt (dx = velocidade) x += dx*dt (x = posição) t += dt f() pode ser gravidade ou qq outra função que atualiza força em função de tempo, posição, etc f() pode ser gravidade ou qq outra função que atualiza força em função de tempo, posição, etc

30 Física/dinâmica na prática Varia desde objetos não entram em paredes até dinâmica de fluídos completa e modelagem com elementos finitos Varia desde objetos não entram em paredes até dinâmica de fluídos completa e modelagem com elementos finitos Ou pode-se animar sem realismo físico Ou pode-se animar sem realismo físico Em geral, coisas tem que rodar rápido Em geral, coisas tem que rodar rápido Convergência rápida em cálculos iterativos Convergência rápida em cálculos iterativos Algoritmos de aproximação ótimos Algoritmos de aproximação ótimos Platéia pode ser tolerante a coisas como batidas incorretas ou entrar ligeiramente em paredes. Platéia pode ser tolerante a coisas como batidas incorretas ou entrar ligeiramente em paredes. O mudar de precisão para fast-and-looks-good distingue CG baseada Física de ciências numéricas O mudar de precisão para fast-and-looks-good distingue CG baseada Física de ciências numéricas

31 Cinemática e cinemática inversa Cinemática Cinemática Provê movimento em termos de juntas, ângulos, velocidades e posições Provê movimento em termos de juntas, ângulos, velocidades e posições Usado também em keyframing e procedimental Usado também em keyframing e procedimental Cinemática inversa Cinemática inversa Determina ângulos e juntas a partir de posição Determina ângulos e juntas a partir de posição Calcula parâmetros de rotação para o ombro, cotovelo, pulso para colocar as mãos ali. Calcula parâmetros de rotação para o ombro, cotovelo, pulso para colocar as mãos ali. Bom para iteração Bom para iteração Configurações podem ser sub ou sobre-determinadas (sem configuração ou várias para atingir o mesmo objetivo) Configurações podem ser sub ou sobre-determinadas (sem configuração ou várias para atingir o mesmo objetivo) Muito usada em Robótica Muito usada em Robótica Otimização restrita: ir de A até B com menor trabalho Otimização restrita: ir de A até B com menor trabalho

32 Animação comportamental Define regras p/ comportamento dos objetos Define regras p/ comportamento dos objetos Modelos respondem à mudanças no ambiente Modelos respondem à mudanças no ambiente Programas implementam as regras Programas implementam as regras Exemplo clássico boids (Craig Reynolds) Exemplo clássico boids (Craig Reynolds) Movimento é função dos objetos ao redor Movimento é função dos objetos ao redor Comportamento emergente: nevasca Comportamento emergente: nevasca Rei Leão: estourada de animais foi feita assim Rei Leão: estourada de animais foi feita assim Sistema de partículas: usualmente comportamentos simples Sistema de partículas: usualmente comportamentos simples Smart Objects: agentes autônomos (comportamentos sofisticados) Smart Objects: agentes autônomos (comportamentos sofisticados)

33 Baseada em performance Grava animação de ações da vida real Grava animação de ações da vida real Usa vídeos reais e tira movimento de objetos Usa vídeos reais e tira movimento de objetos Usa dispositivos que pegam posição/orientação Usa dispositivos que pegam posição/orientação Motion capture (nova indústria) Motion capture (nova indústria) Acompanha movimento de pontos no espaço, por meio magnético, ótico, etc (exo-esqueletos, face ou rosto) Acompanha movimento de pontos no espaço, por meio magnético, ótico, etc (exo-esqueletos, face ou rosto) Converte para espaço ângulo-juntas Converte para espaço ângulo-juntas Usa ângulos para derivar modelo 3D articulado Usa ângulos para derivar modelo 3D articulado Caminhos do movimento podem ser modificados Caminhos do movimento podem ser modificados Exemplos: Guerra nas Estrelas (Jajá), Trezentos, Beowulf. Exemplos: Guerra nas Estrelas (Jajá), Trezentos, Beowulf.

34 Motion capture

35 Animação em alto nível Idéia principal: juntar animações complexas de uma biblioteca de movimentos Idéia principal: juntar animações complexas de uma biblioteca de movimentos Linguagens de script Linguagens de script Descreve os eventos Descreve os eventos Descreve suas seqüências Descreve suas seqüências Animação a nível de tarefa Animação a nível de tarefa Vá à cozinha para um bolo, beba líquido, faça o cachorro andar Vá à cozinha para um bolo, beba líquido, faça o cachorro andar Ótimo, em princípio, mas como fazer? Ótimo, em princípio, mas como fazer? Juntar IA com animação comportamental? Juntar IA com animação comportamental?

36 Hierarquia da animação


Carregar ppt "Animação Computação Gráfica Prof. Luiz Marcos www.dca.ufrn.br/~lmarcos/courses/compgraf."

Apresentações semelhantes


Anúncios Google