Ptex e outras ferramentas para modelagem de animação Savyo Nóbrega (savyo@dsc.ufcg.edu.br)
Agenda Motivação Conceitos Gerais Modelagem Matemática Mapeamento de texturas Softwares e ferramentas para modelagem de animação Ptex 3D Studio Max Maya Considerações Finais 2
Motivação Crescimento do mercado de animação digital Presença constante no cinema Tecnologia 3D AnimaMundi: Festival Internacional de animação do Brasil 3
Motivação Se você estiver trabalhando com um objeto e deseja aumentar o realismo, bem como adicionar detalhes a uma superfície, como isso poderá ser feito? Modelagem Modelagem + sombreamento Modelagem + sombreamento + textura 4
Conceitos Gerais Animação Animação digital: criação de imagens em movimento usando o computador; Processo a partir do qual cada fotograma de um filme é produzido individualmente. Textura Mapeamento de textura: dá a imagem um aspecto mais complexo/realista sem a necessidade de usar modelos matemáticos complexos; Imagem que será aplicada a uma superfície formada por texels. 5
Modelagem Matemática Mapeamento de texturas
Modelagem Matemática Uso de métodos matemáticos e computacionais na busca de soluções para problemas nas mais diversas áreas do conhecimento; Processo de representação de determinado objeto ou sistema real a partir de correlações matemáticas (com suposições simplificadas em maior ou menor grau) para posterior implementação computacional, visando a aplicação na prática. 7
Mapeamento de texturas Qual ponto da textura será utilizado em um determinado ponto de uma superfície? Textura imagem cujos pontos são parametrizados num sistema de coordenadas 2D (x,y) y x 8
Mapeamento de texturas Para se mapear uma textura na superfície de um objeto, utiliza-se uma função paramétrica que mapeia pontos (x,y) quaisquer nas coordenadas da textura (s,t) Imagem de textura Esfera 9
Mapeamento de texturas Função paramétrica de mapeamento Dada a posição de textura (s, t), qual é posição (x, y, z) sobre a superfície? Aparentemente, existem 3 funções:» x = X(s,t)» y = Y(s,t)» z = Z(s,t) Assim, existem 2 sistemas de coordenadas envolvidos nesse processo: o de coordenadas da textura (s,t) e o de parametrização (u,v), atribuído ao objeto 3D. 10
Mapeamento de texturas Como definir os pontos de parametrização (u,v)? Definindo as coordenadas manualmente Define as coordenadas de textura para cada vértice Computando as coordenadas automaticamente Utiliza um algoritmo que define tais coordenadas 11
Mapeamento de texturas Polígonos Definir as coordenadas (u,v) dos vértices do polígono; Fazer uma interpolação no polígono, no momento da verificação, para converter no espaço de tela. 12
Mapeamento de texturas Em resumo: Textura (s,t) Parametrização Objeto 3D (x,y,z) Projeção Display (m,n) 13
Mapeamento de texturas OpenGL 14
Mapeamento de texturas OpenGL Permite a construção da correspondência entre a textura 2D e o polígono 3D, a partir do uso da função gltexcoord2f antes da definição do ponto 3D. gltexcoord2f(0.0f, 0.0f); glvertex3f(1.0f, -1.0f, 1.0f); 15
Mapeamento de texturas OpenGL - Aplicação // Define a textura corrente glbindtexture ( GL_TEXTURE_2D, texture_id[0] ); // associa cada vértice do polígono a um ponto da textura gltexcoord2f(1.0f, 0.0f); glvertex3f( 1.0f, -1.0f, -1.0f); gltexcoord2f(1.0f, 1.0f); glvertex3f( 1.0f, 1.0f, -1.0f); gltexcoord2f(0.0f, 1.0f); glvertex3f( 1.0f, 1.0f, 1.0f); gltexcoord2f(0.0f, 0.0f); glvertex3f( 1.0f, -1.0f, 1.0f); 16
Softwares e ferramentas para Ptex 3D Studio Max Maya
Ptex Sistema para mapeamento de texturas criado pela Walt Disney Animation Studios para renderização de produção e qualidade; Atualmente, a Walt Disney Animation Studios liberou a licença ao uso do Ptex, com disponibilidade para download e visualização do seu código-fonte; Mais informações em: http://ptex.us/ 18
Ptex Texturas 19
Ptex Não existe mapeamento UV A técnica é baseada no mapeamento individual de cada face do modelo 3D, que é posteriormente agrupada em áreas delimitadoras de superfícies; Com isso, é possível armazenar um arquivo em separado para as texturas, sem a necessidade de nenhum tipo de intervenção ou configuração manual; Vídeo: http://www.youtube.com/watch?v=gxnlalouqqq 20
Ptex Dimensionamento da textura 1 arquivo Ptex 212.536 faces 4x4 texels por face 3.4 milhões de texels 21
Ptex Filtros 22
Ptex O 3D-Coat 3.2.04 é um dos principais softwares que utiliza o Ptex Vídeo: http://www.youtube.com/ watch?v=1m05yaao1j4 23
Ptex Exemplo de código 24
Ptex Comparativo 1024x1024 pixels Per-patch textures Ptex CPU seconds 171 141 # I/O calls 18,581,058 9,209 20x20 pixels Per-patch textures Ptex CPU seconds 27 2 # I/O calls 4,218,733 84 25
Ptex Curiosidade! O Ptex foi usado para fazer as texturas da animação Bolt da Walt Disney Animation Studios. 26
3D Studio Max Programa para modelagem tridimensional que faz renderizações de imagens e animações; É considerado um dos principais softwares proprietários para geração de animação digital tridimensional Criar personagens animados, vinhetas e chamadas para televisão e muito mais; motion capture: fazer a projeção de movimento por meio da transposição deste num modelo digital; Suporte a plugins que permitem animações fisicamente realistas simulando gravidade, colisões, explosões, vento, propulsões, forças rotativas,... 27
3D Studio Max 28
Maya Programa para modelagem 3D, animação e efeitos especiais desenvolvido pela Alias utilizado na indústria do cinema e da televisão, tal como no desenvolvimento de jogos de computador e de consoles; O software ajudou a desenvolver os gráficos e animações do filme Avatar (2009); Avatar would not be possible, but for Autodesk. It made the impossible, possible and for that, James Cameron and I are eternally grateful Jon Landau, produtor de Avatar 29
Maya 30
3D Studio Max & Maya Comparativo http://www.youtube.com/watch?v=rexiipvo7li 31
Considerações Finais Percebe-se a importância do mapeamento de texturas no processo de desenvolvimento de uma animação digital; Facilidade do uso do Ptex por ser open-source; Variedade de funções que são oferecidas pelas ferramentas para dá mais opção e liberdade a quem vai utilizá-las. 32
Referências Bibliográficas AZEVEDO, Eduardo. Computação Gráfica Teoria e Prática. Editora Campus Rio de Janeiro: Elvieser, 2003; CALIFE, Daniel; COIMBRA, Wagner Augusto Pires; TOSCANO, Wagner. Engines Gráficos 3D. Escola Politécnica - Universidade de São Paulo (USP). São Paulo, Brasil; http://ptex.us/. Último acesso: 19/05/2010; http://www.entremaqueros.com/bitacoras/dimension/. Último acesso: 18/05/2010; http://www.catho.com.br/. Último acesso: 18/05/2010; http://usa.autodesk.com/. Último acesso: 18/05/2010. 33
Dúvidas? 34
Obrigado! Ptex e outras ferramentas para Savyo Nóbrega (savyo@dsc.ufcg.edu.br)