Olá Pessoa nesse tutorial, vamos falar da engine para 3D em Flash Away3D um dos concorrentes do Papervision, vou tentar seguir os mesmos passos dos tutoriais em PaperVision. Mas antes vamos falar um pouco sobre 3D.
3D ou terceira dimensão, nos gráficoes 3D no temos o conjunto das 3 coordenadas x, y e Z, o elemento mais básico em um ambiente 3D é o Vértice é um ponto no espaço que possui as coordenadas x , y e Z. com a união dos vertices nós podemos criar um objeto.
O objeto com menor nível de detalhe é o triangulo que é a união de 3 vértices, em 3D os triângulos também são chamados de faces. Por um nível de processamento melhor os triangulos são vistos apenas e um lado.
Com a união de vários triangulos podemos montar qualquer tipo de modelo 3D , esferas, cubos, cones, planos entre outras formas mais complexas, o programador pode criar novas formas com a junção de varios tringulos mas para isso é aconselhavel utilizar uma ferramenta de modelagem, como Blender, Maya ou 3D Max e exportar no formato collada. O Blender já possui forma de exportar direto um objeto modelado para actionScript.
Um elemento importante em 3D é camera, a camera é a nossa visão no ambiente 3D o que a gente vai ver no ambiente vai ser controlado pela câmera, uma das dificuldades de quem está começando é que nem sempre o que você insere na Cena é no tamanho equivalente que você criou, isso está relacionado a visão da camera, se ela estiver longe do objeto que vc criou então seu objeto ficará menor que o tamanho real.
Outra caracteristica importante são as texturas nada menos que a a cobertura dos objetos. A textura pode ser uma imagem ou apenas uma cor, mas essa montagem da textura é bastante complexa, os triangulos que formam o objeto são preenchidos com parte da imagem fornecida pela textura, e aplicada a pespectiva para dar noção de profundidade, se o objeto possuir poucas faces ele pode apresentar distorções, lembrando aumento de faces(triangulos) consequentemente o aumenta no processamento,por isso é muito importante achar um ponto em ideal.
Depois de toda essa história sobre 3D vamos ao código.
Primeiro preparar nosso projeto.
1 – Baixando a engine no site: http://away3d.com/downloads o away está hoje na sua versão 2.4.
2 – Descompacte o zip , jogue a pasta” away3d” no diretório do seu projeto.
A sequencia de passos é bastante parecido com Papervision, configurar View, Camera, Objetos e suas respectivas coberturas e renderizar tudo.
No primeiro Exemplo eu so vou trabalhar com View3d e Sphere apenas o código já está todo comentado:
package { /** * ... * @author Fellyph Cintra by mooz */ import away3dlite.containers.Scene3D; import away3dlite.containers.View3D; import away3dlite.cameras.Camera3D; import away3dlite.primitives.Sphere; import flash.display.Sprite; public class Basica extends Sprite { //Adicionamos o View3D que é nossa janela de visualização para ambiente 3D public var scene3d :Scene3D; public var view :View3D; public var camera :Camera3D; //Criamos nosso objeto a ser utilizado, passamos nenhuma propriedade //ele vai ser criado com todas propriedades paadrões da Sphere public var esfera:Sphere = new Sphere(); public function Basica() { //instanciando uma nova cena scene3d = new Scene3D(); camera = new Camera3D(); camera.z = -1000; view = new View3D(); // setando camera e cena do view3D view.scene = scene3d; view.camera = camera; //posicionando o view no meio da cena view.x = stage.stageWidth/2; view.y = stage.stageHeight / 2; // jogamos a view no stage addChild(view); // adicionamos a esfera na view da scene de nossa View3D view.scene.addChild(esfera); //posicionando view.render(); } } }
Testando o resultado será o seguinte:
Próximos posts vamos falar mais.
Obs. esse post ta em rascunho a 5 meses… kkkkkkkk
