Escolar Documentos
Profissional Documentos
Cultura Documentos
Teoria I
1. Computao Grfica em 3D ............................................................ 2
1. Introduo .................................................................................... 2
1. Exerccios ................................................................................... 2
2. Produo ....................................................................................... 2
1. Exerccios ................................................................................... 3
3. Passos essenciais ........................................................................... 3
4. Resultado final ............................................................................... 4
1. Tipos de renderizao................................................................... 4
2. Compositing................................................................................ 4
3. Ps-produo .............................................................................. 4
4. Exerccios ................................................................................... 4
2. Fundamentos ................................................................................. 5
1. Espaos, sistema de coordenadas ..................................................... 5
1. 1D ............................................................................................. 5
1. Distncia entre 2 pontos ............................................................ 6
2. Diviso .................................................................................... 6
3. Exerccios ................................................................................ 6
2. 2D ............................................................................................. 6
1. Origem na tela ......................................................................... 7
2. Distncia entre 2 pontos ............................................................ 8
3. Diviso .................................................................................... 8
4. Ordem dos eixos ....................................................................... 8
5. Exerccios ................................................................................ 9
3. 3D ............................................................................................. 9
1. Ordem dos eixos ..................................................................... 10
2. z para cima ou y para cima? ..................................................... 10
3. Distncia entre 2 pontos .......................................................... 11
4. Diviso .................................................................................. 11
5. Exerccios .............................................................................. 11
2. Cenas, objetos ............................................................................. 12
1. Cenas, arquivos de dados, projetos .............................................. 12
1. Exerccios .............................................................................. 12
2. Objetos .................................................................................... 13
3. Localizao dos objetos na cena .................................................. 14
3. Transformaes............................................................................ 14
1. Ponto central da transformao ................................................... 15
2. Eixo da transformao................................................................ 15
3. Transformaes da vista 3D ........................................................ 16
1. Perspectiva ............................................................................ 16
Alpha Channel - 1 Escola Profissionalizante de Computao Grfica do Brasil
Todos os direitos reservados.
http://alphachannel.com.br
2. Ortogrfica............................................................................. 17
4. Exerccios ................................................................................. 18
4. Organizao e hierarquias ............................................................. 18
1. Evitando o caos: organizao ...................................................... 18
1. Grupos .................................................................................. 18
2. Camadas ............................................................................... 19
2. Dando estrutura: hierarquias....................................................... 19
3. Exerccios ................................................................................. 20
5. Sistemas de coordenadas global, local... .......................................... 20
1. Sistema global .......................................................................... 20
2. Sistema local ............................................................................ 20
3. Hierarquias de sistemas.............................................................. 22
4. Exerccios ................................................................................. 23
Computao Grfica em 3D
Introduo
Sejam bem-vindos ao curso livre de Produo 3D!
Este curso tem dois objetivos principais:
1. Servir de introduo ao mundo da Computao Grfica (CG).
2. Ensinar a produzir contedo de CG com uma suite grfica poderosa e atual,
reconhecidamente uma das principais aplicaes do mercado de CG em 3D no
mundo todo.
A computao grfica vem se desenvolvendo de maneira cada vez mais acelerada h
dcadas e se tornou uma rea vasta, repleta de frentes de pesquisa e aplicaes, que
promete muitas oportunidades aos que escolherem se dedicar a um ou mais de seus
ramos.
Parte dessas oportunidades se encontra na tecnologia de ponta dentro de centros de
pesquisa e indstrias diversas. Mas a outra, igualmente importante, est bem aqui ao
nosso alcance, a partir dos nossos computadores pessoais.
Com um programa grfico poderoso como o que usamos neste curso, um computador
capaz de atender os requisitos mnimos, bom treinamento e bastante dedicao,
podemos abrir muitas portas no mundo interligado e apaixonado por tecnologia em que
vivemos.
Exerccios
1. Citar usos da computao grfica: campos de pesquisa e trabalho, usos no lazer.
2. Descobrir os requisitos mnimos de sistema exigidos pelo software deste curso.
3. Descobrir fruns nacionais (e, se quiser, estrangeiros) de usurios do software
deste curso.
Produo
CG em 3D pode ser realizada de diversas maneiras. Eis um resumo:
Programadores criativos podem gerar imagens e animaes diretamente a partir
de instrues em alguma linguagem de programao.
Exerccios
1. Encontrar imagens ou trailers de animaes feitas com CG em 3D (filmes que
passaram nos cinemas, por exemplo) de anos diferentes que ilustrem como tem
sido marcante a evoluo em grficos.
2. Encontrar imagens ou trailers de jogos eletrnicos em 3D (para computadores,
videogames, celulares, o que vocs quiserem) de anos diferentes que ilustrem
como tem sido rpida a evoluo em grficos.
Passos essenciais
Mas como se trabalha com CG em 3D? Simplificando, o caminho tradicional para se
partir de uma ideia e se chegar a uma imagem ou animao em 3D no computador :
1. Criar a cena com os modelos em um programa de modelagem 3D.
2. Definir as superfcies desses modelos usando materiais diversos nesse mesmo
programa ou em outro.
3. Para animaes: preparar nossos modelos com recursos especficos para serem
animados e animar a cena num programa de animao.
4. Definir fontes de luz para iluminar a cena (no necessariamente depois dos dois
passos anteriores), geralmente no programa de modelagem ou no renderizador.
5. Definir ponto(s) a partir dos quais se v a cena, o que significa definir uma ou
mais "cmeras virtuais".
6. Renderizar -- ou seja, pedir a um programa chamado renderizador que use os
dados que criamos (modelos prontos com seus materiais, iluminao, cmeras)
e produza com eles as imagens ou sequncias de imagens (animaes) que
costumamos ver em telas de computadores, TV, cinema, celulares, etc.
Observaes:
1. Os passos 2, 4 e 5 acima so geralmente feitos no programa de modelagem ou
passados para o renderizador atravs de uma interface grfica de controle ou de
um arquivo de texto com instrues no formato compreendido por ele.
2. Como este um curso introdutrio, nos concentramos nos passos essenciais e
omitimos acima outros normalmente usados por profissionais em trabalhos mais
elaborados, como definio de efeitos especiais (partculas, fluidos, simulaes
fsicas), captura de movimentos, ps-produo, compositing, etc. Claro que isso
varia de acordo com as exigncias de cada trabalho.
Onde entra um programa como o que usamos neste curso na lista de passos acima?
Resposta: em todas as etapas e nas do item 2 das observaes, tambm. O software do
nosso curso um exemplo de "suite grfica", que junta diversas aplicaes avanadas
em um nico programa, capaz de ser usado como ferramenta para criar uma animao
desde o planejamento at o produto final.
Resultado final
Tipos de renderizao
Programas renderizadores costumam ser bastante flexveis quanto ao tipo de visual que
podemos buscar. Aqui esto algumas escolhas bastante populares para tipo de
renderizao:
1. Foto-realstica, que busca imitar o mundo real, criando imagens e animaes
capazes de nos fazer achar que as cenas foram fotografadas ou filmadas de
eventos reais.
2. Estilizada. Aqui as possibilidades so inmeras, inspiradas nos desenhos
animados tradicionais, em pinturas de diversos estilos, ilustraes, estilos de
diferentes partes do mundo, etc.
3. Outra possibilidade ao invs de renderizar os dados da cena como imagens ou
animaes "fixas" renderizar em tempo real dentro de alguma aplicao
interativa de realidade virtual, simulao ou jogo.
Como mencionado acima, aps toda a produo do contedo ainda existem passos
adicionais que podem ser aplicados. Essa etapas so conhecidas como "compositing" e
"ps-produo".
Compositing
Compositing significa juntar elementos (imagens, em nosso caso) de fontes diferentes e
combin-los como um s. Exemplos:
Chroma key: combinar gravaes de pessoas com fundos diversos gravados ou
gerados por computador, como se faz diariamente em programas de TV (nos
jornais, previso do tempo, propagandas, etc.) e filmes.
Inseres: colocar personagens virtuais em cenas reais, como monstros gigantes
em filmes.
Efeitos diversos, como sabres de luz, raios, auras, trilhas de partculas
brilhantes, exploses, etc. etc.
Ps-produo
uma etapa comum em cinema, TV, rdio, vdeos, udio, fotografia e arte digital. nela
que se pode:
Editar o contedo j renderizado para definir o que vai fazer parte do produto
final.
Integrar a trilha sonora e efeitos especiais diversos.
Acertar o formato final do filme (correes de cor, codecs, etc.), por exemplo, de
acordo com a mdia onde ele ser veiculado.
Exerccios
1. Conseguem pensar em mais possibilidades alm de renderizar para imagens,
animaes e aplicaes em tempo real? (Dica: papel...)
Fundamentos
Nota: o material destas sees pode ser bsico demais para muitos de vocs, mas
muito importante que o compreendam bem, por isso mesmo quem j aprendeu tudo isso
pode se beneficiar com uma pequena reviso focada no essencial que vamos precisar.
Diviso
Note que o ponto 0 (zero) fica no meio da reta real e a divide de maneira natural em
duas metades: esquerda do zero todos os valores so negativos e direita dele todos
so positivos.
Exerccios
1. Qual a distncia entre os pontos P = -100.3 e Q = 12?
2. O ponto P1 fica na coordenada 53. A distncia dele para P2 vale 20. Onde pode
estar P2 na reta? E P3, que tambm fica a 20 unidades de P1, mas no coincide
com P2? Qual a distncia entre P2 e P3?
2D
Mas e em um mundo bidimensional, como uma tela de TV ou monitor, uma mesa,
qualquer uma das paredes ao seu redor, uma folha de papel? Como representar a
posio de qualquer objeto colocado num plano?
A maneira mais simples usando duas retas reais, simplesmente extendendo o que
sabemos sobre espaos 1D. E o mais prtico coloc-las perpendiculares entre si: uma
na horizontal, outra na vertical, ambas se cruzando no ponto "zero" delas.
Com esse arranjo, conhecido como plano cartesiano, podemos definir a posio de
qualquer objeto com dois valores reais, um em cada um dos eixos do plano cartesiano
ou eixos cartesianos. Para isso basta projetarmos perpendicularmente o ponto sobre o
eixo horizontal, normalmente chamado de eixo x ou das "abscissas", e sobre o eixo
vertical, conhecido como y ou das "ordenadas". Nos pontos onde essas projees
cortarem os eixos x e y teremos as coordenadas que procuramos. Note na figura as
projees do ponto P indicando que suas coordenadas so (x, y) = (6.5, 5.3).
Quais objetos podemos representar num mundo plano? Muito mais que em uma reta,
com certeza. Todos ns temos bastante experincia com isso, a resposta : tudo que
vemos representado em superfcies bidimensionais (papis, paredes, telas, etc.).
Conseguimos inclusive a iluso de tridimensionalidade, por meio de projees 3D -> 2D,
usando a matemtica relacionada ao estudo de perspectiva visual. Em particular,
expandindo o exemplo unidimensional: se na reta podemos representar pontos e
segmentos de reta, no plano podemos representar figuras geomtrias bidimensionais,
como polgonos.
Um exemplo de programa de computador onde o sistema de coordenadas x-y
importante so os programas de desenho 2D, como os de bitmap, editores de imagens e
editores de grficos vetoriais.
Origem na tela
A conveno universal usar a letra x para representar o eixo horizontal e y para
representar o vertical. Mas a origem desse sistema de coordenadas x-y, ou seja, o ponto
(0, 0), pode variar dependendo do programa sendo usado. Alguns consideram que o
canto inferior esquerdo da tela a origem. Nesse caso o eixo y "cresce para cima":
quanto mais alto na tela, maior o valor da coordenada y. Em outras palavras, +y para
cima, +x para a direita. Outros programas podem considerar a origem como sendo o
canto superior esquerdo e a o eixo y "cresce para baixo": quanto mais baixo na tela,
Por ser o mais prtico a fazer, convencionou-se que imagens 2D possuem apenas
valores positivos, ficando a origem do sistema de coordenadas no canto esquerdo
inferior da imagem. Em outras palavras, as coordenadas de imagens nos programas de
desenho e edio 2D esto contidas no primeiro quadrante (Q1 na figura), onde x e y
so positivos.
Ordem dos eixos
Como escrito acima, a conveno universal que x repesenta o eixo horizontal e vai
para -infinito esquerda e +infinito direita. E que y vertical, -infinito para baixo e
+infinito para cima. Essa conveno chamada de "regra da mo direita", que costuma
ser ensinada em Fsica no colegial.
Exerccios
1. O que quer dizer o termo "perpendicular", mesmo? Poderamos representar as
coordenadas de pontos em 2D com eixos paralelos ao invs de perpendiculares?
E com eixos formando outros ngulos (ou seja, oblquos ou obtusos)?
2. Alm dos eixos X e Y, como poderamos representar coordenadas no plano?
Existem outros sistemas de coordenadas em 2D?
3. Em que quadrante fica o ponto P1, que equidista de P2 = (-39, -15) e P3 = (14,
-17) e est na reta que une P2 a P3?
4. Cite 5 exemplos de programas grficos 2D que trabalham com imagens
compostas por pixels (inclusive fotos digitais) e 5 exemplos de programas
grficos 2D que trabalham com grficos vetoriais.
Dica cultural: h um livro divertido chamado "Flatland: A Romance of Many
Dimensions", de Edwin Abbott Abbott, lanado em 1884. a histria de um personagem
de um mundo bidimensional que v em sonho um mundo unidimensional e depois
recebe a visita de um ser de um mundo tridimensional. Ele expande sua viso e faz
diversas anlises sobre as diferenas entre esses mundos, mas se complica com a
justia tentando convencer seus compatriotas sobre a existncia da terceira dimenso. A
histria serve de pano de fundo para crticas sociais e polticas.
3D
Da mesma maneira como descrevemos 2D a partir de 1D, adicionamos mais uma
dimenso para representar coordenadas em um espao tridimensional. Com mais um
eixo (mais uma reta real) passamos do plano com coordenadas x-y para o espao com
coordenadas x-y-z.
esse o sistema de coordenadas principal em aplicaes 3D, naturalmente. As setas nas
pontas dos eixos indicam a direo positiva, que vai para +infinito.
10
11
Cenas, objetos
Cenas, arquivos de dados, projetos
Em editores de texto (e diversos outros tipos de aplicaes), chamamos cada arquivo
que criamos de "documento", ou "arquivo", mesmo (em Ingls: "file"). Dizemos que o
arquivo tal contm o documento tal. Documento um termo geral que pode ser aplicado
a vrios outros tipos de programa. Mas em muitos deles o mais comum usarmos
termos especficos. Por exemplo, em programas grficos 2D o termo mais comum
"imagem".
Em programas de CG em 3D usados para modelagem e animao, o termo mais usual
no documento nem imagem: cena. Dizemos que um arquivo do software contm
determinada cena. Naturalmente isso foi inspirado nos filmes, j que esses programas
so usados para criar animaes inteiras e efeitos especiais e inseres diversas em
filmes.
Vamos voltar ao exemplo dos editores de texto. Achamos que, ao imprimir ou exportar o
texto para outro formato, o contedo todo dele estar l. Por isso a relao: um arquivo
de dados representa um documento no programa tal. Certo? No necessariamente. Um
arquivo de texto pode conter mais material do que o que normalmente aparece no
resultado final, como senha, permisses de uso, dados de quem criou o texto e
informaes sobre as modificaes feitas nele, para permitir desfaz-las.
Da mesma maneira, um arquivo de dados de um programa grfico 2D pode conter mais
do que a imagem que queremos exportar dele. Um bom programa 2D costuma ter
informaes extras diversas, como camadas, mscaras, filtros, lista de modificaes, etc.
Ento cada "documento" muito mais que sua imagem final. Por isso costuma-se
chamar o contedo desses arquivos de "projeto". Cada arquivo contm um projeto, que
pode conter um documento, uma imagem ou cena ou vrios ou diversos outros dados
relevantes.
Finalmente, um projeto pode estar espalhado em mais de um arquivo. Por exemplo,
podemos ter nossa cena principal em um arquivo, materiais em outro(s), cada
personagem em outro, etc. Nesse caso chamamos os diversos arquivos extras de
"biblioteca" (em Ingls: "library"), em possvel analogia com o uso desse termo por
programadores. As vantagens principais disso so:
1. Poder reaproveitar dados em mais de uma cena, diminuindo o trabalho
necessrio para cri-los.
2. Poder dividir a grande quantidade de dados em diversos arquivos e s trazer
para a memria do computador o que for necessrio.
3. Garantir que uma mudana em um arquivo da biblioteca seja propagada para
todos os outros de uma vez, sem termos que repetir a mesma mudana em cada
arquivo.
Resumindo: cada arquivo de dados do nosso programa 3D pode conter uma ou mais
cenas e ser independente ou estar ligado a outros arquivos de dados (uma biblioteca).
Para projetos maiores e para quem usa bastante um programa 3D, bibliotecas de dados
so essenciais.
Exerccios
Compare essas duas situaes:
12
Objetos
Textos contm caracteres, imagens contm pixels, cenas contm... objetos e dados
diversos (textos, imagens, sons).
Vamos nos concentrar no essencial. O que so esses "objetos"?
Como exemplo vamos imaginar uma cena em 3D que criamos para uma imagem,
animao ou jogo. Digamos que a cena represente dois mesatenistas praticando pinguepongue (s para irrit-los :-) ) em um salo de jogos.
Nossa cena tem:
Cenrio: a sala, com paredes, cho, teto.
Partes mveis do cenrio: portas, janelas.
Mveis em geral: a mesa de tnis, um armrio, uma mesa de canto, outros
aparelhos esportivos.
Objetos diversos: as raquetes e bolinhas, alguns psteres nas paredes, revistas
sobre algumas mesas.
Personagens: os dois jogadores.
Esses so nossos objetos, nossos modelos em 3D, que so renderizveis, ou seja, que
podemos renderizar.
Tudo pronto ento para renderizar uma imagem? No. Em programas 3D precisamos
pensar na cmera que vai "filmar" a cena e na iluminao. Cmeras e fontes de luz so
exemplos de objetos prontos no-renderizveis -- que no aparecem no resultado
final. Eles so "ferramentas" nossa disposio.
Assim, podemos dividir em dois tipos os objetos de uma cena qualquer:
1. Objetos renderizveis, que vo ser vistos na imagem, animao ou jogo
resultante da cena. Esses so os objetos que podemos criar a partir de
estruturas como meshes, NURBS, patches, metaballs, voxels, etc.
2. Objetos auxiliares, que no aparecem no resultado final: cmeras, fontes de luz,
marcadores, malhas de controle e diversos outros tipos de controle, etc.
Importante: em geral possvel usar objetos normalmente renderizveis como
13
controles e podemos "desligar" qualquer objeto renderizvel, fazendo com que seja
ignorado pelo programa renderizador.
Transformaes
As 3 operaes mais bsicas que podemos realizar com objetos no espao 3D so:
Translao: mudar a posio do objeto.
Rotao: mudar a direo dele.
Escala ou redimensionamento: mudar seu tamanho.
H diversas maneiras para se definir transformaes em um programa grfico 3D:
1. A mais natural editar diretamente, ativando o comando e movendo o mouse
at chegarmos ao efeito desejado. Podemos usar opes extras dessas
ferramentas para conseguir maior preciso ou restringir de alguma maneira as
modificaes.
2. Pode-se digitar valores diretamente na interface (em botes do tipo "slider" e
caixas para entrada de nmeros), para maior preciso. Isso ideal quando
sabemos exatamente os novos valores que desejamos aplicar.
3. Para os que no se intimidam com a matemtica envolvida, pode ser possvel
editar diretamente na interface os valores da matriz que transforma os objetos.
14
Eixo da transformao
Alm do ponto, temos tambm os eixos de uma transformao. Podemos realizar
transformaes livres, nos 3 eixos (x, y, z) ao mesmo tempo, ou restringi-las a apenas 1
Alpha Channel - 1 Escola Profissionalizante de Computao Grfica do Brasil
Todos os direitos reservados.
http://alphachannel.com.br
15
ou 2 deles.
Uma translao restrita ao eixo x s mover o objeto em relao a esse eixo, por
exemplo. Redimensionar um cilindro ao longo de seu eixo principal o deixar mais longo,
mas com o mesmo dimetro.
A imagem abaixo mostra, da esquerda para a direita, 1) o cilindro original, seguido de 3
cpias redimensionadas: 2) aumentado livremente (ou seja, igualmente em x, y e z), 3)
apenas em relao ao eixo z e 4) em relao aos eixos x e y:
Transformaes da vista 3D
Objetos no-renderizveis tambm podem ser transformados. Podemos mover, girar e
redimensionar cmeras e luzes, por exemplo, mudando suas posies na cena e a
maneira como afetam os demais objetos.
Mas alm disso esses objetos podem possuir recursos extras. No caso das cmeras, h
diversas funcionalidades especficas, inspiradas em cmeras reais, que podemos editar,
como as caractersticas de suas lentes.
Um recurso bastante comum em CG definir o tipo de projeo da cena em 3D para
uma imagem em 2D, como a que podemos ver nas telas e folhas de papel. As mais
comuns em CG so:
Perspectiva
Esta classe de projees representa de maneira mais realista a altura, largura e
profundidade da vista e dos objetos dentro dela. O estudo da perspectiva um dos mais
importantes e desenvolvidos ao longo da histria da Arte.
Principais caractersticas suportadas por essas projees:
Objetos mais distantes so reproduzidos em tamanho proporcionalmente menor.
"Foreshortening": iluso tica que faz os objetos parecerem menores do que so
quando so vistos ao longo da nossa linha de viso. Exemplo clssico: trilhos de
trem vistos por quem est de p sobre eles ou ao lado deles e olha para o
horizonte na direo em que eles seguem.
16
Ortogrfica
Tambm chamada de "ortogonal", porque nela a linha de viso ortogonal ao plano de
projeo. (Ortogonal aqui significa que elas formam ngulo de 90.)
Principais caractersticas:
Esse tipo de projeo preserva o "paralelismo" entre as linhas que formam um
modelo (veja a imagem abaixo e a explicao acima dela).
bastante popular em desenho tcnico e mecnico.
Na imagem a seguir temos, esquerda, um cubo com projeo em perspectiva e,
direita, o mesmo cubo com projeo ortogrfica. Note como na em perspectiva as linhas
paralelas do cubo no parecem mais paralelas. J na ortogrfica, as arestas que so
paralelas no objeto real em 3D continuam aparecendo paralelas nesta projeo 2D na
tela ou papel.
17
Exerccios
1. Alm das transformaes que vimos, existem outras, como inclinao (em
Ingls: "shear") e reflexo ("reflection"). O que elas fazem?
2. Um quadrado redimensionado em relao a apenas um de seus eixos vira o que?
E um cubo? Considere que os eixos esto alinhados com os lados do quadrado e
um dos cantos do cubo.
3. Encontre exemplos de vrios tipos de projeo: em perspectiva, ortogrfica,
perspectiva olho-de-peixe ("fisheye"), panormica, as usadas em domos, etc.
Organizao e hierarquias
Evitando o caos: organizao
Durante seu desenvolvimento, a complexidade de uma cena pode crescer rapidamente,
com dezenas, centenas e at milhares de objetos, materiais, texturas, controles, etc.
Manter organizado esse grande volume de dados imprescindvel.
No mundo real usamos gavetas, prateleiras, pastas, escrevemos ndices, separamos
arquivos em rvores de diretrios, usamos programas indexadores, entre outros meios
de organizar o que quer que precisemos.
Em programas grficos 3D tambm temos uma srie de recursos nossa disposio
para organizar os dados e facilitar nossas vidas. Os mais simples so grupos e camadas.
Grupos
normal em um arquivo agruparmos objetos segundo critrios como um ou mais
destes:
Tipo: agrupa-se objetos que so representaes de itens de funcionalidade
semelhante ou relacionada. Exemplos: modelos de brinquedos, de utenslios de
cozinha, ferramentas de jardinagem, objetos que usam determinados materiais
em comum, entre tantas outras possibilidades.
Conjunto: agrupa-se objetos que, juntos, formam algo maior, como partes de
um veculo ou mesa mais cadeiras mais objetos sobre a mesa, etc.
Critrios variados, a sua escolha.
conveniente poder dizer ao nosso programa grfico que determinados objetos fazem
parte de uma mesma coleo, selecionada e nomeada por ns. Podemos salv-los em
um mesmo arquivo e, ao importar, importar o grupo todo de uma vez com um s
comando.
E existem diversas outras vantagens nesse recurso de agrupar objetos, como:
Alguns programas possuem recursos para usar esse tipo de informao para
controlar quais objetos recebem iluminao de determinadas fontes de luz, por
exemplo.
"Instancing", ou seja, para fazer mltiplas cpias de um grupo de objetos na
cena, durante a renderizao. Exemplo: podemos criar umas poucas pedras ou
folhas de vegetao, coloc-las num mesmo grupo e o programa poder criar
centenas ou milhares de cpias -- idnticas ou com variaes -- desse grupo no
resultado final. Isso economiza nosso trabalho e a memria e processamento do
computador e ainda reduz o tamanho do arquivo de dados contendo nossa cena.
18
Camadas
Outra maneira de agrupar objetos o recurso das camadas (em Ingls: "layers").
Camadas so como caixas invisveis onde podemos guardar objetos isolados ou em
grupos.
Podemos facilmente desabilitar uma ou mais camadas, tornando de uma vez todo o seu
contedo invisvel na tela ou na renderizao final, ou impossvel de ser selecionado ou
editado. Isso ajuda bastante quando queremos nos concentrar apenas em uma parte da
cena, sem que o resto dos objetos atrapalhe nossa viso, o ato de selecionar ou o tempo
de renderizao de nossos testes.
comum organizar cenas separando cmeras, luzes e cenrio em uma ou mais
camadas, isoladas das camadas onde esto personagens. Tambm boa ideia isolar
controles de efeitos especiais e de animao de personagens em camadas distintas dos
modelos.
O conceito de camadas tambm costuma ser usado em situaes mais especficas, como
esqueletos de animao e "render layers", camadas de renderizao. Com isso
organizamos melhor os ossos e controles de um esqueleto de animao, no primeiro
caso, e ganhamos flexibilidade e muitas possibilidades interessantes para compor as
imagens renderizadas com efeitos diversos.
19
Exerccios
1. Programas grficos 2D, como Gimp e Adobe Photoshop, tambm possuem um
recurso chamado de camadas ("layers"). Explique do que se trata. Podemos
fazer a analogia: camadas em programas de modelagem em 3D guardam
objetos e camadas em programas de edio de bitmaps em 2D guardam pixels?
2. Imagine uma cena razoavelmente complexa, com diversas classes de objetos.
Descreva o que ela conteria e explique que critrio usaria para definir grupos e
hierarquias desses objetos. Pensando tambm na iluminao e na cmera da
cena, explique como dividiria todos os objetos em camadas?
Sistema local
Relembrando: cada objeto possui um ponto central, que podemos colocar em qualquer
lugar, mesmo fora do prprio objeto.
Nesse ponto central tambm podemos definir um sistema de eixos x, y, z local, do
objeto. A partir desse sistema de coordenadas local podemos dar coordenadas locais a
todos os vrtices do objeto. Essas coordenadas em geral so bem mais prticas para se
trabalhar durante a modelagem.
Notem a imagem abaixo, ela ilustra a relao entre sistemas de coordenadas global e
local. Temos os eixos globais, do sistema de coordenadas global da nossa cena e, com
origem no ponto central da esfera amarela, o sistema de coordenadas local dela. Aqui
ambos os sistemas esto alinhados, mas isso no necessrio, o sistema local pode ser
transformado independentemente do global. Poderamos, por exemplo, ter o eixo z local
da esfera apontando para baixo ou para o eixo x global ou qualquer outra direo.
20
O resultado das transformaes que aplicamos aos objetos depende do sistema que
estamos usando, claro. Uma rotao local na esfera resulta em algo bem diferente de
uma rotao global, como vimos nas imagens da seo sobre "Ponto da transformao".
Vamos analizar aquele exemplo de novo:
Na primeira imagem, temos uma rotao em relao origem do sistema de
coordenadas local do retngulo preto.
21
Hierarquias de sistemas
A situao fica mais interessante ainda quando temos hierarquias. A teremos
coordenadas globais, coordenadas locais do objeto pai, coordenadas locais do objeto
filho. Uma transformao local do pai transforma junto o filho, como vimos, e isso ocorre
em relao ao sistema de coordenadas do pai.
Como exemplo, na imagem abaixo temos uma hierarquia de "ossos de animao", um
recurso tradicional de programas de animao 3D. O primeiro "osso" esquerda a raiz
da hierarquia -- todos os outros so "descendentes" dele. O osso do meio filho do da
esquerda e pai do osso da direita. Nesta primeira imagem, repare nos eixos x-y-z nas
pontas dos 3 ossos, indicando seus respectivos sistemas locais de coordenadas.
Na sequncia, vemos na imagem abaixo que foram aplicadas transformaes aos ossos e
suas posies e orientaes mudaram. Seus eixos deixam claro que seus sistemas locais
de coordenadas mudaram junto, repare como eles no esto mais alinhados (assim
como os ossos no esto).
A rotao do osso da esquerda, que a raz da hierarquia, afetou tambm seu filho e
neto. E a posterior rotao do osso do meio afetou ambos, ele e o filho dele. Importante
lembrar: transformaes no sistema de coordenadas local do pai afetam seus filhos,
Alpha Channel - 1 Escola Profissionalizante de Computao Grfica do Brasil
Todos os direitos reservados.
http://alphachannel.com.br
22
netos, etc. etc. Mas transformaes locais dos filhos no afetam seus pais, avs, etc.
Mais exemplos para ajudar a entender transformaes em hierarquias:
1. Pensem em um barco vela onde tornamos o mastro "filho" do casco do barco.
Quando o barco se move, o mastro segue junto, como deveria. Se o barco virar
para os lados, o mastro vira junto, de acordo com o centro de rotao do barco.
2. Nossos braos. Considerem o brao como pai do antebrao, por sua vez pai da
mo. Como mencionamos, quando o brao gira na altura do ombro, seu filho o
antebrao gira tambm, em relao ao mesmo ponto (o centro do sistema de
coordenadas local do pai). E a mo gira junto, tambm em relao ao mesmo
ponto. Se o antebrao tambm girar independentemente nesse movimento, isso
no afetar seu pai, o brao, mas sua filha, a mo, ter a rotao combinada: a
do brao (pai do antebrao), em relao ao sistema local dele e a do antebrao
(pai da mo), em relao ao sistema local dele. Faam os movimentos com um
de seus braos e isso deve ficar mais claro.
Exerccios
1. Temos uma esfera de raio 1 localizada sobre o eixo x nas coordenadas (10, 0,
0). Essa a posio do centro da esfera. Quais as coordenadas (x, y, z) globais
do ponto na superfcie dela mais distante da origem? E quais as coordenadas (x,
y, z) locais desse ponto em relao ao centro da esfera?
2. Repita o exerccio anterior considerando agora o ponto central da esfera
localizado no em seu centro, mas em sua superfcie, no ponto mais prximo da
origem do sistema de coordenadas global.
23