Papervision3D part 2

Após o post de introdução vamos para algo mais avançado e também entender melhor o funcionamento da engine de renderização 3D. Basicamente para fazermos o que havíamos feito no post anterior nem seria necessário uma engine deste tipo.Basicamente todas engines 3D são formadas de objetos. Eles normalmente são: mechas, câmeras, cenas, luzes, etcs. Falaremos sobre câmeras, meshs, materiais e cenas.

Câmera
Temos dois tipos de câmeras em papervision: Camera3D e FreeCamera3D. Você precisa de pelo menos uma câmera instanciada para poder renderizar. Sempre imagine 3D como algo cinematográfico, precisamos de câmera, palco, e atores para fazermos um filme. Toda câmera possui zoom e focus. Os dois sempre devem ser trabalhados em conjunto. Sendo o focus muito importante quando um objeto está sendo olhado muito próximo (não que a imagem vai ficar embaçada, mas pode ficar contorcida). A diferença entre os dois tipos de câmeras é muito simples.
A Camera3D sempre tem um alvo a ser “filmado”, se for nulo ela terá como alvo o ponto (0, 0, 0). Isto impossibilita, então, a mudaça da sua rotação já que isto é feito automaticamente.
A FreeCamera3D é livre e não possui nenhum alvo. Você tem total liberdade para rotaciona-la.

Meshs
Em Papervision meshs são todos os tipos de objetos visíveis, todos os formados por polígonos que são possíveis de serem apresentados na tela. No pacote objects incluído em Papervision temos os objetos Ase, Collada, Cone, Cube, Cylinder, DisplayObject3D, OldCube, PaperPlane, Plane, Sphere e Stars. Deles temos dois em especial: Ase e Collada são usados para objetos criados personalizados, são objetos que carregam modelos criados e exportados em um dos formatos.
DisplayObject3D pode ou não ser um Mesh. A classe DisplayObject3D é uma classe base para todos os objetos que tem posição cena 3D, seja câmera, cubo, luz ou partícula. Se você pretende implementar alguma coisa nova em Papervision, como por exemplo importar algum modelo de formato diferente de Ase e Collada, certamente você irá estender esta classe.

Materiais
Material é a textura usada nos objetos visuais. Todos os mechs que instanciamos precisam ter algum material (caso nulo será uma textura de cor preta). Temos vários tipos de materiais. Aconselho a olhar a documentação mas os mais importantes e usados são BitmapAssetMaterial, BitmapColorMaterial, MovieMaterial e MovieAssetMaterial. Muito intuitivos nos nomes, os Bitmaps são imagens que podem estar na biblioteca como criadas no ato como BitmapColorMaterial, os Movies são movieclips que podem estar na biblioteca ou já instanciados. São muitos os tipos, é possível até colocar vídeo streaming como textura, não esqueça de olhar a documentação.

Cenas
Cenas são os palcos 3D criados para posicionar os objetos. Toda cena precisa de um sprite instaciado para poder ser renderizar. Assim como materiais e mechas, também temos vários tipos de cenas. As mais importantes são MovieScene3D e Scene3D. A primeira permite a você renderizar a cena em partes. Cada objeto dentro de um próprio container. Já Scene3D renderiza todos dentro do mesmo sprite da cena.

Neste artigo não teremos nenhum código, somente o básico para entender o funcionamento de Papervision3D

4 Responses to Papervision3D part 2

  1. Rafael lima disse:

    Cara parabéns adorei a matéria muito show…
    Quem esta iniciando na área vai adorar.
    Eu ja estou dando os meus primeiros passos no papervision3D.

    Eu criei até uns exemplos mas so achei o link de um…
    http://img186.imageshack.us/my.php?image=cubozg1.swf

    Já estou aguardando o novo upgrade da engine que promete ficar ainda melhor
    com o Adobe Flash Player 10. Aos poucos ja podemos pensar em substituir o
    Director para aplicações 3D. E viva a Adobe ^.^

  2. Muito boa as suas matérias.
    Difícil de encontrar assuntos desses em português. Pelo menos para nos dar uma noção legal sobre.

    Vou te propor uma “trocar links” do seu site no nosso e vice e versa.
    Caso se interessar, nos avise.

    Abraços e sucesso.

    http://www.alvoweb.com

  3. abnonOccaxads disse:

    Very good site with a lot of useful
    information

  4. […] First tutorial is in Portugese and provides a nice intro with a follow-up more advanced discussion. […]

Deixe um comentário