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

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

Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo

Apresentações semelhantes


Apresentação em tema: "Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo"— Transcrição da apresentação:

1 Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo

2 Alberto Raposo – PUC-Rio 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

3 Alberto Raposo – PUC-Rio Exemplo – Tecgraf / Petrobras

4 Alberto Raposo – PUC-Rio

5 Animação Tradicional Desenha-se cada quadro da animação –Grande controle –Trabalhoso Animação por células (cel animation) –Camadas, keyframe, inbetween…

6 Alberto Raposo – PUC-Rio Animação Auxiliada por Computador Parte da renderização, do cálculo das interpolações, etc. é feita no computador.

7 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

8 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

9 Alberto Raposo – PUC-Rio Keyframing Descrição dos movimentos dos objetos como função no tempo de um conjunto de posições- chave. Em resumo: computar os quadros intermediários ACM © 1987 Principles of traditional animation applied to 3D computer animation MIT EECS 6.837, Durand and Cutler

10 Alberto Raposo – PUC-Rio Keyframing Usa-se interpolação linear ou então a interpolação de alguma curva para a geração do movimento 8-degree polynomial splinespline vs. polynomial MIT EECS 6.837, Durand and Cutler

11 Alberto Raposo – PUC-Rio Interpolação de Key Frames A interpolação (por splines, por ex.) pode gerar interpenetrações indesejadas –Talento do animador precisa corrigir esses e outros problemas da interpolação de quadros ACM © 1987 Principles of traditional animation applied to 3D computer animation

12 Alberto Raposo – PUC-Rio VRML – Animação por Interpolação usuário clica sobre um objeto TouchSensorTimeSensor start a cada pulso de relógio PositionInterpolator nova posição calcula função de interpolação Nó geométrico move

13 Alberto Raposo – PUC-Rio VRML - Tipos de Parâmetros e Roteamento de Eventos Cada nó VRML define um nome, um tipo e um valor default para seus parâmetros. Parâmetros são os reponsáveis pela diferenciação de um nó de outro do mesmo tipo. –Exemplo geometry Sphere { radius 2 } geometry Sphere { radius 3 }

14 Alberto Raposo – PUC-Rio VRML - Tipos de Parâmetros e Roteamento de Eventos (2) Há dois tipos de parâmetros: campos (fields) e eventos (events) Campos podem ser modificáveis (exposedFields) ou não (fields) exposedField = eventIn + field + eventOut

15 Alberto Raposo – PUC-Rio VRML - Tipos de Parâmetros e Roteamento de Eventos (3) Eventos sinalizam mudanças causadas por estímulos externos e podem ser propagados entre os nós do ambiente através de roteamentos que conectam um EventOut a um EventIn do mesmo tipo EventOut Nó 1 EventOut EventIn Nó 2 Nó 3 EventIn Nó 4

16 Alberto Raposo – PUC-Rio VRML - Tipos de Parâmetros e Roteamento de Eventos (4) Eventos gerados por sensores e interpoladores, roteados para nós geométricos, de iluminação ou de agrupamento, podem definir comportamentos dinâmicos para os elementos do ambiente usuário clica sobre um objeto TouchSensorTimeSensor start a cada pulso de relógio PositionInterpolator nova posição calcula função de interpolação Nó geométrico move

17 Alberto Raposo – PUC-Rio VRML/X3D - Interpoladores Interpolam LINEARMENTE valores para geração de animação Ex:

18 Alberto Raposo – PUC-Rio VRML/X3D - Interpoladores

19 Alberto Raposo – PUC-Rio VRML/X3D - Interpoladores ScalarInterpolator ColorInterpolator PositionInterpolator OrientationInterpolator

20 Alberto Raposo – PUC-Rio VRML/X3D - Interpoladores NormalInterpolator CoordinateInterpolator PositionInterpolator2D CoordinateInterpolator2D

21 Alberto Raposo – PUC-Rio X3D Interpoladores - Exemplos

22 Alberto Raposo – PUC-Rio VRML - Sensores (1) Geram eventos baseados nas ações do usuário Exemplos ProximitySensor detecta quando o usuário está navegando em uma região próxima ao objeto de interesse VisibilitySensor detecta quando certa parte do mundo (área ou objeto específico) torna-se visível ao usuário.

23 Alberto Raposo – PUC-Rio VRML - Sensores (2) Exemplos (cont.) TimeSensor gera eventos como passos de tempo e em conjunto com interpoladores pode produzir animações TimeSensor { cycleInterval1 enabledTRUE loopFALSE startTime0 stopTime0 }

24 Alberto Raposo – PUC-Rio VRML - Sensores (3) Exemplos (cont.) TouchSensor detecta quando um objeto do grupo do seu pai é ativado (clique do mouse, por exemplo). Esse sensor gera um evento de saída chamado touchTime que pode disparar um timeSensor, iniciando uma animação. TouchSensor { enabled TRUE }

25 Alberto Raposo – PUC-Rio Exemplo TouchSensor isActive (button-down) touchTime (button-up)

26 Alberto Raposo – PUC-Rio PlaneSensor Converte movimento de select-and-drag do ponteiro em translação 2D no plano z=0. –Quando usado roteado no campo translation de um Transform, pode ser usado para carregar objetos filhos do Transform. PlaneSensor

27 Alberto Raposo – PUC-Rio CylinderSensor Converte movimento de select-and-drag do ponteiro em rotação em torno do eixo y. –Quando usado roteado no campo rotation de um Transform, pode ser usado para girar objetos filhos do Transform. CylinderSensor

28 Alberto Raposo – PUC-Rio SphereSensor Converte movimento de select-and- drag do ponteiro em rotação 3D em torno da origem. –Quando usado roteado no campo rotation de um Transform, pode ser usado para girar objetos filhos do Transform.

29 Alberto Raposo – PUC-Rio Outros sensores KeySensor –Detecta eventos de teclas StringSensor –Pega strings (todos os caracteres até o usuário dar Enter)

30 Alberto Raposo – PUC-Rio VRML – Exemplo 1 (1) #VRML V2.0 utf8 # Quando a bola for tocada (mouse) o texto # irá mover-se na horizontal e quando a caixa for tocada o # texto irá mover-se na vertical Viewpoint { position } # observador Group { children [ Transform { translation children [ Shape { # bola geometry Sphere { radius 1.5 } appearance Appearance { material Material { diffuseColor } } # Sensor da bola DEF STOUCH TouchSensor { } ] } Transform { translation children [ Shape { geometry Box { size } # caixa appearance Appearance { material Material { diffuseColor } } # Sensor da caixa DEF BTOUCH TouchSensor { } ] } # Sensores de Tempo DEF XTIMERH TimeSensor { cycleInterval 2 } DEF XTIMERV TimeSensor { cycleInterval 2 }

31 Alberto Raposo – PUC-Rio VRML – Exemplo 1 (2) # Interpoladores # Horizontal DEF ANIMAH PositionInterpolator { key [ 0,.25,.5,.75, 1] keyValue [ 0 0 0, 8 0 0, , , ] } # Vertical DEF ANIMAV PositionInterpolator { (…) } # Texto DEF SFORM Transform { children Shape { geometry Text { string [ Virtual ] fontStyle FontStyle { style BOLD justify MIDDLE } length [7] maxExtent 20 } } } ] } # Bola ROUTE STOUCH.touchTime TO XTIMERH.set_startTime ROUTE XTIMERH.fraction_changed TO ANIMAH.set_fraction ROUTE ANIMAH.value_changed TO SFORM.set_translation # Caixa ROUTE BTOUCH.touchTime TO XTIMERV.set_startTime ROUTE XTIMERV.fraction_changed TO ANIMAV.set_fraction ROUTE ANIMAV.value_changed TO SFORM.set_translation

32 Alberto Raposo – PUC-Rio VRML – Exemplo 1 (3) touchTime TouchSensor (esfera) TimeSensor (XTIMERH) startTime fraction_changed PositionInterpolator (ANIMAH) value_changed set_fraction Texto translation touchTime TouchSensor (caixa) TimeSensor (XTIMERV) startTime fraction_changed PositionInterpolator (ANIMAV) value_changed set_fraction

33 Alberto Raposo – PUC-Rio VRML – Exemplo 1 (4)

34 Alberto Raposo – PUC-Rio Princípios da Animação Tradicional Artigo clássico de John Lasseter (presidente da 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 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

36 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 para controlar o desenho dos quadros intermediários.

37 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

38 Alberto Raposo – PUC-Rio CINEMÁTICA: Descrição de um movimento através de equações do tipo: deslocamento = f (tempo) sen, cos,... A discretização no tempo associará o deslocamento a um determinado instante (quadro) da animação.

39 Alberto Raposo – PUC-Rio Ex. de Animação Cinemática: Pêndulo Simples Na figura: : ângulo entre o pêndulo e a normal l : comprimento do fio que sustenta a esfera de massa qualquer g : valor da gravidade O fio que sustenta a esfera é inextensível e de massa desprezível.

40 Alberto Raposo – PUC-Rio A equação que descreve o modelo do pêndulo simples é: Trata-se de uma equação diferencial não linear ! Para simplificar a solução, adotar (para pequenas amplitudes):

41 Alberto Raposo – PUC-Rio Solução : onde: = (g / l) 1 / 2 k = amplitude inicial do movimento (constante) = fase inicial do movimento (constante)

42 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 deslocamento a um determinado instante (quadro) da animação.

43 Alberto Raposo – PUC-Rio Um modelo dinâmico pode ser aplicado a uma animação de forma a termos uma simulação visual. Vantagens: Maior grau de realismo do movimento. Possibilidade de simulação de um grande número de fenômenos físicos. Desvantagens: Modelo mais complexo. Maior n o. de variáveis com as quais o usuário terá de interagir. O animador deve dominar alguns conhecimentos de Mecânica. O resultado visual nem sempre compensa o alto custo dosmodelos dinâmicos.

44 Alberto Raposo – PUC-Rio Exemplo: Amortecedor O modelo abaixo representa, simplificadamente o amortecedor: F mola F atrito F externa F resultante = F externa + F mola + F atrito

45 Alberto Raposo – PUC-Rio F resultante = F externa + F mola + F atrito 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 e F externa é a força externa aplicada ao conjunto

46 Alberto Raposo – PUC-Rio O modelo descrito pode ser discretizado na forma: onde t equivale ao intervalo de amostragem.

47 Alberto Raposo – PUC-Rio Logo: Finalmente:

48 Alberto Raposo – PUC-Rio Modelos Articulados Modelos Articulados: –Partes rígidas –Conectadas por juntas Podem ser animados especificando-se os ângulos das juntas como função do tempo. MIT EECS 6.837, Durand and Cutler

49 Alberto Raposo – PUC-Rio Cinemática Direta Descreve as posições das partes do corpo em função dos ângulos das juntas. 1 DOF: joelho 2 DOF: punho 3 DOF: braço MIT EECS 6.837, Durand and Cutler

50 Alberto Raposo – PUC-Rio DOF: Degree of Freedom (Graus de Liberdade) MIT EECS 6.837, Durand and Cutler

51 Alberto Raposo – PUC-Rio Cinemática Direta

52 Alberto Raposo – PUC-Rio Cinemática Inversa Dada a posição da extremidade e uma posição final desejada, como mudar os parâmetros das juntas? –Cálculo mais difícil que o da cinemática direta –Mais de uma solução vsvs vsvs MIT EECS 6.837, Durand and Cutler

53 Alberto Raposo – PUC-Rio Cinemática Inversa Resultado nem sempre é único

54 Alberto Raposo – PUC-Rio Cinemática Inversa

55 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

56 Alberto Raposo – PUC-Rio Outras formas de animação em VRML EAI Script Node usuário clica sobre um objeto TouchSensorTimeSensor start a cada pulso de relógio Script nova posição t Nó geométrico move f(t) (qualquer) Programa externo

57 Alberto Raposo – PUC-Rio Animação no POVRAY Possui um relógio, usado como timer da animação Pode-se usar valor do clock nas transformações (rotação, translação, etc.) Gera-se sequência de imagens BMPs numeradas, que podem ser montadas em um AVI, MPEG, GIF, etc. com outro programa Manual do POVRAY, seção 2.3.8

58 Alberto Raposo – PUC-Rio Captura de Movimentos Maior realismo: nuances, movimentos súbtos, estilo... Observar algum movimento. MIT EECS 6.837, Durand and Cutler

59 Alberto Raposo – PUC-Rio Animação Comportamental Personagens autônomos determinam suas próprias ações, pelo menos até certo ponto.

60 Alberto Raposo – PUC-Rio Animação de Partículas [Reeves, 1983] Start Trek, The Wrath of Kahn

61 Alberto Raposo – PUC-Rio Objetos Deformáveis Formas se deformam com o contato Problema precisa ser discretizado Debunne et al. 2001

62 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

63 Alberto Raposo – PUC-Rio Animação de roupas

64 Alberto Raposo – PUC-Rio Simulação de Fluidos Discretização do volume do fluido Equações de Navier Stokes Integração numérica Desafios: –Integração robusta, estabilidade –Velocidade –Superfícies realísticas Fedkiw et al Enright et al MIT EECS 6.837, Durand and Cutler

65 Alberto Raposo – PUC-Rio Animação de Cabelos

66 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 modelagem 3D, os esqueletos e seus controles Simulação física para movimentos secundários –Cabelos, roupas, líquidos, sistemas de partículas Maya tutorial MIT EECS 6.837, Durand and Cutler

67 Alberto Raposo – PUC-Rio Stuart Little Modelagem

68 Alberto Raposo – PUC-Rio Stuart Little Fluido

69 Alberto Raposo – PUC-Rio Stuart Little Sistemas de Partículas

70 Alberto Raposo – PUC-Rio Stuart Little Animação Facial

71 Alberto Raposo – PUC-Rio Stuart Little Pelos

72 Alberto Raposo – PUC-Rio Stuart Little Roupas

73 Alberto Raposo – PUC-Rio Números – Final Fantasy

74 Alberto Raposo – PUC-Rio Números – Final Fantasy Personagens principais > polys 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 dias de render em 1 CPU –Usaram 1200 CPUs = 778 dias de renderização

75 Alberto Raposo – PUC-Rio Final Fantasy Software de renderização: Renderman (Pixar) Modelagem: Maya Cabelos –Modelados como splines

76 Alberto Raposo – PUC-Rio Exemplo – Paul Debevec

77 Alberto Raposo – PUC-Rio Bibliografia Adicional A. Watt, M. Watt. Advanced Animation and Rendering Techniques. Addison- Wesley, 1992 N. M. Thalmann. Computer animation: Theory and Practice. Springer, 1990 M. Giambruno. 3D Graphics & Animation.New Riders, 2002


Carregar ppt "Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo"

Apresentações semelhantes


Anúncios Google