Terceira Fase - sososilvei/Trabalho-CG GitHub Wiki
Objetivo
A terceira fase do projeto consiste na visualização de quatro objetos diferentes, ou seja, dois objetos a mais do que a fase anterior. Além disso, essa fase deverá envolver uma câmera em pelo menos duas posições diferentes (na fase anteror tinha-se a câmera em apenas uma posição), podendo ser alternada por uma tecla específica ou pelo mouse. Também será efetuada a implementação de uma curva na cena, seja no próprio objeto ou em um movimento do objeto. Devem ser utilizados shaders próprios, com tonalização Phong vista em sala de aula.
Implementação
Além dos objetos apresentados na fase anterior, a espaçonave e o astronauta, foram inseridos mais cinco objetos. O primeiro deles foi o objeto Terra, que antes era apenas uma esfera, criada com o método SphereGeometry()
da biblioteca Three.js, com textura. Outro novo objeto escolhido foi a Lua, e os três restantes foram 3 novas espaçonaves, mantendo o tema espacial.
A primeira câmera está posicionada de forma a mostrar os objetos de frente, com o continente americano aparecendo na Terra, como pode ser observado na primeira imagem apresentada na seção "Resultados". Já a segunda câmera está posicionada de forma que apresenta os objetos vistos de cima, permitindo um visualização do Pólo Norte da Terra.
É possível observar a mudança da câmera pela posição das espaçonaves, sendo que algumas ficam encobertas pela Terra; da Lua, que fica parcialmente escura e, principalmente, do astronauta, que na primeira câmera estava de frente com todo o corpo aparecendo e na segunda pode ser visto de cima, com o capacete e apenas parte do corpo aparecendo. Optou-se por alternar a câmera por meio do clique do mouse em qualquer parte da tela.
A curva foi implementada como um movimento do objeto, como pode ser observado no trajeto em azul da espaçonave mais à esquerda da tela. A tonalização Phong foi utilizada no objeto da Lua, sendo o modelo de iluminação obtido a partir da soma entre a luz ambiente, reflexão difusa e reflexão especular.
Resultados
Câmera 1
Câmera 2