SISTEMAS DE INFORMAÇÃO/INFORMATION SYSTEMS 211 TECNOLOGIAS PARA CONSTRUÇÃO DE MUNDOS VIRTUAIS: UM COMPARATIVO ENTRE AS OPÇÕES EXISTENTES NO MERCADO SILVA, R.C.1; SILVA, A. R.2 1 Mestrando em Engenharia Elétrica pela Universidade Federal de Uberlândia, Uberlândia (MG) e-mail: [email protected] 2 Mestrando em Engenharia Elétrica pela Universidade Federal de Uberlândia, Uberlândia (MG) e-mail: [email protected] RESUMO: A cada ano que passa os ambientes de realidade virtual (RV) se tornam mais realistas e se mostram ferramentas mais poderosas para educação e treinamento. Atualmente existem muitas tecnologias para construção deste tipo de ambiente, algumas gratuitas e outras pagas. O objetivo deste trabalho é fazer um comparativo entre essas tecnologias, mostrando seus pontos fortes e fracos e, ao final, apresentar aquelas mais adequadas para a construção de um objeto de aprendizagem, capaz de armazenar todos os passos de uma seção de treinamento e posteriormente reproduzi-los para um instrutor. Para determinar a aptidão ou não da tecnologia, são levados em consideração critérios como: portabilidade para várias plataformas computacionais, comunicação com banco de dados, grau de complexidade de polígonos suportado por elas no momento da renderização do mundo virtual, custo entre outras. PALAVRAS CHAVE: Ambientes virtuais; Linguagens para RV; Realidade Virtual. TECHNOLOGIES FOR BUILDING VIRTUAL WORLDS: AN OVERVIEW OF CURRENTLY AVAILABLE OPTIONS ABSTRACT: Year after year, virtual reality (VR) environments become more realistic and demonstrate to the most powerful tools for education and training. Currently there are many options of building technologies of this type of environment, some free and others paid. The objective is to make a comparison between these technologies, showing their strengths and weaknesses and, ultimately, to present those most suitable for building a learning object, capable of storing all the steps of a training session and then play them to an instructor. To determine the suitability or otherwise of the technology are taken into consideration criteria such as: portability to various computing platforms and communicating with the database and complexity of polygons supported by them when rendering the virtual world and cost, among other factors. KEY WORDS: Languages for VR building; Virtual Reality; Virtual Environments. INTRODUÇÃO É cada vez maior a utilização de ferramentas computacionais como apoio a educação e treinamento. Neste contexto, tecnologias como a Realidade Virtual (RV) vêm apresentando diferenciais importantes (LIN; OTADUY; BOULIC, 2008). Segundo KIRNER (2007), pode-se definir Realidade Virtual como uma forma das pessoas visualizarem, manipularem e interagirem com computadores e dados extremamente complexos, na qual idéias como imersão, interação e envolvimento com o ambiente virtual são consideradas básicas e fundamentais. Uma das principais vantagens desta tecnologia é o envolvimento amplo de sentidos do ser humano na interação homem-máquina. Além disso, o alto potencial de desenvolvimento de visualizações pode ser destacado como uma das principais importâncias de RV. No contexto de educação e treinamento, ferramentas de RV criam uma nova forma, individualizada, de representação de conhecimentos, propiciando melhor tratamento das informações (PINHO, 2000). FAZU em Revista, Uberaba, n. 8, p. 211-215, 2011. Diversas simulações em RV têm sido construídas com o propósito de auxiliar estudantes de engenharia a compreender o funcionamento de circuitos, máquinas elétricas, etc. No entanto, verifica-se que após a utilização do ambiente virtual, todos os dados referentes ao uso dessas simulações são perdidos ao fechamento da simulação, uma vez que as aplicações em sua maioria, não estão interligadas com bancos de dados, ficando apenas em memória RAM. Durante muitos anos, tecnologias para web como VRML (Virtual Reality Modeling Language) e sua sucessora X3D foram amplamente adotadas por educadores e pesquisadores para a construção de mundos virtuais. Eram consideradas as únicas opções para quem quisesse disponibilizar ambiente de realidade virtual que pudessem ser acessados por qualquer pessoa através da internet. No entanto, este cenário mudou nos últimos anos, com a chegada de tecnologias como JavaFX, Papervision e Unity3d. A boa aceitação dos ambientes virtuais na educação, principalmente na educação à distância, acabou gerando um nível maior de exigência por parte dos SISTEMAS DE INFORMAÇÃO/INFORMATION SYSTEMS desenvolvedores. Atualmente, é altamente desejável que o ambiente virtual seja capaz de armazenar, e posteriormente recuperar as informações do treinamento realizado junto ao aluno. Também é necessário que esta simulação seja a mais realista possível e, dependendo da situação, simular até mesmo fenômenos físicos encontrados no mundo real. O objetivo deste trabalho é estudar as tecnologias disponíveis atualmente no mercado e determinar quais delas são capazes de construir um ambiente virtual que atenda a todas as características descritas no parágrafo anterior. MATERIAIS E MÉTODOS Foram instaladas e avaliadas as seguintes tecnologias: VRML: Linguagem para modelagem em Realidade Virtual (Virtual Reality Modeling Lnaguage): é uma linguagem usada para descrever objetos em 3 dimensões e combiná-los em cenários de mundos virtuais (MARTINS, 2007). Foi uma linguagem pioneira para a construção de interfaces de realidade virtual. PAPERVISION: um motor aberto que traz ao Flash Player. Papervision é uma biblioteca de fácil uso escrita em ActionScript 3.0, o que permite aos desenvolvedores criarem 30 em Flash. Papervision3d permite que você construa 3d em tempo real, dando a você ferramentas para criar experiências 3d excitantes e interativas. (WINDER, TONDEUR, 2009) Devido a sua facilidade de uso e à grande popularidade do Flash player, Papervision tem sido bastante utilizado para construir ambientes virtuais. UNITY 3D: Motor de jogos (game engine) criado para auxiliar no desenvolvimento de jogos 3D. Mesmo usando a versão livre do Unity 3D, os jogos podem ser desenvolvidos para PC, Mac ou mesmo embutidos numa página web. Com a aquisição de licenças específicas podese desenvolver e distribuir jogos para Iphone, através da loja da Apple, ou mesmo para o console Wii da Nintendo (PASSOS, 2009). JAVA FX: É uma plataforma que inclui uma linguagem de scripts declarativa e de alto desempenho para oferecer e criar uma nova geração de aplicações ricas para internet. O foco do JavaFx é tornar o desenvolvimento de interface gráfica de usuário fácil e adotar características mais atraentes como efeitos visuais, som e animação (CLARKE et al, 2010). Tem sido bastante usada para a criação de jogos pedagógicos. Para realizar esta avaliação, foram usados os seguintes critérios: Modelagem e Texturização de objetos: A modelagem dos ambientes virtuais, usando linguagens como VRML (Virtual Reality Modeling Language) e sua sucessora, X3D, além de outras linguagens e ferramentas de autoria, permite, ao usuário, visualizar ambientes tridimensionais, movimentar-se dentro deles e manipular seus objetos virtuais. Os objetos virtuais podem ser animados, apresentando comportamentos autônomos ou FAZU em Revista, Uberaba, n. 8, p. 211-215, 2011. 212 disparados por eventos (KIRNER, SISCOUTTO, 2007). Todas as tecnologias analisadas possuem a capacidade de criar mundos virtuais, formados por formas 3D nos quais o usuário é capaz de navegar em primeira pessoa como se estivesse em um cenário real. Motor de física: Modelos virtuais mais complexos devem ter um comportamento bastante semelhante aos seus correspondentes no mundo real, isso significa que eles estão sujeitos a forças como massa, gravidade, velocidade e fricção. Para desenvolvedores o trabalho com com motores de jogos e motores de física provê uma nova foram de simular respostas realísticas para objetos em jogos.(GOLDSTONE, 2009). Linguagens de programação suportadas: Tendo em vista que a maioria dos mundos virtuais não é constituída de simulações estáticas, toda a parte de interação com o operador envolverá programação. Para possibilitar um maior ganho de tempo no desenvolvimento é essencial que o ambiente possa dar suporte a uma ou mais linguagens de programação conhecidas pela equipe de desenvolvimento, além de possibilitar maior compatibilidade e reaproveitamento de eventuais códigosfonte escritos por terceiros. Importação de objetos criados em outras ferramentas: É fato que modelos demoram muito tempo para serem construídos de forma como muitas vezes é feito em VRML visando simplificar, padronizar e até mesmo distribuir melhor as tarefas de modelagem física entre uma equipe composta por várias pessoas, é de suma importância que o ambiente virtual seja capaz de importar arquivos gerados em ferramentas 2D como Photoshop ou em ferramentas 3D populares como 3D max, Blender ou Maya. Possibilidade se comunicar com SGDB: Um dos objetivos da simulação é que o treinamento realizado pelo aluno possa ser armazenado, e posteriormente recuperado por um professor/supervisor do operador ou pelo próprio estudante para que se possa verificar onde ele eventualmente possa ter errado ou acertado. Dito isso, é de suma importância que esses dados possam ser persistidos em um SGDB (Sistemas de Gerência de Banco de Dados). Hoje em dia, a grande maioria dos programas comunica-se com os usuários através de interfaces gráficas de janelas. Entretanto, normalmente, os programas não contém todo código referente a exibição dos dados na interface, mas utilizam gerenciadores de interface de usuário, conjuntos de rotinas que incluem as funcionalidades que um programador vai necessitar frequentemente, ao construir uma interface de usuário. Da mesma forma, para comunicar-se com processos remotos, usam gerenciadores de comunicação. Para manter grandes repositórios compartilhados de dados, ou seja, para manter bancos de dados, são usados (HEUSER, 2009). Plataformas em que pode ser executado: Em princípio pretende-se que o mundo virtual possa ser executado em ambientes desktop e web, mas considerando-se que existe uma grande variedade de dispositivos com poder computacional variado, como aparelhos celulares, smartphones, tablets e mesmo consoles para jogos, é importante que o produto final não SISTEMAS DE INFORMAÇÃO/INFORMATION SYSTEMS esteja restrito a uma única plataforma, possibilitando que no futuro ela possa ser portada para outros ambientes. A preocupação com portabilidade é tão grande que linguagens fortemente ligadas a dispositivos de hardware específico como OpenGL nem foram levadas em consideração na confecção deste trabalho. Restrições: É importante saber quais as limitações e necessidades da tecnologia que será usada para gerar o Ambiente Virtual (AV). Tendo em vista tudo isso, percebe-se que a tecnologia que será usada para criar o ambiente virtual deve possibilitar um rápido tempo de resposta, deve ser capaz de suportar uma modelagem geométrica complexa, ser capaz de lidar com restrições de física e possibilitar a persistência dos dados da simulação realizada. Além de tudo isso, é importante verificar se existe algum pré-requisito de software ou hardware que impossibilite a execução desta simulação em alguma das plataformas propostas. Tipo de licença: O custo de um software é um fator determinante na execução de um projeto, pois ele pode impactar em custos muito altos que podem vir a inviabilizar o projeto. Felizmente, a maioria das tecnologias analisadas possui licença open source e pode ser utilizada livremente, além de disporem de editores. A única exceção é o Unity 3d, que possui uma versão gratuita e totalmente funcional, mas que tem várias versões pagas com recursos adicionais. (conforme as tabelas 2, 3 e 4). RESULTADOS E DISCUSSÃO A tabela 1 é resultado da análise das quatro tecnologias. TABELA. 1 – Comparativo entre as tecnologias analisadas. Critérios avaliados Modelagem e Texturização de objetos Motor de física Sim Tecnologia PAPERVI UNITY 3D SION Sim Sim Não Não VRML Obs: Utilizam a biblioteca ape Action script Sim JAVA FX Sim Não Obs.: utilizam a biblioteca phys2d Java Linguagem de programação Javascript Importação de objetos criados em outras ferramentas Possibilidade se comunicar com SGDB Plataformas em que pode ser executado Apenas se forem convertidos para vrml Suporta a importação de vários formatos Javascript c# bool Suporta a importação de vários formatos Não Sim Sim Web e desktop Web, desktop e qualquer outra plataforma que dê suporte a flash Devido a restrições no numero de polígonos Web desktop nitendo wii xbox android Web desktop dispositivos móveis com suporte a java fx Alguns recursos estão disponíveis apenas na É necessário que o usuário tenha instalado uma máquina Restrições Parte Física deve ser implementad a via programação. Os objetos devem ser modelados na própria linguagem Sim FAZU em Revista, Uberaba, n. 8, p. 211-215, 2011. 213 Modelagem dever ser feita em editores de texto ou em ambientes de desenvolvime nto pagos. Instalação plug-in como o Cortona 3d Tipo licença de Open source objetos complexos podem não ser importados e renderizado s corretament e. Para poder visualizar uma animação em papervision o usuário precisa ter o plug-in do flash instalado em seu computador , ou a animação precisa ser exportada para o formato .exe Open source versão paga. Veja tabela 02 virtual java superior à versão 6.0 instalada em seu sistema para poder executar um programa criado nesta tecnologia. Existe uma versão gratuita e uma profissional com mais recursos Open source Conforme se percebe pela tabela, apesar de possuir uma versão gratuita com menos recursos, o motor Unity 3d se mostra mais adequado ao projeto proposto. Apesar da ampla aceitação na comunidade, a Linguagem VRML deixa a desejar nas questões de motor de física e comunicação com o SGDB. A conexão com o banco de dados é possível, desde que se use a linguagem Java. Mas, como não são lançadas atualizações do VRML há muitos anos, a versão do Java suportada é antiga. A biblioteca Papervision se mostra uma alternativa interessante, pois possui uma integração nativa com páginas web pelo fato de poder ser executada no popular plug-in Flash Player da empresa Adobe. A linguagem actionscript em que foi escrito o Papervision é capaz de se comunicar nativamente com páginas web, que poderiam servir de camada intermediária de conexão com o SGDB. Apesar de Papervision não possuir um motor de física nativo, ela pode ser expandida através da utilização da biblioteca APE - Actionscript Physics Engine (disponível em http://www.cove.org/ape/). Apesar disso, foi descartada por apresentar um problema sério ao importar modelos geométricos complexos gerados em editores 3D externos, o que pode comprometer a visualização da simulação, bem como seu tempo de resposta. Para demonstrações e interfaces simples, Papervision3D abre um mundo muito descuidado na rede,agora é potencialmente possível criar interfaces 3D impactantes, interativas, com um mínimo tempo de carga. Isto é algo que os desenvolvedores de internet e os clientes desejavam por um longo tempo. Ainda tem grandes limitações, porque a aceleração não é feita por hardware, mas está em desenvolvimento uma nova versão do Papervision3D, baseada na API do Flash Player 10, com a SISTEMAS DE INFORMAÇÃO/INFORMATION SYSTEMS possibilidade de reutilizar linhas de código C e C++ e a execução de PixelBender; e assim se espera o aumento drástico da qualidade dos novos sites 3D em internet. Sobre este caminho, nasce uma nova gama de interfaces, e Papervision3D se torna muito importante no desenvolvimento de websites. (OSA, 2011). A linguagem JavaFX também apresenta a possibilidade de conexão com SGDB nativa, devido ao fato de rodar sobre uma máquina virtual Java, podendo desfrutar de recursos como JDBC (Java Database Connectivity). Embora Java seja considerada uma tecnologia com maiores recursos e processamento disponível do que a tecnologia Flash, esta tecnologia possui problemas de incompatibilidade entre versões. (SILVESTRI, 2011). Já a linguagem JavaFX conta ainda com poucos materias e pouca divulgação ficando assim, difícil averiguar o potencial de tal tecnologia. (SILVESTRI, 2011). Posto isso, o Unity 3D se mostra mais adequado, por possui um motor de física nativo bastante maduro, além de possibilitar a conexão com banco através de comunicação com uma página web escrita em PHP ou JAVA através de sua função nativa WWWForm, viabilizando a arquitetura necessária para o sistema. 214 TABELA 02 - Diferenças gerais entre as versões do Unity 3D. TABELA 03 - Diferenças entre as versões do Unity no que diz respeito ao desenvolvimento. FIGURA 1 – arquitetura proposta do sistema. Todas as ferramentas necessárias (motor de física, conectividade com web e possibilidade de conexão com o SGDB) estão presentes na função gratuita, o que não inviabiliza o uso do engine para a construção da simulação. CONCLUSÃO Conforme se vê na fig. 1, a persistência dos dados em SGDB é possível, através do envio dos dados para a página web, que funciona como camada intermediária. Esta página web envia as requisições SQL de atualização ou inserção para o SGDB. A recuperação das informações também é possível. O AV (Ambiente Virtual) solicita as informações à página web, que repassa a consulta para o SGDB e se encarrega de devolver as informações para o AV. Um possível entrave para o uso do unity3d seria que alguns recursos só estão disponíveis nas versões pagas. As tabelas 02 e 03 mostram quais recursos estão disponíveis em cada versão (3D, Unity. License Comparisons., 2011). FAZU em Revista, Uberaba, n. 8, p. 211-215, 2011. Conforme demonstrado, o motor de jogos Unity 3d se mostra a alternativa mais adequada, uma vez que suporta a criação de ambientes virtuais elaborados, oferece suporte a comportamentos físicos, é portável para web e dispositivos móveis. Além disso, ele também permite a comunicação com um banco de dados (SGDB) através do uso de uma página web Java ou PHP como uma camada intermediária. Apesar de sua versão mais completa ser paga, o uso da versão gratuita da ferramenta é totalmente possível e não compromete em nada a construção do mundo virtual. Tendo determinado que esta tecnologia é a mais adequada para a construção de um mundo virtual, considera-se como colaboração para trabalhos futuros a construção de um mundo virtual para uma subestação elétrica virtual, com intuito de treinamento nas mais variadas áreas da engenharia elétrica. SISTEMAS DE INFORMAÇÃO/INFORMATION SYSTEMS REFERÊNCIAS 3D, Unity. License Comparisons. Disponível em: <http://unity3d.com/unity/licenses.html>. Acesso em: 09 abr. 2011. CLARKE, J. et al. Java FX: Desenvolvendo Aplicações de Internet Ricas. Rio de Janeiro: Alta Books, 2010. 324 p. GOLDSTONE, W. Unity Game Development Essentials: Build fully functional, professional 3D games with realistic environments, sound, dynamic effects, and more! Birmingham,: Packt Publishing, 2009. 316 p. HEUSER, C. A. Projeto de banco de dados. 6. ed. (edição Digital): Artmed, 2009. KIRNER, C.; SISCOUTTO, R. A. Fundamentos de Realidade Virtual e Aumentada. In: SYMPOSIUM ON VIRTUAL AND AUGMENTED REALITY, 9., 2007, Petrópolis, Rj. Livro do pré-simpósio. Petrópolis, Rj: Sbc, 2007. v. 1, p. 2 - 21. LIN, C.M.; OTADUY, A.M.; BOULIC, R. Virtual Software and Technology, IEEE Computer Graphcis and Applications, p. 18-19, Nov./Dec. 2008. MARTINS, V. Realidade virtual em educação: Criando objetos de aprendizagem com VRML. Revista Digital da CVA-RICESU, Rio de Janeiro, v. 4, n. 15, p.1-11, 01 set. 2007. Semestral. OSA, D. D. P.. Interfaces 3D en los navegadores de internet. Disponível em: <http://david5.com/labs/pv3d/investigacion/interfaces3d.p df>. Acesso em: 09 abr. 2011. PASSOS, E. B. et al. In: BRAZILLIAN SYMPOSIUM ON GAMES AND DIGITAL ENTERTAIMENT, 8., 2009, Rio de Janeiro. Tutorials. Rio de Janeiro: Scb, 2009. v. 1, p. 1 - 30. PINHO, M. Interação em Ambientes Tridimensionais. Tutorial do 3rd Workshop on Virtual Reality - Brazilian Workshop on Virtual Reality, Gramado, RS, Out. 2000.SILVESTRI, F. G. Bibliotecas de Animação em Flash. Disponível em: <http://www.filipesilvestrim.com/resources/public/filipe_si lvestrim_artigo_bibliotecas_animacao_flash.pdf>. Acesso em: 09 abr. 2011. WINDER, J.; TONDEUR, P.. Papervision3D Essentials: Create interactive Papervision3D applications with stunning effects and powerful animations. Birmingham: Packt Publishing, 2009. 428 p. FAZU em Revista, Uberaba, n. 8, p. 211-215, 2011. 215