Papervision – Será que depois da web 2.0 chegou a vez da web 3D ?

Componente, plugin, engine, classe ou API ?
Seja qual for a definição exata, o 3D promete dar uma nova cara a web.

Com o lançamento – já atrasado – do Flash Player 10 – Astro,  a Adobe promete incorporar ao novo player – entre outras capacidades – a renderização de objetos 3D simples.

Assim, o Papervision deve ganhar destaque. E, quem sabe, melhorar a performance, reduzindo o processamento dos ambientes/objetos 3D – ainda bastante alto no Flash Player 9.

De acordo com Carlos Ulloa, o fundador do Papervision, tudo começou com tentativas de criar efeitos 3D ilusórios através de rotação, distorção, … em movieclips, além de muito código é claro. E isso no final de 2005, baseado no Flash Player 7, onde pouquíssimos como Andre Michelle conseguiam algum resultado satisfatório.

Com foco principal voltado para o desenvolvimento em AS3, o Papervision também pode ser utilizado no Flash Player 8 com AS2 e até mesmo ser controlado em AS1.
Vale lembrar que, mesmo em AS3, são necessários alguns ajustes se a compilação for feita no Flash ou Flex.

Outro fator importante é a possibilidade de integrar qualquer objeto construído em programas de modelagem 3D a partir do formato Collada (COLLAborative Design Activity) que é um padrão de exportação e importação baseado em XML criado pela Sony e usado no console Playstation 3.

Em dezembro de 2007 foi lançada uma versão alpha chamada de “Papervision 2.0 – Great White“. E como todo desenvolvimento, o Papervision ainda não atingiu toda a sua maturidade. Tanto que poucos dias depois, Andy Zupko ( Papervision Core Team ) lançou uma versão incluindo efeitos muito interessantes, integrando classes nativas do Flash como filtros, matrizes geométricas, entre outras. Com essa e outras contrbuições, ele foi convidado a participar do Core Team – ponto para o Papervision.
Falta muita coisa ainda como colisão, etc … mas parece que já está havendo alguma integração com outras engines como WOW-Engine, desenvolvida por Seraf ( Jérôme Birembaut ).

Portanto, se você estiver interessado em iniciar-se no Papervision, prepare-se para acompanhar as constantes – diárias - modificações.

Os passos a seguir irão orientá-lo a fazer o download do Papervision e mantê-lo sempre atualizado :
1. A maneira mais recomendada é instalar um “SVN client” como o Tortoise for Windows.
2. Após instalar o programa, crie um diretório e clique sobre ele com o botão da direita e escolha “SVN checkout”.
3. Em URL, cole o endereço http://papervision3d.googlecode.com/svn/trunk/ e clique OK.
4. Após o término do download, você irá ver os subdiretórios as2, as3 e branches. Dentro dos diretórios as2 e as3 estão as respectivas classes padrão e, em branches, as classes “Great White” ( Papervision 2.0 ) e “Effects” citada acima.

Antes de utilizá-las, você precisa preparar o Flash. Para fazer isso, você tem algumas maneiras :

Classe sempre disponível ( não importa onde esteja o seu projeto ) :
1- No Flash, clique em Edit>Preferences>Actionscript e clique no botão “Actionscript 3.0 settings” ( ou “Actionscript 2.0 settings“, se for o caso )
2. Em “classpath“, clique no boão “+” e em seguida ícone “Browser To Path“.
3. Navegue até o diretório onde você fez o download e escolha entre as3/trunk/src ( as2/trunk/src se for o caso ) OU branches\Effects\src ( para usar a classe Effects ) OU branches\GreatWhite\src ( para usar a classe Papervision 2.0 Great White ).

Inserir a classe em cada um dos arquivos do seu projeto :
1. Após criar um novo arquivo, vá em File>Publish Settings>Flash ( aba ) e clique sobre o botão “Settings“.
2. Em “classpath“, clique no boão “+” e em seguida ícone “Browser To Path“.
3. Navegue até o diretório onde você fez o download e escolha entre as3/trunk/src ( as2/trunk/src se for o caso ) OU branches\Effects\src ( para usar a classe Effects ) OU branches\GreatWhite\src ( para usar a classe Papervision 2.0 Great White ).
4. Se estiver preparando um documento na versão AS3, ainda nessa tela você deve colocar o caminho de sua própria classe principal em Document Class ( iremos detalhar isso posteriormente )

Você não deveria utilizar diferentes versões da classe simultaneamente.

Pronto, você está apto a começar a utilizar o Papervision em seus projetos. E, o que é o melhor, utilizando apenas códigos, programas, plugins, … tudo open-source :)
Dentro do diretótio de cada versão existem vários exemplos que servem como ponto de partida, além da documentação.

É claro que existem outras classes 3D como Sandy3D e Away3D - também open-source -, mas arrisco dizer que a Papervision deva prevalecer como dominante. A não ser que a própria Adobe resolva embutir uma API 3D em seus produtos.

Seja como for - em games, aplicações, passeios virtuais, demonstrações ou apenas ”firulas” na interface – dessa vez o 3D na web veio para ficar.

Fique ligado que nos próximos posts estaremos iniciando uma sequência de exemplos práticos sobre o Papervision.

Abraços

9 Comentários »

  1. E ai Molina!

    Primeiramente deixe-me parabenizá-lo pelo Blog, que ficou muito legal e já estava passando da hora ;-)

    O artigo ficou muito bom e concordo com você quando diz que o PaperVision deve se tornar a engine 3D mais utilizada. Claro que quando (e se) o novo Flash Player fornecer APIs nativas para objetos 3D todas as demais engines irão implementá-la, e então pode ser que exista maior equilíbrio entre elas, permitindo que os desenvolvedores possam escolher a engine que se sentirem mais confortáveis em utilizar, não a que fornece melhor desempenho. Além disto, aparentemente a própria Adobe utiliza o PaperVision como benchmark interno – isto pode ser comprovado no blog do Tinic Uro (http://www.kaourantin.net – um dos principais engenheiros do Flash Player) através deste post http://www.kaourantin.net/2007/02/limits-of-software-rendering.html utiliza o PaperVision para testar os limites atuais de renderização sem utilização de aceleração por hardware.

    Resta-nos aguardar para ver o que o futuro nos reserva, porém é claro que aqueles que apostarem no PaperVision não estarão errando.

    t++;
    Leonardo Braga

  2. Marco Molina Disse:

    Salve Léo
    muitíssimo interessante este post que você indicou sobre os limites atuais do Flash Player. Não tinha o menor conhecimento a respeito disso :)
    Agora, apesar do “empenho” do Adobe Team, ainda não sei dizer se este post é muito animador … mas concordo que dá pra colocar algumas fichas nessa “aposta”.

  3. maurobrand Disse:

    Existe papervision pra MAC???? o

    Tá muito bom mesmo o seu blog parabens

  4. Leandro Jorge Disse:

    Muito bom o blog e já iniciei os estudos…Obrigado pelo post.

    Thanks

  5. Leandro Jorge Disse:

    Sabe onde posso encontrar mais tutoriais?

  6. Emmerson Lisboa Disse:

    Muito legal seu blog deu uma visão muito boa sobre o assunto espera encontrar muitas novidades por aqui.
    Valeu mesmo.
    Deus abençoe seu trabalho.

  7. Leandro Disse:

    Ola,

    não consegui instalar no meu… :(

  8. Jhonny Disse:

    Opa…

    Tentei de todas as maneiras, com todas as pastas e até varias versões. Porém o máximo que eu consegui foi o que segue abaixo.

    No CS3 dá vários erros e no CS4 dá essa msg na hora de compilar:

    5008: The name of definition ‘ExampleTransformationRotate’ does not reflect the location of this file. Please change the definition’s name inside this file, or rename the file. D:\Util\Kodz\flash\source\TEST\Cube.as

    Mas o tuto tah bacana…

    Desde já agradeço

  9. Renan Ubeda Disse:

    Primeiramente parabéns pelo blog e pela iniciativa.

    Estou com um problema, estou utilizando cs3 e quando vou plublica da um erro no ColorMaterial.as, Line 48

    sabe o que pode estar acontecendo?


{ RSS feed para comentários neste post} · { URI do TrackBack }

Deixe um comentário