TÓPICOS DE INFORMÁTICA AVANÇADA II Criação de Ambientes Virtuais Processo de Desenvolvimento de Ambientes Virtuais Prof. Régis Albuquerque CRIAÇÃO DE AMBIENTES VIRTUAIS Para criar um mundo virtual interativo, é necessário modelar um ambiente composto por múltiplos objetos e habilitá-los com características virtuais. A maioria dos sistemas de construção de mundos virtuais compartilha alguns conceitos básicos e permitem aos desenvolvedores criar simulações bastante realistas. 2 CRIAÇÃO DE AMBIENTES VIRTUAIS O Universo representa o lugar aonde ocorre a experiência de RV, o lugar a ser modelado. Este universo contém Objetos, que são caracterizados por geometria, aparência e comportamento. Qualquer objeto é descrito por um conjunto de polígonos e “renderizado” utilizando técnicas e procedimentos da Computação Gráfica. A maioria dos softwares para criação de aplicativos de RV permite a importação e exportação de geometrias. 3 CRIAÇÃO DE AMBIENTES VIRTUAIS VRML, JAVA3D e X3D AVRIL Virtual Reality Studio e Cyberspace Development Kit VREAM Walkthrough e EON Studio WordToolkit World Up MicroM Alice 3D WebMaster VR Juggler TrueSpace Blender 4 VRML, JAVA3D E X3D VRML (Virtual Reality Modeling Language, que significa: Linguagem para Modelagem de Realidade Virtual) Utilizado tanto para a internet como para ambientes desktop. Por meio desta linguagem, escrita em modo texto, é possível criar objetos tridimensionais podendo definir cor, transparência, brilho, textura (associando-a a um bitmap). Os objetos podem ser formas básicas, como esferas, cubos, ovóides, hexaedros, cones, cilindros, ou formas criadas pelo próprio programador, como as extrusões. Não é necessário um software específico para a criação de arquivos VRML (embora existam), uma vez que os objetos podem ser todos criados em modo texto. 5 VRML MATERIAIS NECESSÁRIOS Um editor de textos simples. O Bloco de notas é ideal. Também vale qualquer outro editor em modo ASCII. E também podemos utilizar editores especializados como o VRML PAD. Um visualizador VRML para ver os resultados, que se instala no navegador como qualquer outro plug-in. Possivelmente seu navegador já está preparado para ver os mundos em VRML, e se não, tem que instalá-lo. Um visualizador muito conhecido é o Cosmo Player. 6 VRML PROGRAMAS QUE GERAM VRML 3ds Max Blender Wings 3D HoloDraw Art of Illusion Vivaty Studio DoGA Avatar Studio SolidWorks 7 8 9 10 11 12 13 14 15 16 17 JAVA 3D Java 3D é uma API 2D e 3D para a linguagem Java baseada em grafos de cena. Foi construída tendo como base o OpenGL. o Java 3D tem a preocupação de possibilitar a utilização de conceitos da POO, como o Polimorfismo, para a criação da aplicações em ambientes tridimensionais. O grafo de cena é estruturado como uma árvore contendo vários elementos que ditam o modo como a cena será construída e exibida, além de comportamentos que poderão ser observados ao longo do tempo (como animações, respostas a interação do usuário, colisões, etc). 18 JAVA 3D Java 3D também oferece suporte a uma lista extensa de periféricos que tornam mais imersiva a interação com o mundo virtual: Headsets, CAVE , som 3D espacial, suporte a telas múltiplas e visão estereoscópica. O Java 3D tem sido amplamente utilizado para ambientes de realidade virtual e tem ganhado espaço também no desenvolvimento de jogos. Uma prova disso é o surgimento de engines que tem como base o Java 3D 19 20 21 22 23 24 25 26 X3D 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 varios formatos de arquivos disponíveis para isso, incluindo o Extensible Markup Language(XML). O X3D surgiu de uma revisão da especificação ISO VRML97. O X3D possui diversos níveis de funcionalidades através das várias definições de perfis (profile). Um desses perfis é chamado de Interchange e é dirigido especificamente para ferramentas de criação de conteúdo digital (DCC) como AutoCAD, 3DSMax e Maya por trocar geometrias básicas sem nenhum modelo de execução 27 AVRIL Rend386: Software foi desenvolvido por Dave Stampe e Bernie Roehl na Universidade de Waterloo no Canadá. É uma ferramenta para programadores, pois exige conhecimentos da linguagem C e de geometria tridimensional. Com o REND386 é possível desenvolver mundos, deferir superfícies e atribuir cores. Programado para ser veloz, sua característica de animação permite a sensação virtual de tempo real. Uma nova versão deste software, contendo uma proposta de programação mais “amigável” foi criado e é denominada AVRIL. O Rend386 caiu em desuso. 28 VIRTUAL REALITY STUDIO E CYBERSPACE DEVELOPMENT KIT Virtual Reality Studio: Desenvolvido por uma empresa europeia de jogos interactivos, o Virtual Reality Studio permite modelar e visualizar paisagens 3D e interagir com objectos 3D animados nos cenários. Este software permite o uso de placas de som para produção de som interactivo e seu preço é directamente proporcional à resolução de suas imagens: baixo. O Cyberspace Development Kit: Da Autodesk é um software bastante potente. É um conjunto de bibliotecas para programadores C++ que permite interface com os dispositivos mais comuns de RV e geração de imagens em estéreo. Além de poder ser utilizado em diferentes plataformas (Windows, etc.), ainda reconhece arquivos com extensão DXF (modelados em CAD). Suporta uso em rede, com múltiplos usuários. 29 VREAM A VREAM, Inc. que desenvolveu o VREAM (Virtual Dream) foi a primeira empresa de software de RV que não exigiu habilidades de programação para construir um mundo virtual. O VREAM possui uma boa interface gráfica com o usuário e a capacidade de criar, mudar e apagar objectos, além de suportar som interactivo e imagens em estéreo. O VREAM permite também não só criar mas também visitar e interagir com mundos virtuais em tempo real, usando um mouse ou joystick, bem como dispositivos de entrada e saída de dados mais exóticos. Permite também que vários usuários explorem o ambiente ao mesmo tempo. Com ele, é possível caminhar ou voar para qualquer ponto do espaço criado, além dos objectos deste espaço poderem possuir propriedades elásticas e de gravidade embutidas. 30 WALKTHROUGH E EON STUDIO Projetado pela Virtus Corporation, o WalkThrough é um programa de modelagem e visualização 3D. Apesar de não suportar imagens em estéreo nem som interativo, o WalkThrough é considerado RV pelo fato de permitir que através dos dispositivos de entrada e saída convencionais (monitor, teclado e mouse) possa-se caminhar pela cena criada. Seu principal objetivo é auxiliar no desenvolvimento conceitual de estruturas e construções civis. 31 WORDTOOLKIT A Sense8 foi fundada por uma dupla de hackers americanos que pretendia fornecer aos seus companheiros programadores ferramentas de RV de tempo real, independentes de plataforma (máquina utilizada). Surgiu então o WorldToolKit para Windows, um software bastante potente que oferece vídeo em tempo real, suporte para som interativo e exige sólidos conhecimentos de programação. Basicamente, o pacote é uma vasta biblioteca em C com funções que simplificam o processo de criação de simulações 3D interativas em tempo real. 32 WORLD UP Combina várias tecnologias em um ambiente integrado que permite ao usuário desenvolver e construir simulações complexas. Simulações visuais nas quais os objetos gráficos possuem propriedades e comportamentos reais. 33 MICROM O MicroM constitui uma ferramenta de autoria para a criação de adventures educacionais (jogos de aventura). A ferramenta em si permite ao autor a criação de objetos virtuais e também a disposição destes objetos, constituindo assim os cenários do ambiente. A ferramenta possui alguns componentes básicos: ambiente físico virtual, composto pelos objetos (orientados a eventos) e por cenários; interface capaz de permitir que um ou mais usuários interajam no mundo. 34 MICROM As operações de inspeção e de navegação pelo ambiente são realizadas através do browser 3D (Community Place Browser da Sony) capaz de implementar as possibilidades de caminhar e flutuar dentro do ambiente, além de rotacionar um objeto, aproximar-se ou distanciar-se dele. O MicroM permite criar um mundo virtual, selecionar um mundo anteriormente criado e excluir mundos antigos. Este processo é interativo e pode ser feito através de uma interface amigável composta por diversos elementos: tela principal, barra de ferramentas e menus. Os mundos podem ser visualizados de maneira frontal e aérea. 35 36 37 ALICE É uma ferramenta de autoria de mundos 3D, desenvolvido na Virginia University, que atualmente possui direitos reservados à Carnegie Mellon University. Visa auxiliar o desenvolvimento de ambientes 3D interativos. A ferramenta em si não permite a construção de objetos 3D e sim a criação de comportamentos para os objetos que compõem uma biblioteca da ferramenta. 38 3D WEBMASTER É outra ferramenta para projetar ambientes interativos 3D que pode ser utilizada para aplicações comerciais, de entretenimento, ou apenas para fins ilustrativos. O software permite uma integração total de HTML com uma interface Java, possibilitando duas vias de comunicação para o desenvolvedor entre uma página 3D e um Applet Java ou JavaScript. 39 VR JUGGLER VR Juggler é um framework que esconde a complexidade da infra-estrutura e das especificações dos nós (dispositivos, monitores e computadores). As aplicações são independentes dos dispositivos de entrada/saída. Os desenvolvedores podem acessar diretamente as API gráficas (OpenGL ou OpenGL Performer) e utilizar diversos dispositivos como luvas, mouses, monitores e capacetes de visualização. Foi projetado como uma solução padrão para aplicativos de RV. 40 41 42 TRUESPACE TrueSpace é uma poderosa ferramenta de modelagem e animação 3D, com vários anos de tradição. A sua primeira versão foi lançada em 1994, e o programa foi sendo aperfeiçoado ao longo do tempo, lentamente se tornando uma das alternativas mais respeitáveis de sua área. Em 2008, a companhia produtora foi adquirida pela Microsoft, e então o software passou a ser distribuído gratuitamente 43 44 45 46 BLENDER Blender (também conhecido como blender3d) é um programa de computador de código aberto, desenvolvido pela Blender Foundation, para modelagem, animação, texturização, composição, renderização, edição de vídeo e criação de aplicações interativas em 3D, tais como jogos, apresentações e outros, através de seu motor de jogo integrado, o Blender Game Engine. Está disponível sob uma licença dupla: BL / GNU General Public License. O Blender ainda tem partes licenciadas sob a Python Software Foundation License. 47 48 49 VRML m 50 51 52 PRÁTICA Criação de um ambiente virtual: 1 – Descrever o cenário (Lugar: rua, casa, prédio; Tempo: chuva, sol, noite; Outros aspectos) 2 – Descrever os objetos do cenário (Pessoas, animais, plantas, formas, coisas, etc). Os objetos podem ser importados. 3 – Descrever as caracteristicas e posições dos objetos. Obs.: Pode-se esquematizar ou desenhar uma prévia de como seria o cenário. O ambiente pode possuir sons ou musicas. 53