O desenvolvimento da apresentação de dados 3D em tempo real nas aplicações de redes e locais evoluiu desde as suas origens com o VRML até o padrão X3D, consideravelmente mais maduro e refinado. X3D é uma linguagem que descreve cenas 3D em um padrão aberto, capaz de representar e comunicar objetos, desenvolvida a partir da sintaxe XML (BRUTZMAN & DALY, 2007). Esta sintaxe foi escolhida porque permite uma melhor inter-operação com a Internet, além de permitir a incorporação de novas tecnologias de forma padronizada. Para que a visualização dos arquivos X3D seja possível no browser, é necessário a instalação de um plugin específico. A tecnologia X3D proporciona diferentes recursos para gráficos 3D, tais como transformações de geometria, iluminação, materiais, texturas, mapeamento, vértices e aceleração de hardware. Além disso, ela também permite animação com temporizadores e interpoladores de condução contínua, assim como a interação com dispositivos não-convencionais para a área de RV, como mouse e teclado. A navegação no ambiente acontece por meio de pontos de visão (câmeras do grafo de cena), além de características como colisão, proximidade, visibilidade, detecção e vários tipos de iluminação (BRUTZMAN & DALY, 2007).
Por meio da modelagem, um dos pontos mais relevantes relacionados à RV é o fato de que o conhecimento intuitivo do usuário a respeito do mundo físico pode ser transferido diretamente para o AV (SMITH & HARRISON, 2001). A Figura 4.3 apresenta a visualização de monumentos de contexto histórico gerados computacionalmente, e que podem ser explorados pelos usuários em circunstâncias pedagógicas, sobretudo por possuir bons níveis de imersão, interação e navegação, conforme os destacados acima.
Um detalhe da implementação desta tese refere-se ao grafo de cena (subseção 2.3.2) que compõe o X3D, na arquitetura desenvolvida, irá dinamicamente evoluir de acordo com a entrada do usuário e por meio de outros eventos dinâmicos. Nós de eventos (sensores), comumente armazenados em uma estrutura ramificada de eventos, ao serem acionados, podem ser direcionados para dentro de outros nós, tais como interpoladores de animação. Os browsers também podem dar suporte ao script ECMA (European Computer Manufacturers Association) ou Java, que podem interagir tanto com os modelos de eventos em particular (nós de colisão), como a totalidade do grafo de cena (subseção 2.3.2), criando e manipulando nós, o que produz uma rica experiência interativa (KURMOS, JOHN & ROBERTS, 2009).
Ambientes de desenvolvimento e plataformas de execução, foram estudados para esta tese e ainda analisados como poderiam prover algum suporte tecnológico de integração com alguma ferramenta de desenvolvimento (linguagem de programação). São ilustrados pela Figura 4.4, exemplificando suporte ao formato X3D e suas potencialidades na aplicação de AVs.
Figura 4.4: Tecnologias para exploração, visualização e interação de modelos X3D
No Quadro V, são descritas tecnologias para visualização de AV no formato X3D, analisadas durante essa tese, sendo que os componentes básicos são: interfaces lógicas, que especificam como os parâmetros do ambiente e de seus objetos podem ser alterados. Para um AV, é necessário existência de ferramentas que permitam ao usuário realizar a tarefa atribuída.
Quadro V: Tecnologias de visualização de informações 3D.
Navegadores
(Browsers) Desenvolvedor Versão Atual Data Características
Xj3D Consortium Web3D 2.0 M1 18/05/09
OpenSource, Portabilidade (Multiplataforma), API, integração
nativa com a Linguagem Java, suporte a Vrml e X3D, comunicação simplificada com os
objetos da cena (XJ3D, 2011).
Octaga
Player Octaga 2.3.0.7 2009
Opções de gravar a cena (exportar vídeo e imagens), Comercial (apresentando o logotipo nas cenas), suporte a Vrml e X3D. Oferece componentes ActiveX para
suporte em outras linguagens. Código-fonte semelhante ao Xj3D,
exceto pela facilidade de interação (OCTAGA, 2011).
BS Contact BitManagement 7.211 15/10/09
Navegador comercial (shareware), possuindo suporte para grandes números de formatos como Vrml,
X3D, Collada, imagens, áudio e vídeo. A logomarca fica navegando
entre a cena (BS Contact, 2011).
FreeWRL FreeX3D
Canadian Communications
Research Centre 1.22.8 26/05/10
Gratuito (GNU License), provém API para C/C++, multiplataforma (ambiente simplificado de opções –
sem elementos visuais de interação – botões, controles de rotação ou translação), mas oferece a opção de
gerar cenas com estereoscopia (FreeWRL, 2011).
H3DViewer SenseGraphics 2.1.1 06/04/10
Necessita de uma linguagem instalada (Python). Mostrou incompatibilidades com arquivos
no formato Vrml. Possui internamente plugins para simulações hápticas e físicas
(H3DViewer, 2011).
SwirlX3D Pinecoast Software 2.7.0.0 2010
Importação de modelos 3D estáticos, além de Vrml e X3D. A
empresa se dedicou mais nos editores, sendo este navegador
apenas uma ferramenta de visualização de formatos distintos
Com a finalidade de verificar a viabilidade de: (i) ferramentas para modelagem, (ii) programação gráfica, (iii) velocidade de processamento, (iv) compatibilidade e (v) processo de intercâmbio XML, inicialmente, foi objeto de estudo a ferramenta XNA (XNA's Not Acronymed) desenvolvida pela Microsoft, e implementado por meio da linguagem C# (lê-se C-Sharp). Destaca-se projetos como, um editor X3D (Figura 4.5) para concepção e administração de AVs, que explora o grafo de cena (subseção 2.3.2).
Figura 4.5: Editor X3D desenvolvido durante definição de tecnologias
Para a ferramenta XNA, determinados pontos foram notados, como a necessidade de um direcionamento maior às pesquisas científicas, ficando limitado à exploração comercial no desenvolvimento jogos.
No passo seguinte, buscou-se avaliar o desenvolvimento de experimentos usando plugins providos pelos navegadores Octaga Player e Bs Contact, funcionando como componentes ActiveX, disponibilizados no formato de DLL (Dynamic Link Library), que permitem a criação de AVs. Para fins de avaliação, um protótipo controlava o ambiente por meio de botões de ação, alterando atributos como formas ou aparência (Figura 4.6).
Figura 4.6: Alteração dinâmica do ambiente por meio de controles na interface (botões)
Uma das limitações encontradas foi devido ao fato da impossibilidade para inferir diretamente na cena, ou seja, a interação direta não foi projetada para esses componentes (item 2.2.3), segundo um dos fabricantes, essa restrição se resume às versões gratuitas.
A partir deste estudo sobre as tecnologias de interação, foi possível delinear um panorama sobre as ferramentas existentes e, também, escolher as mais apropriadas para os experimentos deste trabalho. Na implementação de uma interface, o que se busca, é que seja intuitiva para o usuário, posto que o interesse deste deve estar voltado para o ambiente e não para a tecnologia.