Visualização 3D na Internet


Quarta-feira, 22 de março de 2006 às 13h00

Visualização 3D na Internet

Em um artigo recente Bill Gates anunciou a sua visão do futuro e parte desta visão é em três dimensões: "Você estará andando no centro de Londres e será capaz de ver as lojas e o tráfego local. Será possível andar dentro da loja e interagir com as mercadorias na prateleira, não na interface Web 2D que temos hoje, mas em um ambiente virtual 3D completo " .( tradução minha).
Quão longe estamos disto? Porque ainda não vemos aplicações em 3D para Web em abundância?
Alguns motivos :
• Plataformas de hardware muito antigas, sem velocidade para executar os softwares ou acelerar as aplicações 3D via hardware.
• Resistência do usuário em baixar, instalar e utilizar plugins em suas máquinas.
• Falta de ferramentas de desenvolvimento e autoria para publicação das aplicações.
• Engines para Web 3D deficientes, sem todos os recursos necessários para um ambiente virtual de verdade.
• Licenças de publicação muito caras.
• Velocidade da internet ainda muito baixa, não permitindo o uso de aplicativos mais complexos.
• Falta de suporte 3D nos sistemas opercionais e navegadores à tecnologia 3D e players.
• Falta de suporte dos players ao diferentes navegadores Web.
• Falta de popularidade e recursos em formatos Open Source como o VRML, agora X3D e o U3D, o novo formato do Intel.
Quais os requisitos de um player 3D para Web? Deveriam ser os mesmos dos Engines 3D para games além de:
» Suporte para audio
» Suporte para vídeo
» Suporte para Flash
» Suporte para streamming
» Fast download
» Suporte para placas aceleradoras de video.
» Anti-alias
» Partículas
» Physics Engines
» Input Support
» Instalador
» Suporte a XML
Mas será que estamos tão longe assim? Este quadro pode estar mudando.
Aplicações
Apesar de existirem vários tipos de aplicações 3D para WEB, podemos agrupá-las em algumas categorias:
» Visualização de Produtos - Por exemplo, um novo celular.
» Maquetes Virtuais para Arquitetura
» Jogos On Line
» Treinamento à Distância
Para todas as aplicações acima é preciso algum tipo de player, pois os sistemas operacionais ainda não suportam 3D nativamente ( pelo menos não que eu saiba). O Windows Vista da Microsoft é uma das primeiras propostas dentro de um sistema operacional e o Looking Glass da Sun, um complemento do Java, é outra proposta.
Os players podem ser do tipo ActiveX ou um Applet Java. No caso do Java o sistema já possue suporte para 3D, não sendo necessário na maior parte das vezes instalar o applet, a não ser que você tenha uma versão antiga do Java.
Esquecendo a discussão sobre a utilização de ActiveX na máquina do usuário, as duas opções são boas. A vantagem teórica do Java é que roda em qualquer máquina que tenha Java. Digo teórica, porque isto nem sempre é verdade.
Geralmente os players baseados em ActiveX rodam em cima do DirectX, enquanto os applets Java utilizam o OpenGL. As aplicações baseadas na API Java3D até onde eu sei não estão tendo sucesso, uma vez que todo sistema operacional hoje, vem com alguma versão de OpenGL. Então não faz sentido duplicar funcionalidades se é possível utilizar a API gráfica disponível. Isto vale também para o DirectX. São tantas as funcionalidades que muitos engines estão abandonando as rotinas proprietárias para utilizar as rotinas existentes nas APIs.
Boa parte das ferramentas de desenvolvimento que mostramos no último artigo já possuem players 3D para a WEB.
Outros engines exclusivos para uso em Web como o VET player da Viewpoint e Wirefusion da DeMicron já possuem ferramentas para o desenvolvimento e a publicação de aplicações 3D para a Web.
Há um rumor que a Adobe irá implementar um engine 3D real no engine do Flash com todos os recursos que temos direito. Assim não seria necessário baixarmos outros tipos de engines ou plugins. Vamos ter que aguardar para ver. Eu pessoalmente gostaria de ver um engine 3D dentro do Flash que fosse realmente bom. Que tal a Adobe comprar a Viewpoint e colocar o Viewpoint dentro do Flash? Ou então melhorar o Shockwave e incorporá-lo ao Flash? Enquanto isto não acontece, vamos examinar o que é possível fazer com cada um dos engines e players existentes.
Players
Player
Engine
Formato
Autoring Tools 
Onde Encontrar
Licença
Shockwave / Flash
W3D
Director MX
Adobe
Macromedia
US$ 899
Software Viewpoint
MTX
Eliven 1.0
Viewpoint
US$ 249.95
Software Java
Java, X3D, WRML
Wirefusion 4.1
Demicron
US$ 1995
Software-Hardware /
Active X
CGR
Quest3D 3.0
Quest3d
EUR 2.299
Software/ OpenGL
X3D
Diversos, veja link
X3D
Alguns free, outros pagos. veja link
PDF ActiveX

PDF
RigthHemisphere
Adobe Acrobat 3D
Adobe
US$ 995
Java - OpenGL
Java
Agency FX
Agency9
Free para aplicações não comerciais.
Obs: Alguns dos produtos acima possuem versões trial, lite e professional, com preços variando de versão para versão
Primeiro vamos ver uma aplicação que utiliza um player ActiveX.
Você precisará do Internet Explorer ou Firefox em ambiente Windows para rodar a aplicação.
Se você ainda não tiver o player da Viewpoint instalado uma janela aparecerá pedindo permissão para instalar o player. Instale o player antes de ver a aplicação.
Esta é uma aplicação em 3D feita em HTML, Flash e Viewpoint.
Acesse agora o link http://www.demicron.com/gallery/index.html e vá até a galeria da Demicron. Escolha o Virtual Art Gallery, deverá aparecer uma janela com o símbolo Java enquanto o programa é carregado.
Esta é uma aplicação feita em HTML, VRML e o Engine Java da Demicron
Use os botões do mouse para mudar a posição da camera e os botões de seta para andar na galeria virtual.
Estes dois exemplos não são os únicos, diversos outros engines para Web estão disponíveis por aí.
Mas não basta ter acesso ao engine ou a ferramenta de autoria. É necessário o mesmo trabalho de desenvolvimento, design, texturização, animação, etc que uma aplicação 3D local, acrescida da complexidade do acesso à API 3D, geralmente em Javascript para poder comandar as aplicações.
É possível também fazer games 3D para WEb. Nem todos os engine WEB3D, possuem suporte a todas funcionalidades necessárias para a criação de games, como colisão e suporte a simulação física.
Vamos fornecer abaixo dois links de dois tech demos, um feito para ActiveX e outro para Java.
O primeiro requer a instalação do player do Quest3D e o segundo a instalação do Java, utilizando o engine AgencyFX 3D.
http://www.is3d.com.br/topteste irá levá-lo à pagina de acesso do nosso Tech Demo Topteste.
O segundo link http://www.agency9.se/demo/ragdolls_reloaded.jnlp utilizando o engine AgencyFx 3D engine que funciona em Java em cima do OpenGL.
Mas atenção, ambos os jogos precisam ser jogados utilizadando placas aceleradoras 3D de boa qualidade, tipo GeForce4 ou superior, para conseguir velocidade e acesso aos efeitos visuais.
O tempo de download também é grande visto que os demos são bem completos.
Fica uma pergunta, qual é o meu engine preferido? Para as aplicações de demonstrações de produtos, prefiro o Viewpoint ou o Wirefusion, ambos pela sua qualidade, ferramentas de desenvolvimento e rapidez no download e suporte. Para as aplicações de simulação e games um dos melhores e de custo benefício é o Quest3D. O shockwave também é uma boa solução, mas é necessário o Director MX para criar os arquivos.
Um comentário sobre o PDF3D da Adobe. O engine 3D está embutido no Acrobat Reader. A Adobe lançou recentemente a ferramenta de desenvolvimento Acrobat 3D para criação de conteúdo 3D para formatos PDF.
Se você conhecer outros engines 3D para Web, mande um e-mail.
No próximo artigo vamos falar sobre Personagens Virtuais e suas aplicações na TV, Cinema, Treinamento e WEB.