INF 1366 Computao Grfica Interativa Animao por Computador

  • Slides: 77
Download presentation
INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf. puc-rio.

INF 1366 – Computação Gráfica Interativa Animação por Computador Alberto B. Raposo abraposo@tecgraf. puc-rio. br http: //www. tecgraf. puc-rio. br/~abraposo/INF 1366 Alberto Raposo – PUC-Rio

Animação ? Modificação no tempo de parâmetros, de tal forma que possamos perceber este

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

Exemplo – Tecgraf / Petrobras Alberto Raposo – PUC-Rio

Exemplo – Tecgraf / Petrobras Alberto Raposo – PUC-Rio

Alberto Raposo – PUC-Rio

Alberto Raposo – PUC-Rio

Animação Tradicional • Desenha-se cada quadro da animação – Grande controle – Trabalhoso •

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

Animação Auxiliada por Computador • Parte da renderização, do cálculo das interpolações, etc. é

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

Animação Modelada por Computador • Keyframing • Procedural – Baseada em física • Cinemática

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”

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

Keyframing • Descrição dos movimentos dos objetos como função no tempo de um conjunto

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

Keyframing • Usa-se interpolação linear ou então a interpolação de alguma curva para a

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

Interpolação de Key Frames • A interpolação (por splines, por ex. ) pode gerar

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 Alberto Raposo – PUC-Rio ACM © 1987 “Principles of traditional animation applied to 3 D computer animation”

VRML – Animação por Interpolação Touch. Sensor usuário clica sobre um objeto Alberto Raposo

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

VRML - Tipos de Parâmetros e Roteamento de Eventos • Cada nó VRML define

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

VRML - Tipos de Parâmetros e Roteamento de Eventos (2) • Há dois tipos

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 (exposed. Fields) ou não (fields) exposed. Field = event. In + field + event. Out Alberto Raposo – PUC-Rio

VRML - Tipos de Parâmetros e Roteamento de Eventos (3) • Eventos sinalizam mudanças

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 Event. Out a um Event. In do mesmo tipo Nó 1 Event. Out Nó 2 Event. In Event. Out Event. In Nó 3 Alberto Raposo – PUC-Rio Nó 4 Event. In

VRML - Tipos de Parâmetros e Roteamento de Eventos (4) • Eventos gerados por

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 Touch. Sensor usuário clica sobre um objeto Alberto Raposo – PUC-Rio Time. Sensor start a cada pulso de relógio Position. Interpolator Nó geométrico calcula nova função posição de interpolação move

VRML/X 3 D - Interpoladores • Interpolam LINEARMENTE valores para geração de animação •

VRML/X 3 D - Interpoladores • Interpolam LINEARMENTE valores para geração de animação • Ex: <Scalar. Interpolator key=“ 0 0. 2 0. 4 0. 6 0. 8 1” key. Value=“ 0 5 8 9 4 0” /> Alberto Raposo – PUC-Rio

VRML/X 3 D - Interpoladores <Scalar. Interpolator key=“ 0 0. 25, 0. 25 0.

VRML/X 3 D - Interpoladores <Scalar. Interpolator key=“ 0 0. 25, 0. 25 0. 5, 0. 5 1” key. Value=“ 1 1, 2 2, 3 4” /> <Color. Interpolator key=“ 0, 0. 33333, 0. 666666, 1” key. Value=“ 1 0 0, 0 1 0, 0 0 1, 1 0 0” /> Alberto Raposo – PUC-Rio

VRML/X 3 D - Interpoladores • Scalar. Interpolator • Color. Interpolator • Position. Interpolator

VRML/X 3 D - Interpoladores • Scalar. Interpolator • Color. Interpolator • Position. Interpolator • Orientation. Interpolator Alberto Raposo – PUC-Rio

VRML/X 3 D - Interpoladores • • Normal. Interpolator Coordinate. Interpolator Position. Interpolator 2

VRML/X 3 D - Interpoladores • • Normal. Interpolator Coordinate. Interpolator Position. Interpolator 2 D Coordinate. Interpolator 2 D Alberto Raposo – PUC-Rio

X 3 D Interpoladores - Exemplos Alberto Raposo – PUC-Rio

X 3 D Interpoladores - Exemplos Alberto Raposo – PUC-Rio

VRML - Sensores (1) • Geram eventos baseados nas ações do usuário • Exemplos

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

VRML - Sensores (2) • Exemplos (cont. ) • Time. Sensor gera eventos como

VRML - Sensores (2) • Exemplos (cont. ) • Time. Sensor gera eventos como passos de tempo e em conjunto com interpoladores pode produzir animações Time. Sensor { cycle. Interval enabled loop start. Time stop. Time } Alberto Raposo – PUC-Rio 1 TRUE FALSE 0 0

VRML - Sensores (3) • Exemplos (cont. ) • Touch. Sensor detecta quando um

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

Exemplo Touch. Sensor is. Active (button-down) Alberto Raposo – PUC-Rio touch. Time (button-up)

Exemplo Touch. Sensor is. Active (button-down) Alberto Raposo – PUC-Rio touch. Time (button-up)

Plane. Sensor • Converte movimento de “select-and-drag” do ponteiro em translação 2 D no

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

Cylinder. Sensor • Converte movimento de “select-and-drag” do ponteiro em rotação em torno do

Cylinder. Sensor • 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. Alberto Raposo – PUC-Rio

Sphere. Sensor • Converte movimento de “select-anddrag” do ponteiro em rotação 3 D em

Sphere. Sensor • Converte movimento de “select-anddrag” do ponteiro em rotação 3 D em torno da origem. – Quando usado “roteado” no campo rotation de um Transform, pode ser usado para “girar” objetos filhos do Transform. Alberto Raposo – PUC-Rio

Outros sensores • Key. Sensor – Detecta eventos de teclas • String. Sensor –

Outros sensores • Key. Sensor – Detecta eventos de teclas • String. Sensor – Pega strings (todos os caracteres até o usuário dar “Enter”) Alberto Raposo – PUC-Rio

VRML – Exemplo 1 (1) #VRML V 2. 0 utf 8 # Sensor da

VRML – Exemplo 1 (1) #VRML V 2. 0 utf 8 # Sensor da bola # 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 DEF STOUCH Touch. Sensor { } ] } Transform { translation 4 8 0 children [ Shape { geometry Box { size 2 2 2 } # caixa appearance Appearance { material Material { diffuse. Color 0 1 0 } } } Viewpoint { position 0 0 50 } # observador Group { children [ Transform { translation -4 8 0 children [ Shape { # bola geometry Sphere { radius 1. 5 } appearance Appearance { material Material { diffuse. Color. 73. 56 } } } Alberto Raposo – PUC-Rio # Sensor da caixa DEF BTOUCH Touch. Sensor { } ] } # Sensores de Tempo DEF XTIMERH Time. Sensor { cycle. Interval 2 } DEF XTIMERV Time. Sensor { cycle. Interval 2 }

VRML – Exemplo 1 (2) # Interpoladores length [7] max. Extent 20 } }

VRML – Exemplo 1 (2) # Interpoladores length [7] max. Extent 20 } } } ] } # Horizontal DEF ANIMAH Position. Interpolator { key [ 0, . 25, . 75, 1] key. Value [ 0 0 0, 8 0 0, 16 0 0, -8 0 0, 0 0 0 ]} # Vertical DEF ANIMAV Position. Interpolator { (…) } # Texto DEF SFORM Transform { children Shape { geometry Text { string [ “Virtual” ] font. Style Font. Style { style “BOLD” justify “MIDDLE” } Alberto Raposo – PUC-Rio # Bola ROUTE STOUCH. touch. Time TO XTIMERH. set_start. Time ROUTE XTIMERH. fraction_changed TO ANIMAH. set_fraction ROUTE ANIMAH. value_changed TO SFORM. set_translation # Caixa ROUTE BTOUCH. touch. Time TO XTIMERV. set_start. Time ROUTE XTIMERV. fraction_changed TO ANIMAV. set_fraction ROUTE ANIMAV. value_changed TO SFORM. set_translation

VRML – Exemplo 1 (3) Touch. Sensor (esfera) touch. Time. Sensor (XTIMERH) start. Time

VRML – Exemplo 1 (3) Touch. Sensor (esfera) touch. Time. Sensor (XTIMERH) start. Time fraction_changed Position. Interpolator (ANIMAH) value_changed set_fraction Texto translation Touch. Sensor (caixa) touch. Time. Sensor (XTIMERV) start. Time fraction_changed Alberto Raposo – PUC-Rio Position. Interpolator (ANIMAV) value_changed set_fraction

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

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

Princípios da Animação Tradicional • Artigo clássico de John Lasseter (presidente da Pixar e

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 3 D Computer Graphics, “ SIGGRAPH'87, pp. 35 -44. Alberto Raposo – PUC-Rio

Squash e stretch • Squash: achatar objeto ou personagem com seu próprio peso •

Squash e stretch • Squash: achatar objeto ou personagem com seu próprio peso • Stretch: aumenta senso de velocidade e enfatiza squash por contraste Alberto Raposo – PUC-Rio

Timing • Timing é afetado pelo peso: – Objeto leve move rápido – Objeto

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

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

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(wt+q 0))*e-kt Alberto Raposo – PUC-Rio MIT EECS 6. 837, Durand Cutler

CINEMÁTICA: Descrição de um movimento através de equações do tipo: deslocamento = f (tempo)

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

Ex. de Animação Cinemática: Pêndulo Simples Na figura: q : ângulo entre o pêndulo

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

A equação que descreve o modelo do pêndulo simples é: Trata-se de uma equação

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

Solução: onde: w = (g / l) 1 / 2 k = amplitude inicial

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

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

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

Um modelo dinâmico pode ser aplicado a uma animação de forma a termos uma

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

Exemplo: Amortecedor O modelo abaixo representa, simplificadamente o amortecedor: Fmola Fexterna Fatrito Fresultante =

Exemplo: Amortecedor O modelo abaixo representa, simplificadamente o amortecedor: Fmola Fexterna Fatrito Fresultante = Fexterna + Fmola + Fatrito Alberto Raposo – PUC-Rio

Fresultante = Fexterna + Fmola + Fatrito x é a posição do objeto em

Fresultante = Fexterna + Fmola + Fatrito 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 Fexterna é a força externa aplicada ao conjunto Alberto Raposo – PUC-Rio

O modelo descrito pode ser discretizado na forma: onde Dt equivale ao intervalo de

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

Logo: Finalmente: Alberto Raposo – PUC-Rio

Logo: Finalmente: Alberto Raposo – PUC-Rio

Modelos Articulados • Modelos Articulados: – Partes rígidas – Conectadas por juntas • Podem

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

Cinemática Direta • Descreve as posições das partes do corpo em função dos ângulos

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

DOF: Degree of Freedom (Graus de Liberdade) MIT EECS 6. 837, Durand Cutler Alberto

DOF: Degree of Freedom (Graus de Liberdade) MIT EECS 6. 837, Durand Cutler Alberto Raposo – PUC-Rio

Cinemática Direta Alberto Raposo – PUC-Rio

Cinemática Direta Alberto Raposo – PUC-Rio

Cinemática Inversa • Dada a posição da extremidade e uma posição final desejada, como

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 MIT EECS 6. 837, Durand Cutler Alberto Raposo – PUC-Rio vs

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

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

Cinemática Inversa Alberto Raposo – PUC-Rio

Cinemática Inversa Alberto Raposo – PUC-Rio

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

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

Outras formas de animação em VRML • EAI • Script Node Touch. Sensor usuário

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

Animação no POVRAY • Possui um relógio, usado como timer da animação • Pode-se

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

Captura de Movimentos MIT EECS 6. 837, Durand Cutler • Maior realismo: nuances, movimentos

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

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

Animação Comportamental • Personagens autônomos determinam suas próprias ações, pelo menos até certo ponto. Alberto Raposo – PUC-Rio http: //accad. osu. edu/~mlewis/Class/behavior. html

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

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

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

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

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

Animação de Roupas • Discretização • Equações físicas • Integração • Detecção de colisão Meyer et al. 2001 Alberto Raposo – PUC-Rio

Animação de roupas http: //www. cs. caltech. edu/~mmeyer/Research/Cloth/ 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

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 Alberto Raposo – PUC-Rio MIT EECS 6. 837, Durand Cutler Fedkiw et al. 2001 Enright et al. 2002

Animação de Cabelos http: //www-faculty. cs. uiuc. edu/~yyz/research/hair/ 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? MIT EECS 6. 837, Durand Cutler • A maior

Como são feitos os filmes? MIT EECS 6. 837, Durand Cutler • 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 3 D, os esqueletos e seus controles • Simulação física para movimentos secundários – Cabelos, roupas, líquidos, sistemas de partículas Maya tutorial Alberto Raposo – PUC-Rio

Stuart Little • Modelagem Alberto Raposo – PUC-Rio

Stuart Little • Modelagem Alberto Raposo – PUC-Rio

Stuart Little • Fluido Alberto Raposo – PUC-Rio

Stuart Little • Fluido Alberto Raposo – PUC-Rio

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

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

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

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

Stuart Little • Pelos Alberto Raposo – PUC-Rio

Stuart Little • Pelos Alberto Raposo – PUC-Rio

Stuart Little • Roupas Alberto Raposo – PUC-Rio

Stuart Little • Roupas Alberto Raposo – PUC-Rio

Números – Final Fantasy Alberto Raposo – PUC-Rio http: //www. arstechnica. com/wankerdesk/01 q 3/ff-interview-2.

Números – Final Fantasy Alberto Raposo – PUC-Rio http: //www. arstechnica. com/wankerdesk/01 q 3/ff-interview-2. html

Números – Final Fantasy • Personagens principais > 300. 000 polys • 3. 000

Números – Final Fantasy • Personagens principais > 300. 000 polys • 3. 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 Alberto Raposo – PUC-Rio

Final Fantasy • Software de renderização: Renderman (Pixar) • Modelagem: Maya • Cabelos –

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

Exemplo – Paul Debevec Alberto Raposo – PUC-Rio http: //www. debevec. org

Exemplo – Paul Debevec Alberto Raposo – PUC-Rio http: //www. debevec. org

Bibliografia Adicional • • • A. Watt, M. Watt. “Advanced Animation and Rendering Techniques”.

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. “ 3 D Graphics & Animation”. New Riders, 2002 Alberto Raposo – PUC-Rio