274-1327-1-ED revisado

Propaganda
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
Download