Prototipagem Rápida de Aplicações Interativas de
Transcrição
Prototipagem Rápida de Aplicações Interativas de
KIRNER, C. Prototipagem Rápida de Aplicações Interativas de Realidade Aumentada. Tendências e Técnicas em Realidade Virtual e Aumentada, SBC, Porto Alegre, V. 1, N. 1, 2011, p. 29-54. Prototipagem Rápida de Aplicações Interativas de Realidade Aumentada Claudio Kirner Abstract Augmented reality applications are interesting, but they are difficult to develop and customize, mainly by non-expert people. However, there are authoring tools which make easy this development. This chapter focuses on the augmented reality authoring problem, related to the development and use of applications. It describes an authoring tool, showing how to use it on rapid prototyping of augmented reality interactive applications, without the need of programming skills. A developed example using this tool is described and the impact of this approach is discussed, considering different types of potential authors and applications. Resumo As aplicações de realidade aumentada são interessantes, mas difíceis de serem desenvolvidas e personalizadas, principalmente por não especialistas em computação. No entanto, existem ferramentas de autoria que facilitam esse desenvolvimento. Este texto aborda o problema da autoria de aplicações de realidade aumentada, relacionado com o desenvolvimento e uso das aplicações, em diversos níveis. É descrita uma ferramenta de autoria e seu uso na prototipagem rápida de aplicações interativas de realidade aumentada por não programadores. Também é mostrado um exemplo desenvolvido com esta técnica e as repercussões dessa abordagem são discutidas, levando em conta os diversos tipos de autores e aplicações em potencial. 1. Introdução As aplicações espaciais mediadas por computador, incluindo navegação, busca de pontos de interesse, jogos tridimensionais, ferramentas educacionais tridimensionais, etc., estão aumentando com o uso de Realidade Aumentada. Atualmente, a convergência tecnológica permite o desenvolvimento de aplicações que envolvem diferentes recursos funcionando juntos, como: GPS, acelerômetros, câmeras, telefones celulares, notebooks, ipads, etc. A criação dessas aplicações depende fortemente de programadores e técnicos. Entretanto, há muitas pessoas sem conhecimento de programação, interessadas em desenvolver aplicações de realidade aumentada. Para contornar esse problema, algumas ferramentas de autoria de aplicações estão fornecendo recursos para não programadores, a fim de que eles possam criar suas próprias aplicações [Seitchter, Looser e Billinghurst 2008]. É importante mencionar que essas aplicações devem ser independentes de compiladores, usando, no entanto, edição de texto, procedimentos de configuração, interface visual e ações tangíveis. Portanto, a principal questão deste trabalho é: como não programadores poderiam desenvolver suas próprias aplicações de realidade aumentada, usando recursos de edição e configuração de parâmetros textuais e manipulação de elementos espaciais? Para responder essa questão, será feita, inicialmente, uma contextualização dos conceitos envolvidos, levando em conta o estado da arte da tecnologia. Depois, será realizada uma análise das ferramentas de autoria de aplicações de realidade aumentada, enfatizando suas características relacionadas com independência de programação e/ou conhecimentos técnicos. Em seguida, a ferramenta “Sistema de Autoria Colaborativa com Realidade Aumentada” (SACRA) será descrita e discutida, sob o ponto de vista da geração de aplicações. Os recursos de suporte à ferramenta SACRA serão analisados e descritos e um exemplo de aplicação será detalhado. Finalmente, serão apresentadas as tendências da área de realidade aumentada e suas aplicações, procurando destacar características como custo, disponibilidade, adaptação, customização e personalização. 2. Conceitos de Realidade Virtual e Aumentada Realidade Virtual (RV) e a Realidade Aumentada (RA) tiveram seus conceitos originados na década de 1960, com os trabalhos de Ivan Sutherland [Sutherland 1963, 1965, 1968]. De lá para cá, muita coisa mudou e a tecnologia evoluiu, exigindo, em certos casos, uma atualização dos conceitos. 2.1. Realidade Virtual A RV surgiu como uma primeira opção de interface tridimensional, propiciando ao usuário interações naturais, com o uso das mãos, em ambientes virtuais renderizados na tela do monitor, em projeções em tela, ou em projeções nos olhos, através de capacetes de RV (Head Mounted Display – HMD). Para a interação com os elementos virtuais, são necessários dispositivos especiais multisensoriais, como luvas com sensores e rastreadores, dispositivos de tato e força, mouses 3D, óculos estereoscópicos, emissores de sons espaciais, etc. Uma definição de RV é: “realidade virtual é uma interface computacional avançada que envolve simulação em tempo real e interações, através de canais multisensoriais” (Burdea e Coiffet 2003). Outra definição, mais específica, é: realidade virtual é uma interface computacional que permite ao usuário interagir, em tempo real, em um espaço tridimensional gerado por computador, usando seus sentidos, através de dispositivos especiais. O usuário pode perceber o mundo virtual, através de uma janela constituída pela tela do monitor ou pela tela de projeção, ou ser inserido no mundo virtual, através de HDM ou de salas com multiprojeção (cavernas) e dispositivos de interação. Quando o usuário é transportado totalmente para mundo virtual, através de dispositivos multisensoriais como HDM e salas de multiprojeção, a realidade virtual é denominada “Imersiva” (Figura 1a). Quando o usuário é transportado parcialmente, percebendo o mundo virtual através de uma janela, como a tela do monitor ou equivalente, a realidade virtual é denominada “Não Imersiva” (Figura 1b). a) RV imersiva b) RV não imersiva Figura 1. Realidade virtual imersiva e não imersiva 2.2. Realidade Aumentada A definição de RA tem sido atualizada, em função da evolução tecnológica. Inicialmente, o aumento do ambiente real ocorria através de elementos visuais; mas, com o desenvolvimento de interações sonoras e hápticas associadas a posições espaciais, ocorrendo em tempo real, houve uma expansão no conceito. Neste contexto, uma definição mais abrangente é que realidade aumentada consiste no enriquecimento do mundo físico com objetos virtuais devidamente posicionados em tempo real, através de algum dispositivo tecnológico. A Figura 2 ilustra o resultado do enriquecimento do mundo físico com elementos virtuais. Figura 2. Ambiente de realidade aumentada Uma definição mais atualizada é: realidade aumentada é uma interface baseada na sobreposição de informações virtuais geradas por computador (envolvendo imagens estáticas e dinâmicas, sons espaciais e sensações hápticas) com o ambiente físico do usuário, percebida através de dispositivos tecnológicos e usando as interações naturais do usuário, no mundo físico. Uma maneira de trazer as informações virtuais para o espaço físico do usuário é usando uma webcam, que captura dinamicamente as imagens do ambiente físico e rastreia determinadas posições, permitindo que o computador introduza ou acione informações virtuais associadas com as posições. O resultado pode ser visto, ouvido e sentido em monitores, projeções, capacetes e dispositivos hápticos, dando sensação de realismo ao ambiente híbrido. 3. Trabalhos Relacionados Durante os últimos dez anos, surgiram várias ferramentas de autoria de aplicações de realidade aumentada, voltadas para o desenvolvimento de aplicações especiais mediadas por computador. Essas ferramentas podem ser classificadas, de acordo com suas características de programação e de projeto de conteúdo em baixo nível e alto nível, apresentando diferentes abstrações de conceito e complexidade de interface [Hampshire et al. 2006], [Seitchter, Looser e Billinghurst 2008]. Programação é, geralmente, mais complexa, apresentando mais flexibilidade e possuindo menor nível de abstração de conceito do que projeto de conteúdo. Projeto de conteúdo tende a ser menos complexo e flexível, apresentando maior nível de abstração de conceito. Portanto, conforme a abstração de conceito aumenta, a interface fica mais simples e menos flexível. Ferramentas de programação são baseadas em APIs básicas ou avançadas, contendo bibliotecas, envolvendo tarefas como: visão computacional, ajustes de imagem, renderização tridimensional, sons, entrada e saída e outras funções. ARToolKit [Kato e Billinghurst 1999], MR [Uchiyama et al. 2002] em MX [Dias et al. 2003] são exemplos de ferramentas de programação de baixo nível, enquanto que Studierstube [Schmalstieg et al. 2002], OrgArt [Looser 2006] e DWARF [Bauer et al. 2001] são ferramentas de programação de alto nível. ARToolKit é uma das primeiras ferramentas de realidade aumentada que usam marcadores e visão computacional. Para utilizá-la criar aplicações de realidade aumentada, os desenvolvedores precisam ter habilidades com programação em C/C++. Ferramentas de projeto de conteúdo eliminam a dependência da linguagem de programação, substituindo-a pela descrição dos objetos virtuais e de seus relacionamentos com o ambiente real. APRIL [Ledermann e Schmalstieg 2005] é um exemplo de baixo nível desse tipo de ferramenta, que requer descrições em XML. Ferramentas de projeto de conteúdo de alto nível usam interfaces gráficas de usuários (GUI) para representar as descrições e interações, como ocorre com: DART [MacIntyre et al. 2004], AMIRE [Grimm 2002], ECT [Hampshire et al, 2006], ComposAR [Seitchter, Looser e Billinghurst 2008] e ARSFG [Di Wu e Liu 2009]. DART é uma ferramenta implementada sobre o Macromedia Director, usando um modelo de autoria visual do tipo “pegar-arrastar-soltar” e uma linguagem de script (descrições textuais) interpretada. AMIRE baseia-se em uma estrutura que usa a tecnologia orientada a componentes, apresentando: um conjunto mínimo de componentes para demonstração, uma coleção de recursos reusáveis e uma ferramenta de autoria visual. ECT é uma ferramenta de software orientada a componentes, com uma interface de programação visual projetada para facilitar o desenvolvimento de aplicações de realidade aumentada, por usuários com pouca ou nenhuma experiência em programação. ComposAR é uma ferramenta extensível, para autoria de aplicações de realidade aumentada por usuários não programadores. Ela suporta script e interface do tipo “pegar-arrastar-soltar”, além de entrada interpretada em tempo real e funcionalidades adicionadas por usuários. ARSFG é uma ferramenta de software para prototipagem rápida de aplicações de realidade aumentada, baseada em grafos de cena, que permite colaboração remota através de protocolo baseado em XML. Um projeto de conteúdo em alto nível deve ser mais intuitivo e adequado para não programadores. Por isso, exige que suas ferramentas suportem script e/ou interface visual, novas funcionalidades adicionadas pelos usuários e interpretação em tempo real. A ferramenta SACRA, enfocada nesse trabalho, difere das demais aqui indicadas, uma vez que possui as seguintes características: - A ferramenta foi implementada sobre o ARToolKit; - A autoria de aplicações depende da edição de arquivos de configuração e/ou de operações tangíveis; - Há diferentes níveis de autoria, que podem ser usados, dependendo das habilidades dos desenvolvedores, que não precisam ser programadores; - Há um suporte colaborativo que permite múltiplos usuários remotos atuando no ambiente compartilhado de realidade aumentada, usando ações tangíveis. - O desenvolvedor das aplicações pode usar ações tangíveis, edição de arquivos de configuração, e mouse e teclado, mas o usuário final poderá interagir com a aplicação de realidade aumentada, usando somente um ou dois marcadores. 4. Descrição da Ferramenta SACRA O desenvolvimento de aplicações de realidade aumentada depende de: estrutura de dados e pastas que suportam a ferramenta de autoria; interface de autoria, incluindo tarefas de configuração e comandos; e procedimentos de utilização que permitem ao usuário final navegar ambiente aumentado e interagir com ele. Para facilitar o desenvolvimento de aplicações de realidade aumentada, foi criada a ferramenta de autoria SACRA - Sistema de Autoria Colaborativa com Realidade Aumentada [Kirner e Santin 2009]. Essa ferramenta apresenta características próprias de autoria e de uso, além de possibilitar a colaboração remota compartilhada. A ferramenta SACRA foi construída sobre o ARToolKit, incluindo também funcionalidades adicionais programadas em C/C++. Manuais e exemplos de aplicação do SACRA são distribuídas livremente pelos autores [Kirner 2011]. 4.1. Estrutura do Ambiente de Realidade Aumentada RA envolve muito mais do que sobrepor objetos virtuais com o mundo físico. Neste trabalho, o ambiente aumentado (Figura 3a) contém: objetos reais; objetos virtuais interativos, que são alterados em certas situações; objetos virtuais animados, que podem ser ativados ou desativados; objetos virtuais visíveis ou invisíveis, que desaparecem e aparecem em certos casos; pontos virtuais visíveis ou invisíveis, que podem ser ativados ou desativados; sons associados aos objetos; e pontos, que podem ser acionados ou desacionados, etc. Além disso, o ambiente de realidade aumentada pode ser modificado, depois de ser elaborado, usando criação, alteração e eliminação de pontos virtuais, objetos virtuais e sons associados. a) Ambiente aumentado b) Estrutura de dados c) Pastas do desenvolvedor Figura 3. Organização do ambiente de RA 4.2. Estrutura de Dados e Pastas A estrutura de dados do ambiente de RA (Figura 3b) a ser elaborado, tem como raiz os marcadores de referência. Um marcador de referência possui uma base virtual associada, contendo pontos virtuais, objetos virtuais e sons que aparecem ou são adicionados na base, de acordo com a Figura 3a. Esses elementos devem ser colocados em pastas (Figura 3c), que o desenvolvedor deverá manipular para criar o ambiente de RA. A ferramenta tem cinco tipos de pastas, configuráveis pelo desenvolvedor, sendo que algumas delas podem conter arquivos também configuráveis. Essas pastas referem-se a: posição dos pontos virtuais; posição dos objetos virtuais; objetos virtuais; texturas e sons. Os sons podem ser associados aos objetos virtuais ou, na falta deles, às posições dos pontos virtuais (Figura 3c). Dependendo do tipo de aplicação e do nível de autoria, o desenvolvedor poderá manipular um conjunto menor de pastas, envolvendo somente texturas e sons, por exemplo. Neste caso, a autoria fica extremamente simplificada, embora restrita, permitindo que pessoas com pouco conhecimento de informática possam ser autores de ambientes de realidade aumentada. Nas seções seguintes, serão apresentados exemplos desse tipo de autoria, que é muito útil para a área educacional, permitindo que professores do ensino fundamental e médio, com poucos recursos e conhecimento na área de informática, possam desenvolver aplicações educacionais específicas. 4.3. Interfaces de Autoria Na fase de autoria, a aplicação de RA pode ser desenvolvida por meio de edição de pastas e arquivos e/ou ações tangíveis realizadas no campo de visão da webcam. Os recursos necessários para criar pontos virtuais, associando a eles objetos virtuais e sons, são: marcadores de ações; botões do teclado; botões do mouse; e pastas e arquivos de configurações. Marcadores de Ações Marcadores de ações permitem a execução de ações tangíveis capazes de manipular pontos e objetos virtuais associados à base virtual, conforme a Figura 4. Ambiente físico Figura 4. Ambiente de RA e seus marcadores Nesse ambiente, pontos e objetos virtuais, ligados a um marcador de referência, possuem pequenas esferas virtuais visíveis ou invisíveis com eles associadas. Cada marcador de ação também tem uma pequena esfera, virtual que pode ser manipulada pelo usuário, visando colidí-la com alguma esfera associada ao marcador de referência. Quando o marcador de ação é movimentado no ambiente de realidade aumentada, sua esfera virtual serve como um ponteiro capaz de tocar as esferas virtuais associadas ao marcador de referência, executando ações nos pontos ou objetos virtuais correspondentes. As colisões, que selecionam os pontos ou objetos virtuais, dependem de certas situações do marcador de ação, para que as ações sejam executadas. No SACRA, a colisão mantida por alguns milissegundos é que seleciona o objeto, mas gestos como inclinação ou oclusão do marcador também podem ser usados em certas situações. Os marcadores de ações usados no SACRA são: - Inspeção: mostra o objeto virtual associado ao ponto virtual; - Controle: mostra o próximo objeto virtual de uma lista de objetos associados ao ponto virtual; - Transporte: leva um objeto virtual de uma posição para outra; - Apagamento: apaga um ponto virtual e seu objeto ou lista de objetos; - Status: mostra uma placa virtual com informações sobre o sistema; - Trava: trava ou destrava ações remotas em objetos associados a um ponto virtual; - Cópia: replica o objeto virtual a ser colocado em outra posição de outro marcador de referência; - Trajetória: permite criação e visualização de uma trajetória visual feita de uma posição a outra. Teclado e Mouse Algumas teclas do teclado e botões do mouse podem ativar ações complementares no ambiente de RA, atuando sozinhos ou em conjunto com os marcadores de ações. Essas teclas e botões podem ativar ou desativar: visualização de pontos e objetos virtuais; operações remotas; criação de trajetórias; visualização de status; persistência de objetos virtuais; etc. Eles também podem controlar a posição e o raio das esferas virtuais associadas com os marcadores, para melhorar a precisão e desempenho no processo de seleção de pontos e objetos virtuais. Quanto menor for o raio das esferas virtuais, maior será a dificuldade de seleção; mas, em alguns casos, quando houver pontos próximos, será necessário obter melhor precisão, para ser bem sucedido na operação. O botão do mouse, atuando conjuntamente com o marcador de inspeção, permitirá a criação visual de pontos virtuais no ambiente de realidade aumentada, possibilitando uma reconfiguração posterior através da edição de arquivos de configuração. A lista de teclas e ações do mouse que são considerados no SACRA pode ser obtida no site da ferramenta [Kirner 2011]. Arquivos de Configuração Os arquivos de configuração do SACRA podem ser criados pelo usuário ou editados, a partir dos arquivos contidos na versão de distribuição (Figura 5). Além disso, também é possível editar os arquivos gerados no processo de criação visual de pontos virtuais. Esses arquivos contêm informações de autoria fornecidas pelo usuário, de forma a preparar o sistema para uso ou para configurações visuais complementares. Os arquivos de configuração editáveis são: a) Arquivo do Marcador de Referência (refi.dat), contendo: - indicação da base virtual associada com o marcador; - posição, orientação e escala da base virtual; - indicação do som associado com a base virtual, se existir; - indicação da lista de pontos virtuais; - indicação do ponto virtual de ativação da lista. Figura 5. Pastas e arquivos da versão de distribuição do SACRA Esse arquivo encontra-se na pasta <SACRA\Wrl\reference>, na versão de distribuição, tendo a aparência mostrada na Figura 6a. Figura 6. Arquivos de configuração do SACRA b) Arquivo da Lista de Pontos de um Marcador de Referência (prefi.dat), contendo: - posição e orientação do ponto que irá receber a lista de objetos virtuais e sons; - endereço da lista de objetos virtuais com seus sons. Esse arquivo encontra-se na pasta <SACRA\position>, na versão de distribuição (Figuras 6b1 e 6b2). O arquivo da Figura 6b1 foi criado por meio de edição e mostra um ponto virtual com uma lista de objetos. O arquivo da Figura 6b2 mostra três pontos virtuais, cada um com uma lista diferente de objetos. Esses pontos virtuais foram criados por autoria visual, motivo pelo qual possuem parâmetros não exatos. c) Arquivo de uma Lista de Objetos Virtuais de um Ponto (ex. animais.dat), contendo: - objeto virtual 1: - indicação do modelo 3D do objeto virtual 1; - posição, orientação e escala do objeto virtual 1; - indicação do som associado com o objeto virtual 1. - objeto virtual m; - informações similares no objeto virtual 1. Um editor de texto simples, como o bloco de notas, pode ser usado para criar ou editar os arquivos de configuração. Esse arquivo encontra-se na posição <SACRA\animais>, na versão de distribuição (Figura 6c). Pastas As pastas mencionadas aqui são recursos preenchidos pelo desenvolvedor não programador, contendo informações úteis para a criação do ambiente de RA aumentada. Há quatro pastas no sistema SACRA, contendo: informações de configuração de posição de pontos (position); lista de objetos virtuais, contendo informações de configuração de posições dos objetos virtuais e sons e os próprios objetos virtuais (ex. animais); sons (audio); e texturas (textura), conforme a Figura 7. Figura 7. Hierarquia de recursos do SACRA A pasta de informações de posição de pontos (position) contém arquivos de configuração relativos aos marcadores de referência, indicando seus pontos e listas de objetos virtuais. A pasta com uma lista de objetos virtuais (ex. animais) contém o arquivo de configuração dos objetos da lista, indicando suas posições e os sons associados, e os próprios objetos virtuais. A pasta de sons contém todos os sons usados no sistema, incluindo as narrações. A pasta de texturas (textura) contém imagens usadas nos objetos virtuais para dar mais realismo ou passar informações. Os conteúdos das pastas devem ser ali colocados antes de serem usados, mas alguns deles podem ser modificados durante a fase de utilização, principalmente os arquivos de configuração. O SACRA também tem comandos para salvar e restaurar o ambiente de RA, de forma que a autoria possa ser interrompida e continuada depois. Procedimentos de Utilização Na fase de utilização, o usuário final deverá manipular o ambiente de realidade aumentada, usando ações tangíveis com marcadores específicos. Os marcadores mais usados são os de Inspeção e Controle, que permitem a exploração do ambiente, mostrando os objetos virtuais e os sons associados em cada ponto. Entretanto, visando deixar o sistema mais potente, é possível reconfigurar o ambiente durante a fase de utilização, alterando o ambiente de RA inicialmente projetado. Esse procedimento permite uma personalização do ambiente. O usuário, poderá então mudar a visibilidade dos pontos e objetos virtuais, trocar alguns objetos virtuais por outros, fazer cópia e movimentar objetos virtuais, eliminar pontos e objetos virtuais, etc. Essas ações são simples e requerem menor esforço, em comparação com a autoria inicial. Assim, a reconfiguração estática do ambiente de realidade aumentada, obtida através de edição de arquivos de configuração, juntamente com a reconfiguração dinâmica, obtida por meio de alteração de elementos do ambiente e de ações tangíveis importantes para a personalização da aplicação, são muito úteis em jogos e em aplicações educacionais. Além disso, o sistema tem um marcador de referência especial (Ref1), que permite interligar vários usuários em rede, atuando sobre o mesmo ambiente de Ra e proporcionando trabalhos colaborativos remotos. Quando o usuário coloca o marcador de referência colaborativo (Ref1), ele é conectado à rede e passa a interagir em um ambiente compartilhado de RA, explorando e alterando os elementos local e remotamente. Esta característica é muito útil em jogos e aplicações educacionais, permitindo o trabalho em grupo de usuários remotos. 5. Recursos para o Desenvolvimento de Aplicações de RA Além da ferramenta de autoria SACRA, o desenvolvedor precisará conhecer e usar alguns softwares para ter sucesso na elaboração do ambiente de RA. Ele deverá ser capaz de capturar, produzir e editar imagens, sons e objetos virtuais estáticos e animados. 5.1. Preparação de Imagens As imagens, no ambiente de realidade aumentada, são utilizadas como texturas para os objetos virtuais, visando fornecer maior realismo ou renderizar informações (figuras e anotações) para os usuários. Essas texturas podem ser feitas à mão e escaneadas, capturadas de bibliotecas em repositórios multimídia ou produzidas com o uso de editores de texto e de imagens. Qualquer editor de texto ou de texto e imagem, como Bloco de Notas, Word, PowerPoint ou recursos do OpenOffice, pode ser útil na elaboração da textura. Para capt urar texturas da tela do computador, no formato jpg, usa-se capturadores de imagem como o Free Screen Hunter, por exemplo. Deve-se ter um cuidado especial para que os arquivos das texturas capturadas, produzidas ou editadas sejam leves, mas mantendo boa qualidade de imagem, para que a aplicação, envolvendo um grande número de texturas, não dificulte o processo de distribuição pela Internet. 5.2. Preparação de Sons e Narrações Os sons, acionados quando os objetos virtuais são ativados, podem ser ruídos ou narrações. Eles podem ser obtidos de repositórios ou gravados. No caso de narrações, a gravação é mais apropriada, uma vez que dificilmente será encontrada uma narração específica. Qualquer software de gravação de som pode ser usado, desde que o arquivo resultante seja leve e do tipo wav, pelos mesmos motivos já explicados para imagens. Um software de gravação de sons interessante é o Free Sound Recorder, que é bem intuitivo e permite a seleção de qualidade do som. Para narrações, pode-se usar uma qualidade baixa, pois o interesse está na informação narrada. 5.3. Preparação de Objetos 3D e Animações Como o SACRA é baseado em objetos virtuais do tipo VRML, é necessário que a captura, produção e edição desses objetos tenha capacidade para tratar esse formato. A captura de objetos 3D de repositórios VRML está ficando difícil, uma vez que esse formato é um pouco antigo. No entanto, é possível usar editores de modelos 3D que convertem outros formatos para VRML, utilizando-se assim outros repositórios mais recentes, como o Armazém 3D do Google. Outra maneira de se obter os objetos virtuais VRML é produzí-los diretamente, usando textos, ou visualmente usando ferramentas como Vivaty, Blender, SketchUp, 3DS Max, etc., que possuem recursos para exportação dos modelos em VRML. Além do modelo estático, é muito útil dispor-se de modelos animados. Os softwares de modelagem já citados fazem bem essa tarefa, com destaque para o Vivaty, pela sua leveza e simplicidade. Da mesma maneira que as imagens e sons, recomenda-se produzir arquivos leves para o bom desempenho do SACRA, bem como para facilitar a distribuição da aplicação de RA. 5.4. Outras considerações Embora o uso de vídeo e de Gif animado seja interessante no ambiente de realidade aumentada, o SACRA não permite esse tipo de recurso. No entanto, novas versões do SACRA, como a que estamos desenvolvendo com FlartoolKit [Saquoosha 2011], deverão permitir formatos de objetos 3D mais modernos, como COLLADA, e o uso de vídeo e GIF animado, aplicados como texturas. 6. Prototipagem Rápida de uma Aplicação de Multimídia Espacial com RA Embora o SACRA e outras ferramentas de autoria de aplicações de RA sejam potentes, muitas vezes usa-se muito pouco de suas potencialidades para desenvolvimento de aplicações mais simples. É o caso de aplicações de multimídia espacial com realidade aumentada, que permite o acionamento de pontos no espaço para mostrar informações interativas visuais e sonoras. Embora simples, essas aplicações atendem a maioria das necessidades dos usuários em certos campos do conhecimento, além de serem mais acessíveis e fáceis de serem personalizadas, por possuírem interfaces mais simples e amigáveis. Por outro lado, essas aplicações não exploram todo potencial da renderização tridimensional, mas este é o preço da simplicidade de elaboração e de uso da aplicação de RA, usando multimídia espacial. Para ilustrar o processo de prototipagem rápida de aplicações multimídia com RA, será utilizado o desenvolvimento do jogo de perguntas e respostas P&R-RA (ou Q&A-AR, em inglês). O desenvolvimento do jogo pode ocorrer em dois níveis: 1º) desenvolvimento da estrutura do jogo; 2º) desenvolvimento do conteúdo do jogo (Figura 8). Figura 8. Diagrama de camadas de uma aplicação de RA com SACRA Esses dois níveis de desenvolvimento podem ser obtidos por prototipagem rápida, sendo que o primeiro, usando o SACRA, exige algum conhecimento de modelagem 3D e posicionamento espacial, além de um certo domínio da linguagem VRML e de suas ferramentas. O segundo nível limita-se ao desenvolvimento de conteúdo (texturas e sons), permitindo que usuários sem conhecimento de programação e com o mínimo conhecimento de informática, possam produzir suas próprias aplicações com pouco esforço e rapidez. Essa situação encaixa-se perfeitamente no perfil dos professores de ensino fundamental e médio, interessados em produzir aplicações personalizadas para as suas salas de aula. 6.1. Descrição do Jogo Educacional de Perguntas e Respostas O jogo educacional de perguntas e respostas suportado por RA foi elaborado como um artefato formado por dois planos perpendiculares, contendo um plano vertical para mostrar de perguntas e respostas e um plano horizontal para interação e complementação de informações (Figura 9a). a) Estrutura física b) Estrutura virtual Figura 9. Estrutura física e virtual do jogo O jogo é baseado em uma corrida de carros, em que o sistema faz perguntas e os usuários respondem e verificam se as respostas estão certas ou erradas. Se um usuário acertar, ele ganhará pontos e receberá instruções para mover seu carro para frente, no trajeto. Se errar, ele não ganhará pontos e receberá instruções para recuar seu carro no trajeto. O conjunto de perguntas e respostas deverá ser focado em um determinado tema ou poderá ser de conhecimentos gerais. O jogo tem uma série de pontos físicos coloridos nos planos e sobre os carros, além de pontos virtuais coincidentes com os pontos físicos (Figura 9b). Um ponteiro físico com um marcador associado será o responsável pelas interações, de forma que a ponta do marcador tenha um ponto virtual que fará colisão com os pontos virtuais dos planos e dos carros (Figura 10a). a) Recursos físicos móveis b) Elementos de interação Figura 10. Recurso físicos e virtuais do jogo O ponto virtual de um carro só será ativável, quando o carro estiver sobre uma célula da trajetória (Figura 10b), fazendo com que seu ponto físico coincida com o ponto espacial da célula do trajeto. a) Ambiente do jogo com RA b) Interação entre pontos físicos e virtuais Figura 11. Ambiente de RA e detalhes da interação Para o jogo funcionar, o artefato deverá ser colocado no campo de visão da webcam e seu aplicativo deverá ser executado. A visualização ocorrerá na tela do monitor e o computador emitirá sons em resposta às interações (Figura 11a). No primeiro toque no ponto da célula sobre o carro (Figura 12), o sistema apresentará a pergunta ilustrada no plano vertical com as opções de resposta e informações complementares no plano horizontal. Figura 12. Ativação da pergunta Além disso, o usuário deverá marcar, no plano horizontal, a opção que ele acredita estar correta (Figura 13). Para isto ele deverá aproximar o ponteiro com o marcador de Controle (C) do botão impresso, correspondente à opção que ele julga estar correta, ativando-o, de forma a ficar na cor azul. Se o usuário decidir mudar a opção, ele poderá desativar o botão ativado, usando novamente o ponteiro e ativar outro botão de sua preferência. Figura 13. Ativação da opção correta O segundo toque no mesmo local (Figura 14) mostrará a resposta no plano vertical e marcará a opção correta no plano horizontal. Se a opção marcada pelo sistema coincidir ou não com a opção do usuário, ele identificará seu acerto ou erro e verá as instruções sobre o que fazer, avançando ou recuando seu carro e anotando seus pontos. Figura 14. Ativação da resposta Finalmente, o usuário desativará os pontos ativos, preparando o jogo para o próximo usuário, e moverá o seu carro para a nova posição, de acordo com as instruções (Figura 15). Figura 15. Desativando os pontos e movendo o carro 6.2. Implementação da Estrutura do Jogo A estrutura física do jogo educacional foi construída com dois planos perpendiculares feitos de isopor, mas poderiam ter sido usados outros materiais como madeira, plástico, etc. O marcador, os pontos físicos (botões) e a trajetória com as células do jogo foram impressos e colados. Os acessórios, como ponteiros com marcadores, dados e carros, também foram construídos com isopor (Figura 9a). A estrutura virtual foi constituída de planos e botões virtuais coincidentes com seus equivalentes físicos (Figura 9b), para permitir a colocação de informações e interação eficiente baseados nos elementos físicos. Ao interagir com elementos físicos, os elementos virtuais serão acionados mostrando imagens e emitindo sons (Figuras 12 a 14). O SACRA foi usado para o estabelecimento das posições dos pontos, objetos virtuais e sons. O Vivaty foi usado para a modelagem dos objetos virtuais (VRML) e vinculação com as texturas, contendo informações (perguntas, respostas e instruções) para o usuário. Os formatos do arquivo de posicionamento dos pontos, referente à estrutura (pref2.txt), e dos arquivos com as listas de objetos virtuais de um ponto (path1.dat) podem ser vistos na Figura 16. O jogo educacional poderá ser baixado para uso ou alteração, a partir do site da ferramenta SACRA [Kirner 2011 ]. Figura 16. Arquivos da estrutura do jogo (pref2 e path1) 6.3. Desenvolvimento de Conteúdo e Personalização Para permitir o desenvolvimento rápido de conteúdo, o jogo foi baseado em texturas e sons (Figura 17) que podem ser preparados por usuários com poucos conhecimentos de informática. Embora haja outras pastas de texturas (imagens que irão aparecer no artefato), o desenvolvedor de conteúdo precisará acessar somente as pastas de perguntas e respostas, utilizando os nomes dos arquivos, conforme a definição dada pelo sistema como (qv1-1, qv1-2, qv1-n), (av1-1, av1-2, av1-n), (qh1-1, qh1-2, qh1-n) e (ah1-1, ah1- 2, ah1-n), para n perguntas no ponto 1, e assim por diante para os outros pontos da trajetória, podendo variar o número de perguntas em cada ponto. Figura 17. Conteúdo do jogo (texturas e sons) para uma pergunta e resposta Essas texturas podem ser preparadas manualmente e escaneadas por usuários com pouco conhecimento de informática, de forma a viabilizar o uso do artefato por todos os interessados, mesmo que não possuam experiência no uso de recursos computacionais. A Figura 18 mostra um conjunto de perguntas preparado por professores do ensino de ciências do ensino fundamental e médio, simulando o trabalho de usuário leigo em informática. Esse conteúdo foi preparado com escrita manual e colagem de figuras e, em seguida, escaneado para uso no artefato. Figura 18. Conteúdo feito à mão Para os usuários com conhecimentos de informática suficientes para manipular editores de textos e imagens, a montagem das perguntas e respostas fica mais simples rápida, usando os recursos computacionais (Figura 19). Algum capturador de imagem da tela do computador, como o Free Screen Hunter, será útil para a preparação das imagens que serão usadas como texturas. Figura 19. Conteúdo preparado com editores Os sons (ruídos, músicas, narrações) poderão ser capturados de repositórios ou gravados com algum software, como o Free Sound Recorder. Assim, o conteúdo do jogo pode ser criado, editado ou reformulado, através da montagem de texturas e gravação ou captura de sons. Essa facilidade permite a personalização do jogo educacional para uso em turmas ou grupos de pessoas ou alunos. Para personalizar o jogo educacional, o professor ou supervisor deverá executar os seguintes procedimentos: a) Verificar as pastas de texturas relativas a perguntas e respostas para ver quantas texturas existem em cada uma. b) Preparar o mesmo número de perguntas ilustradas (para o plano vertical), perguntas textuais (para o plano horizontal), respostas ilustradas (para o plano vertical) e ações de resposta (para o plano horizontal), usando um editor de textos e os gabaritos (templates) para cada caso; c) Capturar as partes das telas das questões, respostas e ações como arquivos de imagem do tipo JPG, por exemplo, renomeando-os com os mesmos nomes dos arquivos equivalentes existentes em cada pasta. d) Substituir as texturas antigas pelas novas. e) Gravar novos sons e/ou narrações associados com cada pergunta e resposta, mantendo os mesmos nomes de arquivos correspondentes aos anteriores. f) Substituir os sons e/ou narrações antigos pelos novos. Se o professor/supervisor quiser aumentar a quantidade de perguntas e respostas associadas com um ponto específico da trajetória, ele precisará: preparar novas texturas e novos sons e/ou narrações, colocá-los nas respectivas pastas e editar o arquivo de configuração de objetos no ponto (path(i).dat contido na pasta wrl). Além disso, novas estruturas de perguntas e respostas (modelos VRML) deverão ser criadas por replicação e editadas para ajustar os endereços das respectivas texturas. No caso de diminuir a quantidade de perguntas e respostas, será necessário editar o arquivo de configuração path(i).dat, eliminando as referências aos blocos das perguntas e respostas a serem descartadas. Com esse processo, o professor/supervisor poderá personalizar o jogo educacional de forma a explorar temas específicos e diferentes quantidades de perguntas, respostas e ações, melhorando a qualidade do jogo. Se o desenvolvedor quiser ilustrar as perguntas e respostas com modelo 3D estáticos ou animados, ele poderá criar um ponto no espaço para a renderização do objeto virtual e um ponto em algum lugar de um dos planos para servir como ativador. Para isto, basta replicar um dos pontos da trajetória e editá-lo para exibir o objeto virtual, além de inserí-lo no arquivo de pontos do marcador de referência. 7. Conclusões Este trabalho discutiu a autoria de aplicações de realidade aumentada e mostrou como a ferramenta SACRA pode ser usada para facilitar o trabalho de desenvolvimento. Além disso, foi mostrado que, mediante certas estratégias, pode-se acelerar o desenvolvimento de aplicações obtendo-se um processo de prototipagem rápida. Apesar da ferramenta SACRA ser baseada no ARToolKit e em VRML, esses recursos ficam confinados e transparentes, quando se faz desenvolvimento de conteúdo, de forma que, para o desenvolvedor final ou usuário, não interessa o que está por baixo da aplicação, mas sim seu funcionamento e desempenho. Mesmo assim, encontra-se em desenvolvimento uma ferramenta com o potencial do SACRA, usando FlarToolKit, para atualizar o software e superar as restrições relacionadas com o uso de vídeo. Além disso, serão incorporados módulos de inteligência, que poderão ser associados aos objetos virtuais, visando fazer com que a nova ferramenta seja um sistema de autoria de aplicações de hiper-realidade. O desenvolvimento do conteúdo do jogo educacional, para ajustar-se aos temas de interesse do professor/supervisor, mostrou-se bastante simples e rápido. Espera-se que este seja um dos vários artefatos interativos com realidade aumentada a serem disponibilizados para professores, visando elevar o nível do ensino e aprendizagem, principalmente na educação básica. Com isto, espera-se contribuir para que a alta tecnologia possa ser usada por todos os cidadãos, incluindo aqueles de classes menos favorecidas, através de aplicações com realidade aumentada gratuitas, simples de aprender e de usar, com alta disponibilidade e personalizável. Agradecimentos Agradeço ao Rafael Santin, que desenvolveu o software SACRA como trabalho de mestrado, sob minha orientação; aos alunos Eduardo Shiwaku Okawa e Hipólito Douglas Moreira, que me ajudaram na digitação; às professoras Gisele Maria P. Garcia e Marília L. Paiva e Silva, pelas amostras de perguntas feitas à mão; e ao CNPq e FAPEMIG pelo financiamento a projetos, em cujo contexto foram realizados experimentos de artefatos interativos com realidade aumentada. Referências Bauer, M., Bruegge, B., Klinker, G., MacWilliams, A., Reicher, T., Riss, S., Sandor, C. e Wagner, M. (2001) “Design of a Component-based Augmented Reality Framework” In ISAR’01, IEEE and ACM International Symposium on Augmented Reality, New York, USA, pp. 45-54. Burdea, G.C. e Coiffet,P., Virtual Reality Technology, Wiley-Interscience, 2nd edition, 2003. Di Wu, Y.Y. e Liu, Y. (2009) “Collaborative Education UI in Augmented Reality” In ETCS’09, First International Workshop on Education Technology and Computer Science, Wuhan, China, pp. 670-673. Dias, J.M.S. Santos, P., Bastos, R., Monteiro, L. e Silvestre, R. (2003) “Developing and Authoring Mixed Reality with MX Toolkit”, In ART 2003, 2nd IEEE International Augmented Reality Toolkit Workshop, Tokyo, Japan, pp. 18-26. Grimm, P., Haller, M., Paelke, V., Reinhold, S., Reimann, C. e Zauner, J. (2002) “Amire - Authoring Mixed Reality”, In The First IEEE International Workshop on Augmented Reality Toolkit, Darmstadt, Germany, 2 pp. Hampshire A., Seitcher, H., Grasset, R. e Billinghurst, M. (2006) “Augmented Reality Authoring: Generic Context from Programmer to Designer”, In OzCHI’06, 18th Australia conference on Computer-Human Interaction: Design: Activities, Artefacts and Environments, Sydney, Australia, pp. 409-412. Irawati, S., Green, S., Billinghurst, M., Duenser, A. e Ko, H. (2006) “An Evaluation of an Augmented Reality Multimodal Interface Using Speech and Paddle Gestures”, In Lecture Notes in Computer Science, 4282, pp. 272-283. Kato, H. e Billinghurst, M. (1999) “Marker Tracking and HMD Calibration for a Videobased Augmented Reality Conferencing System”, In IWAR’99, The 2nd Int. Workshop on Augmented Reality, San Francisco, USA, pp. 85–94. Kaufmann, H. e Dunser, A. (2007) “Summary of Usability Evaluations of an Educational Augmented Reality Application”, In Lecture Notes in Computer Science, 4563, pp. 660-669. Kirner, C. e Santin, R. (2009) “Interaction, Collaboration and Authoring in Augmented Reality Environments” In SVR’09. XI Symposium on Virtual and Augmented Reality, Porto Alegre, Brazil, 2009, pp. 210-220. Kirner, C. e Kirner, T.G. (2010) “Authoring Spatial Applications by non-Programmers with an Augmented Reality Tool” In Web3DW 2010, IADIS Web Virtual Reality and Three-Dimensional Worlds Conference, Freiburg, Germany, pp. 293-300. Kirner, C. (2011) “ARAS-NP: Augmented Reality Authoring System for Nonprogrammers”, http://www.ckirner.com/sacra/, abril. Kirner, C., (2011) “Q&A-AR: augmented reality racing game based on questions and answers”, http://www.ckirner.com/educa/, abril. Ledermann, F. e Schmalstieg, D. (2005) “APRIL: A High-level Framework for Creating Augmented Reality Presentations”, In VR’05, IEEE Virtual Reality 2005, Bonn, Germany, pp. 187–194. Looser, L., Grasset, R., Seichter, H. e Billinghurst, M. (2006) “OSGART – A Pragmatic Approach to MR”, In ISMAR’06, 5th IEEE and ACM International Symposium on Mixed and Augmented Reality, Santa Barbara, USA, 2 pp. MacIntyre, B., Gandy, M., Dow, S. e Bolter, J.D. (2004) “DART: A Toolkit for Rapid Design Exploration of Augmented Reality Experiences”, In UIST’04, 17th Annual ACM Symposium on User Interface Software and Technology, Santa Fe, USA, pp. 197–206. Saquoosha, T.K.A. (2011) “FlarToolKit”, http://saqoosha.net/en/flartoolkit/start-upguide/, março. Schmalstieg, D., Fuhrmann, A., Hesina, G., Szalavari, Z., Encarnação, L.M., Gervautz, M. e Purgathofer, W. (2002) “The Studierstube Augmented Reality Project”, Presence: Teleoperators and Virtual Environments, 11(1), 33–54. Seitchter, H., Looser, J. e Billinghurst, M. (2008) “ComposAR: An Intuitive Tool for Authoring AR Applications”, In ISMAR’08, 7th IEEE and ACM International Symp. on Mixed and Augmented Reality, Cambridge, UK, pp. 177-178. Sutherland, I.E. Sketchpad: A Man-Machine Graphical Communication System, PhD Thesis, MIT, January, Technical Report No. 574, University of Cambridge, UCAMCL-TR-574, 1963. Sutherland, I.E. (1965) “The ultimate display”, In Proceedings of IFIPS Congress, New York City, NY, vol. 2, May, pp. 506-508. Sutherland, I.E. (1968) "A Head-mounted Three-dimensional Display," In 1968 Fall Joint Computer Conference, AFIPS Conference Proceedings, vol. 33, pp. 757-764. Uchiyama, S., Takemoto, K., Satoh, K., Yamamoto, H. e Tamura, H. (2002) “MR Platform: A Basic Body on which Mixed Reality Applications are Built”, In ISMAR’02, The First IEEE and ACM International Symposium on Mixed and Augmented Reality, Darmstadt, Germany, pp. 246.
Documentos relacionados
dos 2 primeiros capítulos - Conceitos de RV e RA
Além disso, no ambiente virtual, os sentidos e as capacidades das pessoas podem ser ampliados em intensidade, no tempo e no espaço. É possível ver, ouvir, sentir, acionar e viajar muito além das ca...
Leia mais