Vrml - Virtual Reality Modelling Language

14
VRML Virtual Reality Modelling Language Unicarioca Aluno: Milton Ferreira de Andrade Filho Matr.: 1072160001  Turma: 12223 Prof.: Carlos Alberto Pereira Bahiana

description

Trabalho acadêmico sobre a linguagem VRML

Transcript of Vrml - Virtual Reality Modelling Language

Page 1: Vrml - Virtual Reality Modelling Language

VRMLVirtual Reality Modelling Language

UnicariocaAluno: Milton Ferreira de Andrade FilhoMatr.: 1072160001  Turma: 12223Prof.: Carlos Alberto Pereira Bahiana

Page 2: Vrml - Virtual Reality Modelling Language

Introdução à VRMLA Internet é uma rede de computadores que conecta Universidades, Empresas, Centros de Pesquisa, Lares e Departamentos do Governo. Pode­se pensar na Internet como a maior   rede   de   computadores   do   mundo,   e   como   uma   poderosa   ferramenta   de comunicação. Atualmente um dos recursos mais utilizados da Internet é a WWW (World  Wide Web), que provê uma forma de acesso e recuperação de informações através de links a documentos, onde um link corresponde a uma conexão entre pontos da rede que permite  que  sejam  feitas   referências  a  outros  documentos,  outras  seções  do  próprio documento ou  figuras nas páginas de um serviço de  informações na WWW. Pode­se caracterizar WWW como um conjunto de informações distribuídas pela Internet, onde o usuário "navega" através dos diversos sites. 

VRML  (Virtual Reality Modelling Language) é uma linguagem de descrição de cenas ou mundos  3D,   usada   para   criar   ambientes   tridimensionais   que  podem  ser   transmitidos através da Internet. VRML é  atualmente o formato de compartilhamento de descrições tridimensionais   mais   difundido   na   Internet,   assim   como     o   HTML   é   o   formato   mais difundido  para  descrição de páginas hipermídia.  Arquivos  com extensão  *.wrl  contêm descrições compactas de mundos virtuais (cenas) que podem ser transferidas através da Web  e  visualizadas  através  de  navegadores  VRML.  Ao  permitir   que  objetos  em um mundo tridimensional possam referenciar outros mundos e recursos da Web, VRML cria espaços de interação multidimensionais.

Figura 1: Cubo 3D 

Page 3: Vrml - Virtual Reality Modelling Language

A VRML não   trata  de   realidade  virtual,   pois,  não  modela  experiências   imersivas  em mundos 3D nas quais  são usadas,  por  exemplo,  capacetes,   luvas e outros sensores, embora nada  impeça que aplicações de realidade virtual possam se utilizar de VRML como suporte à descrição de cenas e suas propriedades interativas. 

Outro  aspecto   importante   sobre  VRML  é   que  ele   não  é   um  modelo  multiusuário.  O esquema de documentos, códigos ou mundos virtuais sob demanda, obtido com o suporte de   HTML,   Applets   Java   e   VRML,   respectivamente,   não   oferece   suporte   natural   ao compartilhamento simultâneo de um mesmo mundo virtual por várias pessoas. No caso de VRML cada usuário da Web interage individualmente com sua própria cópia isolada do mundo virtual, alheio às explorações empreendidas por outros usuários que podem estar naquele mesmo instante utilizando outra cópia daquele mesmo mundo. 

Figura 2: Capacete 3D

Figura 4: Ambiente Multiusuário

Figura 3: Luva 3D

Page 4: Vrml - Virtual Reality Modelling Language

Ambiente Virtual Distribuído – DVEExistem   atualmente   projetos   que   intergrado   ao   VRML   permite   um   ambiente   virtual compartilhado ou ambiente virtual distribuído (DVE ­  Distributed Virtual Environment). O DVE é  uma simulação em tempo­real de um mundo real ou imaginário, onde usuários estão  simultaneamente  presentes  e  podem navegar  e   interagir   com objetos  e  outros usuários.

Um ambiente virtual distribuído (DVE)  necessita das seguintes características:

Permitir que um grupo de usuários separados geograficamente possam interagir em tempo real;

Permitir um número elevado de usuários simultaneamente conectados; Precisa   ser   tridimensional   para   os   olhos   e   ouvidos.   Movimentos   no   ambiente 

mudam a perspectiva visual e auditiva do usuário; Os   usuários   são   representados   por   avatares   (personagens   representativos   no 

mundo virtual); Precisa mudar com a movimentação dos usuários (entrada, saída e movimentação 

no ambiente), criando com isso uma dificuldade adicional; Permitir  simulações computacionais podendo  ir  além da  imitação com o mundo 

real; Permitir comunicação verbal (microfone e fone de ouvido/caixa de som); Possibilidade de ser executado em equipamentos (hardware) acessíveis e redes de 

acessos mais populares e com banda suficiente.

Estes itens não são características necessárias para o funcionamento da DVE, mas é necessário para que atinja o grande público, para viabilizar os projetos.

Exemplos de Ambiente Virtual Distribuído – DVEDIVE  (Distributed   Interactive   Virtual   Environment),   um   ambiente   desenvolvido   pelo Swedish   Institute   of   Computer   Science.   Trata­se  de   um   sistema   de   realidade   virtual multiusuário baseado na Internet onde participantes navegam em um espaço 3D e vêem, encontram e interagem com outros usuários e aplicações.

NPSNET,   um   ambiente   desenvolvido   pelo   Instituto   Naval   dos   EUA   que   simula   uma batalha.

MASSIVE,  sistema desenvolvido  pela  Universidade de Nottingham.  Na versão 3  este sistema incorporou testes para teleconferência. 

Page 5: Vrml - Virtual Reality Modelling Language

NICE  (Narrative­based,   Immersive,   Construtivist/Collaborative   Environment),   é   um sistema onde crianças constroem e cultivam ecossistemas virtuais simples, colaboram, via rede, com outras crianças remotamente localizadas e criam histórias a partir de suas interações nos mundos real  e virtual.  Foi  desenvolvido pela Universidade de Illinois e utiliza tecnologia Cave.

HISTORICITY  é  um ambiente  virtual  colaborativo distribuído que mostra a história  da antiga Cingapura. Esta aplicação utiliza uma arquitetura cliente­servidor que particiona o mundo   virtual   em   comunidades,   distribui   essas   comunidades   entre   um   conjunto   de servidores e migra os clientes de um servidor para outro à  medida que os clientes se movimentam através das comunidades. Essa arquitetura busca reduzir o tráfego entre os servidores.

GORILLA   WORLD  é   um ambiente  virtual   colaborativo  que  auxilia   no  aprendizado  e estudo do comportamento dos gorilas que vivem no zoológico de Atlanta.

LRVChat3D, está sendo desenvolvido pela Universidade Federal de Santa Catarina para suporte ao ensino à distância. 

RING,   um   sistema   que   utiliza   algoritmo   de   visibilidade   para   determinar   potenciais interações visuais entre entidades e com isso reduzir o número de mensagens enviadas. 

CMW  ­  Collaborative   Medical   Workbench,   um   sistema   de   projeção   desenvolvido   na Alemanha para planejamento de cirurgias e treinamento. 

AVC­MV, um ambiente virtual colaborativo multi­usuário para a Internet, que dá suporte ao ensino e envolve o desenvolvimento de  ferramentas  para possibilitar  a  criação de mundos virtuais por crianças e adolescentes, de maneira colaborativa e de acordo com o modelo construtivista de ensino­aprendizagem. Este ambiente está sendo desenvolvido como parte do Projeto Museu Virtual, por pesquisadores dos Centro de Pesquisas de São Carlos, Fundação Eurípedes de Marília e Universidade Federal de Santa Catarina.

Versões de VRMLA versão 1.0 de VRML, concebida em 1994, apresenta muitas limitações, principalmente no  que se   refere  à  modelagem de  interação.  Diversas empresas que desenvolveram navegadores para VRML 1.0 fizeram extensões proprietárias na linguagem, de modo a contornar  estas  limitações,  o que contribuiu  para que as várias versões diferentes de VRML 1.0 se tornassem incompatíveis entre si. Tal fato limitou bastante a disseminação de VRML 1.0 através da Web. A versão de VRML que promete ser mais adotada é VRML 

Page 6: Vrml - Virtual Reality Modelling Language

97, que constitui  um  ligeiro aprimoramento de VRML 2.0  Moving Worlds.  VRML 97 é suportada pelo Web3D Consortium (Web3D Consortium, 1999), antes chamado de VRML Consortium.  VRML 97  já  é  um padrão controlado pela   ISO  ­  International  Standards  Organization.

VRML 1.0VRML 1.0 suporta basicamente a especificação de um mundo 3D estático. Objetos VRML são chamados de nós, e quando organizados hierarquicamente constituem um grafo de cena. Em VRML 1.0 existem três tipos de nós: 

• forma ­  descreve a geometria  primitiva de um objeto:  cubo,  esfera,  cilindro ou cone; 

• propriedade   ­  modifica   a   geometria   original   de   um   nó,   acrescentando   outras características   como   textura,   luminosidade,   etc.,   ou   aplicando   transformações como  translação,   rotação  e  escala,  colocação  de  luzes direcionais,  pointlight  e spot­light; 

• agrupamento   ­  agrupa   um   conjunto   de   nós   e   faz   com   que   propriedades   (e transformações) sejam aplicadas a todo o grupo. 

VRML 97VRML 97 oferece substancial melhoria ao padrão VRML, capazes de torná­la um formato 3D bem sucedido na Web. VRML 97 é uma linguagem dinâmica, apta a incorporar futuras características,   cujos  principais  aspectos   inovadores  com  relação  a  VRML 1.0  são  o suporte à: 

Figura 5: Objeto VRML 1

Page 7: Vrml - Virtual Reality Modelling Language

• Criação de mundos estáticos mais realistas  ­  cenários celestes e de terreno (montanhas, nuvens, nevoeiro), terrenos irregulares, nós geradores de som (grilos na mata, vidros que se quebram), etc.; 

• Interação ­ inclusão de sensores de aproximação, sensores de tempo e detectores de colisão; 

• animação  ­   interpoladores  de   animação,   para   criar,   por   exemplo,   objetos  que modificam de cor quando se movendo; 

• scripting  e   eventos  ­   nós   especiais   contém   scripts   que   encapsulam   e automatizam   tratadores   de   eventos.   Eventos   são   roteados   entre   complexas estruturas de tratamento de eventos, programadas em Java ou JavaScript ; 

• prototipagem  ­ permite encapsular grupos de nós como um novo tipo, de modo que possa ser reutilizado em outros mundos. 

Do VRML97 ao X3DX3D é  o  acrônimo para  eXtensible  3D.  X3D pode ser  considerado como a  evolução natural do padrão VRML97.  Foi concebido para intercâmbio de conteúdo 3D com base na Web, sendo que este conteúdo é expresso como um documento XML (Extensible Markup  Language). Com isto se combinam interoperabilidade e flexibilidade para se estabelecer um intercâmbio e executar aplicativos em diferentes plataformas computacionais através da Web.

X3D  é   um   padrão   aberto   para   distribuir   conteúdo     3D.   O   X3D   não   é   uma   API   de programação, nem tão pouco um formato de arquivo para troca de geometrias. Combina ambos, geometria e descrições de comportamentos instantâneos num simples arquivo que tem vários formatos de arquivos  disponíveis para isso, incluindo o Extensible Markup  Language (XML). 

Figura 6: Cenário VRML 97 Figura 7: Ambiente tridimensional  VRML97

Page 8: Vrml - Virtual Reality Modelling Language

O X3D surgiu de uma revisão da especificação ISO VRML97, e incorpora os avanços dos recursos disponíveis  nos  últimos  dispositivos  gráficos  comerciais  e   também  incorpora melhorias na sua arquitetura. O núcleo da especificação do X3D está  em permanente desenvolvimento pelo X3D Specification Working Group (http://www.web3d.org/). 

O X3D possui diversos níveis de funcionalidades através das várias definições de perfis. Um   desses   perfis   é   chamado   de  Interchange  e   é   dirigido   especificamente   para ferramentas de criação de conteúdo digital (DCC) como AutoCAD, 3DMax e Maya.

Quais as principais diferenças entre X3D e o VRMLExistem   algumas   diferenças   entre   os   dois   padrões.   O   X3D   como   surgiu   do   VRML, aproveita  o   trabalho desenvolvido no VRML apresentando melhorias.  Começaram por alterar   as   premissas   básicas   que   foram   desenvolvidas   para   promover   uma   maior flexibilidade. Essas mudanças iniciaram pela especificação que sofreu um completo ajuste e que se dividiu em três especificações separadas:

Conceitos Abstratos; 

Formato de codificação para arquivos; 

Acesso a linguagem de programação.

Outras modificações foram implementadas para incluir a maior precisão com a iluminação e modelo de eventos e a troca de nomes de campos para criar uma maior consistência. 

As maiores e mais importantes melhorias foram:

Modelo de programação de aplicações revisto e unificado;

Figura 8: Modelo VRML 97 e X3D

Page 9: Vrml - Virtual Reality Modelling Language

Vários   formatos   de   codificação,   para   descrever   o   mesmo   modelo   abstrato, incluindo o XML; 

Arquitetura   modular   que   permite   uma   variedade   de   níveis   a   ser   adaptado   e suportado por diversos tipos de interesses;

Estrutura da especificação expandida.

O X3D só tem uma interface de programação de aplicações  (API), o que difere do VRML que possui uma API de script  interna e mais uma API externa. O fato de o X3D ter uma única API resolve diversos problemas que existiam no VRML97, o que  leva que X3D tenha uma implementação mais robusta e confiável.

O X3D também suporta vários tipos de codificações de arquivos, incluindo o VRML e o XML.   A   codificação   XML   permite   uma   integração   com   serviços   Web   e   arquivos   de transferência   de   dados   entre   plataformas.   Cada   uma   das   codificações   tem   as   suas vantagens para diferentes aplicações. Todas as codificações suportam todo o conjunto de características de X3D.

O   X3D   possui   uma   arquitetura   modular   para   promover   uma   maior   extensibilidade   e flexibilidade. A maioria das aplicações não necessitam de todos os recursos do X3D, e nem   todas   as   plataformas   suportam   a   totalidade   das   funcionalidades   definidas   na especificação.  Os  recursos  do  X3D são agrupados  em componentes  que  podem ser suportados   pela   implementação   em   uma   mistura   de   capacidades   para   atingir   as necessidades de uma plataforma em particular. O X3D também introduz o conceito de perfis   ­   um   conjunto   de   componentes   que   normalmente   são   encontrados   em   certos domínios  de  aplicações,  plataformas,  ou  um cenário  de  uso,  por  exemplo,   trocas  de geometrias entre ferramentas de modelagem. 

Diferente do VRML 97, onde é requerido um completo suporte das suas funcionalidades para que esteja em conformidade, o X3D permite vários níveis de suporte do padrão para atingir uma variedade de necessidades.

VRML e o CiberespaçoComo no ambiente virtual distribuído (DVE), alguns fatores que restringem o uso prático das tecnologias de mundos virtuais 3D na Internet são: 

Poder   computacional.  Mesmo   considerando­se   o   avanço   crescente   dos computadores, as plataformas capazes de criar interações 3D em tempo­real ainda são dispendiosas e complexas. Por outro lado, experiências focalizadas na solução de problemas mais restritos produzem efeitos satisfatório, como por exemplo, na criação de Shoppings Virtuais.

Page 10: Vrml - Virtual Reality Modelling Language

Fatores  humanos.  Embora  nossos  olhos  captem uma  visão  3D do  mundo,  a inteligência e cognição humanas criam modelos multi­dimensionais da realidade, onde   se   considera   as   dimensões   temporais,   a   noção   de   propriedade   e comunidade, etc. Esta capacidade humana de tratar multi­dimensionalidade sugere que   o   tridimensional,   embora   atraente   aos   olhos,   não   traz   necessariamente mudanças qualitativas e quantitativas à interação . 

Ausência   de   ferramentas   e   ambientes   de   desenvolvimento   adequados. Construções virtuais 3D são complexas de construir e alterar. É difícil possibilitar ao usuário a capacidade de acrescentar contribuições ao mundo 3D que explora. Isto contribui para transformar os mundos virtuais 3D em vitrines dispendiosas que oferecem   pouca   possibilidade   de   explorar   interações   emergentes.   O desenvolvimento  de  projetos  baseados  na   tecnologia   Java­3D  parece  oferecer soluções básicas para este problema. 

Alguma categorias de aplicações 3D para WEB:

Visualização de Produtos;

Maquetes Virtuais para Arquitetura;

Jogos On Line;

Treinamento à Distância.

Para  as  utilizações,   citadas acima,  é   preciso  algum  tipo  de  player,  pois  os  sistemas operacionais   ainda   não   suportam   3D   nativamente   variando   de   plataforma   (OpenGL, DirectX, etc.).

PlayersOs players podem ser do tipo ActiveX ou um Applet Java. No caso do Java o sistema já possui suporte para 3D, não sendo necessário na maior parte dos casos instalar o applet.

Geralmente os  players  baseados em  ActiveX  rodam em cima do  DirectX, enquanto os applets Java utilizam o OpenGL. 

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.

Page 11: Vrml - Virtual Reality Modelling Language

Exemplos de projetos em VRML (Java 3D)No exemplo abaixo o usuário pode “manusear” o aparelho de celular e conhecer as suas funcionalidades   antes   de   adquiri­lo.   (http://www.mio­tech.be/en/gps­navigation­device­Mio­A701­overview.htm)

No próximo exemplo é  apresentado um conjunto de  jóias.  É  possível   intergir  com os modelos mudando a cor. Clicando­se nas  jóias se escolhe o modelo. Clicando­se nas esferas se escolhe uma cor. (http://www.mon­bijou.net/demo.html)

Figura 9: Visão perpectiva do celular Figura 10: Visão do verso do  mesmo  celular

Figura 11: Visão com todas as jóias  com a escolhida em perspectiva

Figura 12: Visão da jóia escolhida  com a nova cor

Page 12: Vrml - Virtual Reality Modelling Language

No   exemplo   abaixo   a   proposta   é   a   interação   total   do   usuário   permitindo   construir, virtualmente,   a   sua   mesa   de   trabalho.   Através   de   opções   clicáveis   escolhe­se   os elementos pré­definidos que farão parte do projeto final da mobília. A ferramenta permite ainda   rotacionar   o   objeto.   Pode­se   observar   na   imagem   os   pontos   em   vermelho mostrando as opções que foram escolhidas. (http://formaspace.com/design_online.php   )  

Outras  engines  exclusivas   para   uso   em   Web   como   o  VET   player  da   Viewpoint (http://www.viewpoint.com/)   e  Wirefusion  da   DeMicron (http://www.demicron.com/gallery/index.html)   já   possuem   ferramentas   para   o desenvolvimento e a publicação de aplicações 3D para a Web.

Na   galeria   de   exemplos   da   Demicron   (Imagem   do   tenis   abaixo),   permite   interação (movimentação) do usuário com o produto mudando de vista.

Page 13: Vrml - Virtual Reality Modelling Language

Conclusão

A principal motivação para o desenvolvimento de ambientes 3D multi­usuários na Web está na possibilidade de transformar a Web de um espaço basicamente de informação para   um   lugar   social,   com   informação   e   com   uma   comunidade   de   usuários   que compartilham essa  informação e  interagem entre si.    Ainda que apenas um reduzido número   de   ambientes   virtuais   colaborativos   estejam   disponíveis,   estes   ambientes   já mostram um grande potencial.

 

Page 14: Vrml - Virtual Reality Modelling Language

Bibliografia Utilizada

VRML

http://www.cic.unb.br/~jhcf/MyBooks/ciber/doc­ppt­html/VRML.html

http://www.cic.unb.br/~jhcf/MyBooks/ciber/doc­ppt­html/

http://www.inf.pucrs.br/~manssour/VRML/Intro.html

http://www.uff.br/mestcii/sueli1.htm

http://www.dca.fee.unicamp.br/courses/IA368F/1s1998/Monografias/alberto/

X3D

http://people.ufpr.br/~aberutti/projetos/x3d/x3d.htm

http://lmbg.blogspot.com/2007/03/visualizador­web­3d.html

http://pt.wikipedia.org/wiki/X3D

Ambientes Virtuais Cooperativos e Colaborativos

http://www.inf.ufrgs.br/~nedel/cmp513/12­cooperative­vr­p.pdf

http://www2.dc.ufscar.br/~regina/apresentacoes/LDVE­USP.pdf