Computação Gráfica

Aula de laboratório 01 - Chave de boca

 

Valdemir Carrara

Programas: Pov e Moray

Aula anterior - Próxima aula

Download do material desta aula

 

            Nesta aula será visto a criação de objetos no Moray / Pov. Será também abordada a composição de objetos a partir de duas ou mais primitivas de objetos, seu posicionamento na cena e orientação no espaço. A cena a ser criada é uma chave-de-boca, uma ferramenta que pode ser composta a partir de cilindros, esferas e cubos.

 

 

            Existem poucos objetos já prontos disponíveis no Moray. Estes objetos são quase todos geométricos, como esfera (Sphere), cilindro (Cylinder), cone, toro (Torus), caixa (Box) e plano (Plane). Eles são encontrados na lingüeta “Create” (Criar), ou na barra de ferramentas, ou ainda no menu “Create”.

 

 

            É claro que a maior parte dos objetos do mundo real não são esféricos, nem cúbicos, tampouco cônicos. Porém, estes objetos podem ser aproximados por composições destas formas mais simples. Por exemplo, um lápis pode ser aproximado por um cilindro (o corpo do lápis) e um cone (a ponta). Um copo é um cilindro do qual foi retirado um outro, interno, com diâmetro menor. Quase todos os objetos podem, assim, ser formados por composições das formas geométricas simples. É isto que será visto nessa aula.

 

 

            A composição de objetos denomina-se CSG (“Constructive Solid Geometry). Um objeto CSG pode abrigar qualquer uma das formas simples ou ainda outro objeto CSG. Há quatro tipos de operações de combinação que os objetos CSG podem realizar: a adição ou união (Union), a subtração (Difference), a interseção (Intersection), e ainda a combinação (Merge). Na adição, dois ou mais objetos são combinados em um único (a ponta cônica com o corpo cilíndrico do lápis). Na subtração retiram-se de um objeto todos os outros objetos que se seguem (o cilindro interno do copo). Na operação de interseção, mantém-se apenas as partes que são comuns aos dois objetos, que devem se interceptar. A seleção da operação a ser realizada é conseguida selecionando-se o objeto CSG (lingüeta “Select”), depois deve-se selecionar “Modify” (modificar) e, finalmente, a caixa de seleção “Operation” em “CSG Parameters”. A operação de subtração é a única na qual a ordem dos objetos altera o resultado. Caso seja necessário, pode-se alterar esta ordem com o botão “Cycle Order”. O botão “Evaluate” realiza a operação nos objetos e apresenta o resultado nas janelas do Moray.

 


            O primeiro passo para compor um objeto CSG é decompor a sua geometria em elementos mais simples. No caso, uma chave de boca é formada pela boca e pelo cabo. A boca pode ser vista como um cilindro achatado no qual foi feito um rasgo para encaixe na porca. O cabo possui um formato que se assemelha a um paralelepípedo (um prisma retangular). Ao contrário de usar um cilindro para fazer a boca, será usada uma esfera, para deixar a chave um pouco mais arredondada. A esfera será cortada, deixando uma fatia central com formato cilíndrico, mas com lados ligeiramente arredondados. Serão utilizados dois planos para efetuar este corte na esfera. O rasgo será feito mediante a retirada de blocos retangulares (cubos) por meios de subtrações. A chave será constituída de 3 partes: a primeira boca (boca_1) a segunda (boca_2) e o cabo (cabo).

 

No editor de objetos do Moray, deve-se criar a esfera e efetuar um recorte com dois planos:

 

·        Criar:

·        uma esfera

·        um plano com

·        translação de 0.3 em z

·        um plano com

·        rotação de 180 em x

·        translação de -0.3 em z

·        um objeto CSG

·        inserir (botão Add) a esfera e os dois planos no objeto CSG

·        selecionar interseção

 

Em seguida, subtrai-se da esfera 3 cubos que vão compor o rasgo para a porca:

 

·        Criar:

·        um cubo com

·        escala de 0.6, 0.5, 0.4

·        translação de 0.4 em x

·        um cubo

·        escala de 0.3 0.3 0.4

·        rotação de 60 em z

·        translação de -0.1, -0.1, 0

·        reproduzir o último cubo (copiar e inserir). Modificar este cubo com

·        rotação de -60 em z

·        translação de 0.1 em y

·        um objeto CSG com nome boca_1

·        inserir o objeto CSG anterior, inserir os 3 cubos

·        selecionar diferença, e “Evaluate” 

 

Neste ponto, o objeto deve ser semelhante à figura mostrada abaixo. A segunda boca é criada a partir da primeira, e depois ela é posicionada e orientada na outra extremidade da chave:

 

·        selecionar o objeto boca_1, copiá-lo e duplicá-lo com o nome boca_2

·        rotação de 150 em z

·        translação de -6.5 em x

 

 

 

 

            O cabo será criado pela composição de um cilindro recortado por dois planos:

 

·        Criar:

·        um cilindro com

·        escala 0.4, 0.4, 5.0

·        rotação 90 em y

·        translação -0.7 em x

·        um plano com

·        translação de 0.2 em z

·        um plano com

·        rotação de 180 em x

·        translação de -0.2 em z

·        um objeto CSG 

·        inserir o cilindro e os dois planos

·        selecionar interseção (e “Evaluate”)

 

Será feito agora um rebaixo no cabo, no qual será inserido um texto (logomarca) qualquer. O rebaixo será criado subtraindo-se uma caixa do cabo e depois inserindo-se um objeto do tipo texto:

 

·        Criar:

·        um cubo com

·        escala 2.0, 0.25, 0.04

·        translação de -3.3, 0.0, 0.2

·        um objeto CSG

·        inserir objeto CSG do cilindro e o último cubo

·        selecionar diferença

 

·        Criar:

·        um texto (Text) com

·        escala 0.6, 0.4, 0.1

·        translação de -4.2, -0.15, 0.1

·        modificar o texto (caixa de texto “Text:”) para: Belzer

·        selecionar fonte: Arial Rounded MT bold

·        um objeto CSG com nome "cabo"

·        inserir último objeto CSG e o texto

·        selecionar união (e “Evaluate”)

 

A chave está completa e para visualizá-la por inteiro deve-se mover e ajustar a câmera. Para isso seleciona-se o objeto câmera (ver Aula de Laboratório 00), com os controles de Zoom, e Pan. Caso seja necessário, pode-se também posicionar a câmera com a translação nas vistas Top, Front e Side. A figura abaixo mostra o resultado após ajustes de posição da câmera. A posição da câmera (Position) e o ponto de observação (Look At) podem ser ajustados para com os valores mostrados nesta figura.

 

 

            O próximo passo consiste em criar um objeto único a partir das 3 partes que constituem a chave. Desta forma, se for necessário mover ou girar a chave não será necessário aplicar a transformação em cada uma das partes. Assim, deve-se:

 

·        Criar:

·        um objeto CSG com nome "chave"

·        inserir os objetos boca_1, boca_2 e cabo

·        selecionar união (e “Evaluate”)

·        rotação de -20, 20, 0

 

Neste ponto a chave já está pronta. Veja que objetos CSG podem ser escalonados, rotacionados e transladados. Porém, é necessário que todos os objetos que formam a composição sejam incluídos nela antes. Será agora efetuado um ajuste na câmara, nas luzes e será criado um plano com textura de madeira para servir de fundo para a cena.

 

·        Selecionar:

·        Camera01 (obs: se não houver Camera01, então criar uma câmara)

·        posição (Position) de -8, -8, 6

·        apontamento (Look At) de -3.2, 0, -1.4

·        ângulo de abertura (Field Of View) de 40

 

·        Criar:

·        Spotlight (Spot) - Obs: ao criar o Spot, o Moray automaticamente cria uma SpotCam  que não será utilizada. Pode-se apagar esta câmara.

·        translação de -3.3, 0, 10

·        ajustar o Falloff para 45 (isto aumenta a abertura do spotlight)

·        ajustar o raio (Radius) para 7.5

 

·        Selecionar:

·        a luz light001 (obs: se não houver uma light001 então criar uma luz pontual “Point”)

·        translação 8, -8, 10

 

·        Criar:

·        um plano com nome “piso” e com

·        translação de -4 em z

 

A edição dos objetos está completa, e pode ser vista na figura seguinte. Deve-se agora salvar em disco o trabalho já feito, com o nome chave_de_boca. O próximo passo é atribuir materiais para os objetos criados. O material da chave-de-boca será criado, enquanto que os demais serão obtidos da biblioteca do Moray e serão modificados.

 

 

Pode-se acessar o editor de materiais (“Material Editor”) do Moray por meio do menu Tools / Material Editor, ou então na barra de ferramentas, no ícone com 4 esferas coloridas (mostrado abaixo) ou ainda com a tecla F8.

 


No editor de materiais do Moray:

 

·        Criar

·        uma textura normal (menu: Material / Create: Standard Texture) com nome mat_chave

·        adicionar pigmento (Add / Pigment): o pigmento dá cor ao material

·        adicionar cor sólida (Add / solid color)

·        ajustar a luminosidade (Lum) para 0.9 (cinza claro)

·        selecionar a textura normal (standard texture) e adicionar uma normal: a normal simula pequenas ondulações irregulares na superfície, como se fosse, por exemplo, uma casca de laranja.

·        adicionar uma textura de normais (normal noise pattern) e mudar o tipo (Pattern Type) para “spotted”: há vários outros tipos de normais, que produzem aparências diferentes.

·        ajustar a profundidade (Bump depth) em 0.02: a profundidade ajusta a intensidade dos caroços simulados pela normal.

·        selecionar a normal e adicionar uma transformação (transformation): estas transformações permitem ajustar a escala, a orientação e a translação no padrão de normais

·        ajustar a escala para 0.02, 0.02, 0.02

·        selecionar a textura normal e adicionar acabamento (finish): o acabamento permite ajustar a aparência do material, como o grau de reflexão, o brilho, a opacidade, etc.

·        ajustar a reflexão ambiente (Ambient) em 0.3: a reflexão ambiente faz com que o objeto possa ser visto mesmo quando não incide luz diretamente nele; valores altos fazem com que o objeto pareça estar emitindo luz.

·        ajustar a reflexão difusa (Diffuse) em 0.6: a reflexão difusa ajusta o nível de cor do objeto: valores baixos deixam o objeto negro e valores altos fazem com que a cor se aproxime da cor sólida (ver acima).

·        ajustar a brilhança (Brilliance) em 2: objetos metálicos (como a chave de boca) não seguem a lei de Lambert. Em objetos não metálicos o coeficiente da brilhança deve ser 1.

·        ajustar o brilho especular (Specular) em 0.2

·        ajustar a rugosidade (roughness) em 0.02: o brilho especular e a rugosidade fazem com que o objeto apresente um brilho referente ao reflexo da luz na superfície. Quanto maior o valor numérico, maior será a intensidade do reflexo. Quanto maior o valor da rugosidade, mais espalhado será o reflexo na superfície.

·        ativar a reflexão (Reflection): a reflexão faz com que o material passe a refletir como se fosse um espelho (reflete os outros objetos ao redor dele). O coeficiente de reflexão (ou então os valores min e max) ajusta a quantidade de reflexo produzida pela superfície. O valor min refere-se a reflexão normal à superfície, e o valor max refere-se a uma incidência razante.

·        ajustar o coeficiente de reflexão especular em 0.2 (ou ambos os valores: min e max).

 

O botão Preview gera uma cena no Pov com o material criado aplicado a um objeto qualquer. A figura abaixo ilustra o ajuste de acabamento (“finish”).

 

 

·        Ainda no editor de materiais, acionar a biblioteca de materiais (botão Library)

·        Selecionar texturas de madeira (Wooden-Textures), ou então abrir (botão pasta aberta) a biblioteca Wooden-Textures. Se estiver usando a versão Moray 3.5, deve-se abrir a pasta do lado direito, e selecionar a primeira opção: “Textures in chave_de_boca.mdl”.

·        Selecionar a textura T_Wood19 (lado esquerdo)

·        Copiar a textura para o editor de materiais (botão Copy to Editor, ou Copy Material na versão 3.5).

·        Fechar a biblioteca

 

·        Selecionar material T_Wood19

·        inserir uma transformação (transformation) com

·        escala 10, 10, 10

·        rotação de 75 em y

·        selecionar a primeira camada de textura (layered texture - txt_6)

·        inserir um acabamento (finish)

·        modificar a reflexão ambiente para 0.2

·        modificar a reflexão difusa para 0.6

 

Deve-se agora estabelecer uma ligação entre os objetos e seus materiais. Pode-se agora atribuir os materiais aos objetos criados. O Moray oferece diversas formas diferentes para fazer esta atribuição. Pode-se utilizar o Material Assigner (no menu Tools), ou os botões Assign Material e Material Editor do campo Material, Color, Visibility que ficam no campo Modify de cada objeto, ou ainda pelo Material Editor. Será utilizado este último. Após fechar a janela do Material Editor, deve-se:

 

·        Selecionar o objeto "chave", abrir o Material Editor, selecionar o material Mat_chave e acionar o botão Assign de atribuição. Fechar o Material Editor.

·        Selecionar o objeto "piso", abrir o editor de materiais, selecionar o material T_Wood19, e atribuir o material ao objeto. Fechar o editor de materiais.

 

Toda a cena está pronta, e deve ser salva novamente. Agora basta acionar o processo de elaboração da imagem, com o botão Raytrace ou então pelo menu Render / Raytrace. Pode-se alterar as características da imagem gerada no menu Render / Render Options. A imagem gerada deve ser semelhante à mostrada na figura abaixo.

 

Obs: Caso ocorra problema com a restituição da cena pelo Pov, verifique se existe o fonte utilizado no objeto texto. Verifique também se não foi utilizado algum caractere da língua portuguesa, como acentos e cedilhas. O Pov ainda não aceita estes caracteres.

 

 

Esta chave-de-boca teve seu formato simplificado para servir como exemplo de montagem de uma cena e da utilização de objetos compostos. Com um pouco mais de dedicação e trabalho, a chave pode ficar como a que é mostrada a seguir

 

 

Aula anterior - Próxima aula

Download do material desta aula