You are on page 1of 39

Faculdade de Tecnologia de Americana Curso Superior de Tecnologia em Desenvolvimento de Jogos Digitais

DESENVOLVIMENTO DE REALIDADE AUMENTADA PARA ANDROID

SAMUEL LUCIANO DA SILVA

Americana, SP 2012

Faculdade de Tecnologia de Americana Curso Superior de Tecnologia em Desenvolvimento de Jogos Digitais

DESENVOLVIMENTO DE REALIDADE AUMENTADA PARA ANDROID

SAMUEL LUCIANO DA SILVA
samuelluciano6@gmail.com

Trabalho de Conclusão de Curso desenvolvido em cumprimento à exigência curricular do Curso Superior de Tecnologia em Desenvolvimento de Jogos Digitais, sob a orientação do Prof. Me. Cleberson Forte Área: Jogos Digitais

Americana, SP 2012

BANCA EXAMINADORA

Prof. Me. Cleberson Eugenio Forte Prof. Me. Kleber de Oliveira Andrade Prof. Me. Carlos Henrique Rodrigues Sarro

E. realizar meu sonho e me graduar na área de Jogos Digitais. que fez tudo o possível para que esse trabalho se concretizasse. que está comigo em todos os momentos. ao meu irmão. Me. aos colaboradores da FATEC Americana. Cleberson Forte. sem dúvida. . em agradecimento especial. também. Agradeço aos meus amigos e colegas que muito fizeram por mim durante toda a realização deste trabalho. o Prof. Agradeço à minha namorada. por estes anos de convivência quando pude. se esforçando ao máximo para que nada faltasse em meu desenvolvimento pessoal e profissional.AGRADECIMENTOS Em primeiro lugar. então. gostaria de agradecer aos meus pais. felizes ou ruins. que sem dúvida é alguém em quem me espelho. também. meu orientador e amigo. que cuidaram e educaram adequadamente. Agradeço. independente das condições financeiras. acredita em meu potencial e incentiva muito meu progresso. Gostaria de agradecer.

A meus professores da FATEC .DEDICATÓRIA Aos meus pais Valdeir Firmino da Silva e Maria de Fatima C.Americana A todos meus amigos e companheiros. A minha namorada Chaiene Vargas. A meu irmão Dione Everton. . F.

A Realidade Aumentada (RA) é muito comum em computadores de mesa e notebooks. como smartphones e tablets. aproveitando a tecnologia de RA com a mobilidade dos dispositivos móveis. projetos relacionados e a criação de uma aplicação de RA interativa para a plataforma Android usando a engine Unity3D. A RA para Android vem para unir as duas áreas. Neste trabalho. ANDROID e JOGOS. uma plataforma de código aberto que possibilita facilmente a criação de aplicações e jogos para dispositivos móveis. publicidade. vem crescendo e motivando o surgimento de vários Sistemas Operacionais. . o mercado de equipamentos móveis. são apresentadas ferramentas para desenvolvimento. Palavras Chave: REALIDADE AUMENTADA. e hoje em dia é muito utilizada na área de educação. dentre eles o Android. foco deste estudo. engenharia e arquitetura.RESUMO Atualmente.

the mobile equipment market. The AR for Android devices comes to join the two areas.ABSTRACT Currently. Keywords: AUGMENTED REALITY. we present tools for development. Augmented Reality (AR) is very common on desktops and notebooks. GAMES . and creation of an interactive AR application for the Android platform using the Unity3D engine. the focus of this research. are growing and motivating the sprouting of some Operational systems. related projects. a platform of open code that easily makes possible creation of applications and games for mobile devices. ANDROID. as smartphones and tablets. engineering and architecture. and nowadays used in education. using to advantage technology of AR with the mobility of the mobile devices. amongst them the Android. advertising. In this monograph.

...........................................................................................................................3 QUALCOMM VUFORIA...........................2.................................... 12 2............2...................................2 Airhockey .................2................................................................ 27 4........................................................................ 30 4....................................1...... 25 4..........................2 OPENCV ........................................ 15 2................................. 26 4............1 INSTALAÇÃO ...........................2 EXTENSÕES ..........................................7 Vuforia occlusion management ..............................................2........................................................... 21 4 DESENVOLVIMENTO DE APLICAÇÃO DE REALIDADE AUMENTADA UTILIZANDO QUALCOMM VUFORIA E UNITY 3D .......................1 Vuforia Android ..............................................................................................................................................5 Vuforia virtualbuttons ....................................... 25 4..........6 INSTALAÇÃO NO ANDROID ........................................2............................................2................................................... 27 4..................... 35 4.................2 Vuforia imagetargets ....................... 18 3.........5 COMPILAÇÃO ........................1........................................3 Jogo com RA em dispositivos móveis ....................................................................... 23 4...................4 Vuforia multitargets . 37 REFERÊNCIAS BIBLIOGRÁFICAS .....3 Vuforia framemarkers........1........................................................... 14 2........................................................................................................... 18 3.................. 10 REALIDADE AUMENTADA PARA DISPOSITIVOS MÓVEIS ................................................................................. 13 2.................................. 26 4.......................7 PROJETO LABRINTO. 23 4....................3 CRIAÇÃO DE TRACKABLES ( OU TARGETS) ................... 16 3 FERRAMENTAS PARA DESENVOLVIMENTO DE RALIDADE AUMENTADA PARA DISPOSITIVOS MÓVEIS .......................................................................6 Vuforia backgroud terxtureacces ..... 24 4.SUMÁRIO 1 2 INTRODUÇÃO ...........................1 Magicbook ........................................................ 28 4............................................... 36 5 6 CONSIDERAÇÕES FINAIS .....................4 PROGRAMANDO UM PROJETO SIMPLES ...................................1 NYARTOOLKIT ....... 25 4...............................................2..................................... 34 4.... 38 ........................1 APLICAÇÕES EM REALIDADE AUMENTADA .. 20 3.............................................................................................

.......................................................................................................21 Figura 7 ......................................................................................................................29 Figura 15 – Salvando uma Trackable......................................................36 ........................................................................................................9 LISTA DE FIGURAS E DE TABELAS Figura 1 – Comparativo da venda de smartphones conforme sistema operacional e previsão para os próximos anos...............................................................Atribuição de target.......................................27 Figura 12 – Exemplo de oclusão em realidade aumentada.............34 Figura 21 – Funcionamento do projeto labirinto........................31 Figura 17 – Funções do prefab ARCamera............................................................33 Figura 20 – Imagem da Scene criada........................29 Figura 14 – Imagem detectada pelo sistema..............................................................................30 Figura 16 – Estrutura de pastas da Unity com a biblioteca Vuforia instalada............32 Figura 18 – Funções do prefab Image Target ........................................Instalação Vuforia – Acordo de licença.....32 Figura 19 – Adicionando o padrão de reconhecimento da imagem....................................................................................................26 Figura 11 – Exemplo de botões virtuais.............27 Figura 13 – Tela de cadastro de Trackables....................16 Figura 4 – Exemplo de marcador típico captado pela NyARtoolkit.....................................25 Figura 9 – Exemplo de FrameMarkers..........................................12 Figura 2 – Exemplo de funcionamento do AIRockey.......................................................................................................................................................................................................16 Figura 3 – Exemplo de funcionamento do jogo de discos voadores...............................26 Figura 10 – Exemplo de Multitaregets...19 Figura 5 – Aplicação criada pela NyArtoolkit......................19 Figura 6 – Exemplo de marcador reconhecido pela Vuforia...................................................................................................................................24 Figura 8 – Pacotes instalados pela Qualcomm Vuforia....................

câmera e outros componentes. A grande vantagem da RA em dispositivos móveis é que a maioria dispõe de câmeras e capacidade de processamento para a análise de imagens e até a composição de objetos virtuais em 3D. demonstrando um pouco do crescimento junto às plataformas móveis.10 1 INTRODUÇÃO Os últimos lançamentos no mercado de Smartphones e Tablets trouxeram grande evolução de hardware. O trabalho foi estruturado em cinco capítulos. Como objetivos secundários. Este projeto tem como objetivo criar uma aplicação em RA tornando possível de ser executada em dispositivos móveis que utilizam o sistema operacional Android. na RA é utilizado o ambiente real como predominante. pretende-se mostrar que a utilização da tecnologia nas áreas de educação. Junto com essa evolução é possível trazer aplicações que antes eram restritas aos computadores de mesa aos dispositivos móveis. O capítulo dois conceitua sobre o que é a tecnologia de Realidade Aumentada (RA). que agora contam como uma vantagem: a mobilidade. resolução de tela. como o Magicbook. a Realidade Aumentada (RA) pode ser moldada ao âmbito móvel. capacidade de memória. para simular um jogo comum em fliperamas. propaganda. entre outras áreas pode ser relevante. Ao contrário de Realidade Virtual (RV) aonde é criado um ambiente virtual. utilizando de reconhecimento de parâmetros e componentes do ambiente real para a visualização e manipulação de um objeto virtual. fazendo o controle através de um sistema computadorizado. além da conclusão. e mostrando também trabalhos correlatos na área. Destas aplicações. serious games. e o projeto de um . aproximando-se cada vez mais das configurações encontradas em Desktops e Notebooks. processamento. o AIRockey uma aplicação que utiliza realidade aumentada projetada. principalmente o Android. programa que implementa em um livro com características de RA para aumentar a imersão na história. tentando neste ambiente virtual modelar sentidos que existem no ambiente real a fim de aumentar a imersão do utilizador.

a OpenCV . esta biblioteca será abordada posteriormente como um tutorial para desenvolver uma aplicação em Android. e a Vuforia. sobre o quanto essa tecnologia é promissora em comparação com outras possibilidades. são elas: NyArtoolkit . por serem de código opensource e que podem ser empregadas livremente para uso acadêmico. no caso foram escolhidas três. um breve exemplo de como criar uma aplicação simples e então compilar e executar no Android.11 jogo feito para dispositivos móveis. a criação de targets (Trackables). O terceiro capítulo trata sobre as principais ferramentas para programação desta tecnologia. que utiliza os conceitos de RA e mobilidade apresentados neste artigo. a instalação das bibliotecas na Unity 3D. o tutorial aborda o modo de instalação da biblioteca. Com base nas informações conseguidas a partir dos estudos realizados nos capítulos anteriores. uma biblioteca desenvolvida pela Qualcomm capaz de trabalhar juntamente com o Unity 3D ou o SDK do Android. foi criada uma discussão. . No quarto capítulo apresenta-se um tutorial de utilização da ferramenta Vuforia. no quinto capitulo.

12 2 REALIDADE AUMENTADA PARA DISPOSITIVOS MÓVEIS Motivados pelo crescimento das tecnologias e do mercado de telecomunicações. buscando sua aplicação como ferramenta para o auxilio de diferentes necessidades sociais. para com as tecnologias de RV e RA. Arquitetura. de forma geral. A tecnologia de RA também apresenta crescimento. tanto no âmbito nacional quanto internacional. 2009). foram desenvolvidas e outras continuam a sê-lo. através das inúmeras iniciativas de pesquisadores e empresas. onde o sistema ultrapassa os outros.” (FORTE. Dos vários do mercado. Figura 1 – Comparativa da venda de smartphones conforme sistema operacional e previsão para os próximos anos (GARTNER. conforme comenta Forte (2009): “[. Publicidade e Propaganda. a qual pode ser aplicada a diversas áreas. como Jogos Digitais.] O que se observa. Tal sistema suporta aplicações de RA. o que se sobressai atualmente é o Android. envolvendo as tecnologias de RV e RA. faz com que ela se torne gradativamente mais conhecida. Educação.. etc. que se dedicam a seu desenvolvimento. 2012). com previsão de que as vendas continuem aumentando nos próximos anos. de um sistema operacional.. conforme pode ser demonstrado pela figura 1. surgiram vários dispositivos móveis como Smartphones e Tablets. . equipamentos que demandam. atualmente é um crescente interesse por parte da sociedade e dos veículos de comunicação. que apresenta um gráfico de crescimento das vendas. Engenharias. bem como mais próxima da realidade da população em geral. Diferentes aplicações. A consolidação da tecnologia.

principalmente na área de jogos: “(. memória e armazenamento cada vez mais potentes: “(. também. A vantagem de se executar uma aplicação em RA utilizando um aparelho com Android não se restringe apenas à capacidade móvel do aparelho. como disparar ou movimentar um objeto. 2. pode então ver aquele objeto virtual que foi criado com uma finalidade específica de publicidade. Há possibilidades interessantes e pouco . Outra característica é que a cada novo lançamento de smartphones e tablets. pois é possível estender um cartaz em meio á uma rua ou shopping com uma tag (marcador) e o publico que estiver com o aplicativo de RA instalado no dispositivo. tornou mais fácil. conforme comentado anteriormente.) Atualmente há uma grande busca por maior interatividade dos jogos com os jogadores. Tal conceito pode ser aplicado. GARCA. ou então a criação de botões virtuais os quais podem executar funções específicas.) Alguns aparelhos de telefone celular são dispositivos que apresentam um bom poder de processamento. A possibilidade de carregar uma aplicação em RA disposta em um celular. MARCHIORO. á outras áreas. por exemplo. torna possível obter controle de objetos através do touchscreen.1 APLICAÇÕES EM REALIDADE AUMENTADA Muitas aplicações foram criadas com os conceitos de realidade aumentada. Estes são capazes de executar algoritmos desenvolvidos nas linguagens C++ e Java. faltando mobilidade.. criar uma campanha de publicidade utilizando RA. ou tablet.. mas também a disposição de uma tela touch. 2008).” (LUZ.. que pode aumentar consideravelmente a interatividade do aplicativo.. executar comandos como zoom. novas capacidades são demonstradas em equipamentos com processadores. executar uma aplicação em Realidade Aumentada demandava de um computador de mesa ou notebook e uma câmera normalmente conhecida como Webcam. levando-se em conta que se tratam de dispositivos móveis microprocessados com características limitadas. rotação.13 Anteriormente. Montar tal sistema exige que o usuário tenha de carregar equipamentos pesados.

1 Magicbook O Magicbook. é possível observar a cena virtual criada com a intenção de enriquecer a leitura. é uma aplicação criada utilizando o ARToolkit. 2006). ela utiliza um livro com parâmetros que ao utilizar RA é possível ver um objeto virtual. a visualização de objetos tridimensionais sobre as páginas do livro. também. ao usuário. utilizando-se de um dispositivo chamado de Handle Display. A aplicação permite. É interessante notar. hoje. disponibilidade. A maioria das aplicações que já foram criadas. 2. certamente se enquadrariam muito bem no conceito móvel. educação. O MagicBook é um livro comum. introduz o conceito de um livro enriquecido com RA. tangibilidade. pode ser facilmente . pode ser melhor descrita por Forte: “(. que pode ser lido de forma convencional. Algumas das aplicações mostradas abaixo. ou publicidade. pois permitem combinar características da realidade que podem ser aproveitadas em dinâmicas inovadoras de jogo (dimensão espacial real.14 exploradas que surgem da combinação de realidade aumentada e jogos. familiaridade do usuário) com a facilidade de se sintetizar elementos virtuais com base em técnicas empregadas tradicionalmente em jogos convencionais” (VIEIRA. ganhadora do prêmio Discover Awards. ao permitir que o usuário passe da visualização do objeto a uma navegação imersiva através do uso de dispositivos especiais” (BILLINGHURST. et al. POUPYREV 2001 apud FORTE 2009). Tal dispositivo. podem facilmente ser transportadas para a plataforma Android. em 2001.) Esta aplicação.. proporcionando uma nova visão e utilização dos recursos. Ele vai além disso. que o MagicBook não se limita à simples visualização e manipulação de objetos como numa aplicação comum de RA. na categoria inovação (DISCOVER. porém é deveras enriquecido através do recurso de RA. 2001). KATO. que envolvem jogos.1.

localizado na extremidade oposta da mesa.15 substituído por um aparelho de celular ou tablet com Android. THEODORO.. podendo facilitar ao usuário ter acesso á parte virtual do livro utilizando um dispositivo mais barato e de uso mais abrangente. Na mesa virtual projetada há um disco que deve ser impulsionado pelos jogadores em direção ao gol adversário. podendo se tornar uma aplicação ainda mais conhecida acrescentando ao que foi comentado por Forte: “(. TORI. O fim da partida é dado quando um dos jogadores atinge a marca de sete gols. O que se observa é que o usuário.. que não só os jogadores possam visualizar o jogo. Esta característica é encarada como de muita valia quando pensamos no desenvolvimento de uma aplicação para o contexto educacional.) O ARHockey é jogado por dois participantes munidos de batedores e um plano horizontal (de preferência uma mesa) no qual o ambiente do jogo será projetado. tem maior interesse e dispõe de mais atenção para com o conteúdo exibido..2 Airhockey Uma aplicação muito interessante que utiliza os conceitos de Realidade Aumentada projetada.1. Um exemplo de aplicação que é exatamente suportado pela tecnologia apresentada neste artigo. TRIAS. o ARHockey simula a mesa em que o jogo é executado. 2. 2009). mas também os expectadores. Diferentes artigos a citam como fonte buscada para o desenvolvimento de diversas outras aplicações. a fim de permitir.” (FORTE. Por estes motivos o conceito de livro virtual foi bastante empregado por diversas pesquisas e também no Brasil. Utilizando-se de projeção. o AirHockey ou Shufflepuck. como podemos observar na figura 2 a projeção liberta os .)As características oferecidas pelo MagicBook o tornaram uma das mais conhecidas aplicações de RA no contexto educacional. MIRANDA. 2006). para simular um jogo muito conhecido por frequentadores de fliperamas. interagindo com a história em um livro enriquecido com a RA. o funcionamento pode ser observado no comentário dos criadores: “(.” (VIEIRA.

1. Figura 3 – Exemplo de funcionamento do jogo de discos voadores. também ajuda para que os custos do projeto seja inferior se comparado com o uso de um sistema que utilize HMD (Head Monted Display).3 Jogo com RA em dispositivos móveis Nesta aplicação o jogador deve posicionar a mira sobre o disco voador através de movimentos com o aparelho e então pressionar o botão simbolizando “atirar” para destruir o disco voador. e utilizam a câmera do celular para capturar o ambiente. prejudicando o conforto e a mobilidade. . 2. podendo ser covertida para uma plataforma móvel. em RA. Figura 2 – Exemplo de funcionamento do AIRockey.16 jogadores de utilizar equipamentos acoplados ao corpo. Sem dúvida trata-se de uma aplicação muito interessante. conforme a figura 3. construídos em tempo de execução do aplicativo. estes. como Android. para substituir o uso dos HMDs em um projeto mais caro.

em uma rápida pesquisa na loja de aplicativos do Android. MARCHIORO. (LUZ. isto é algo que está se tornando mais comum. Com essas informações podemos adicionar suplementos virtuais ao vídeo. 2008) Como o demonstrado neste artigo. GARCA. Os discos voadores tentam escapar da mira da arma do usuário para se defenderem. é possível criar jogos e outros tipos de aplicativos utilizando RA para dispositivos móveis. Os discos voadores do jogo são suplementos virtuais adicionados ao ambiente real capturado pela câmera do telefone celular.. que são capazes de interagir e reagir com objetos do mundo real ou com os movimentos do usuário. Estes suplementos reagem em relação aos movimentos do dispositivo executado pelo usuário.. . como: movimento. O jogo tem um tempo fixo de duração e existe uma quantidade pré -definida de discos voadores a abater. distâncias e objetos. é possível identificar vários aplicativos que apresentam a tecnologia. O nível de dificuldade do jogo aumenta quando o usuário alcança o objetivo e passa para a próxima fase.17 O sistema desenvolvido no projeto consiste em um jogo de primeira pessoa onde a temática do jogo é “atingir pequenos discos voadores que estão invadindo a terra”. “(. cabendo ao jogador ser mais ágil no movimento do dispositivo móvel.) através de um vídeo do ambiente real se extrai informações de uma imagem. a Google Play.

2005 apud FORTE. bastante popular dentre os pesquisadores da área (ARTOOLKIT. porém. Tais características consistem em uma borda grossa na cor preta com uma imagem em seu centro” (KATO et al. ainda não são todas as ferramentas que estão disponíveis para se trabalhar com Android ou outro SO para dispositivos móveis. visando a portabilidade desta tecnologia para dispositivos móveis capazes de executar aplicações em Java. impressa sobre papel comum. Após diversas pesquisas foram identificadas as principais ferramentas para este tipo de aplicação. 2009) isto acontece pelo fato da biblioteca fornecer soluções de rastreamento 3D..2009). com baixo custo computacional. A biblioteca utiliza-se de marcadores. de acordo com as suas necessidades” (SANTIN.. 2009) A NYARToolkit é uma variante da ARToolkit construída em Linguagem Java.2009) Além disso o ARToolkit é amplamente utilizado por ser distribuído livremente para fins não comerciais incentivando a liberdade para os usuários executarem. que pode ser descrita por Forte: “(.) um marcador nada mais é do que uma imagem.. 2008. 2002 apud FORTE. aos quais atrela um objeto virtual conforme descrito por Forte (2009) e representado nas figuras 4 e 5: “(.18 3 FERRAMENTAS PARA DESENVOLVIMENTO DE RALIDADE AUMENTADA PARA DISPOSITIVOS MÓVEIS Existem diversas ferramentas para desenvolvimento de Realidade Aumentada. o que é muito comum na maioria dos dispositivos. . em tempo real. mostraremos neste capitulo as principais: 3. apud FORTE. o funcionamento da biblioteca é idêntico á ARToolkit. estudarem e modificarem os códigos disponíveis na biblioteca.1 NYARTOOLKIT Uma das ferramentas mais conhecidas para desenvolvimento de RA em computadores é a ARToolkit. (LEPETIT. com características específicas..) o ARToolkit é uma biblioteca de desenvolvimento de aplicações de RA. FUA.

.. iluminação. para ajudar no processo de orientação do objeto virtual em relação às bordas do marcador” (KATO et al. dando a impressão de que ambos estão colados ou fazem parte de uma só estrutura. 2002 apud FORTE.19 “(. a detecção das tags é um tanto precária. obtendo-se melhores resultados quando usados símbolos assimétricos.)Pode-se usar qualquer símbolo para identificação das placas. 2009). entre outros fatores que podem atrapalhar a experiência de utilização. A NyArtoolkit é uma biblioteca muito interessante. 2009) Figura 5 – Aplicação criada pela NyArtoolkit.. com diversos recursos que podem ser empregados na criação de aplicações. o objeto é movido junto. quando usuário movimenta o marcador. porém. qualidade da impressão do marcador.” (FORTE. Figura 4 – Exemplo de marcador típico captado pela NyARtoolkit “(.. depende muito da qualidade de captura da imagem. .) O objeto virtual é sobreposto ao marcador deforma que.

o nome vem de Open Source Computer Vision Library.2 OPENCV A OpenCV é uma biblioteca desenvolvida pela Intel inicialmente em C/C++. É aplicada em várias áreas. totalmente livre e voltada ao uso educacional e comercial. ao ser executado. inclusive mobile. reconhecimento de movimentos. a biblioteca possui módulos de processamento de imagem e vídeo. álgebra linear. realidade virtual. da qual a OpenCV depende parcialmente.) A biblioteca OpenCV foi desenvolvida pela Intel e possui mais de 500 funções. a DLL otimizada para este. Um programa OpenCV. Foi idealizada com o objetivo de tornar a visão computacional acessível a usuários e programadores em áreas tais como a interação humano-computador em tempo real e a robótica. A biblioteca está disponível com o código fonte e os executáveis (binários) otimizados para os processadores Intel. controle de mouse e teclado e vários algoritmos de visão computacional. tornando-se multiplataforma. e interface gráfica do usuário. por sua vez. Juntamente com o pacote OpenCV é oferecida a biblioteca IPL (Image Processing Library). . sistema de reconhecimento facial. além de documentação e um conjunto de códigos exemplos. podendo ser utilizada em diversos dispositivos e sistemas operacionais.” (MARENGONI.20 3.. como: Identificação de objetos. invoca automaticamente uma DLL (Dynamic Linked Library) que detecta o tipo de processador e carrega. STRINGHINI. 2009) A biblioteca também dá suporte a Java. Pyton e Visual Basic. é descrita por Marengoni e Stringhini como: “(. estrutura de dados. realidade aumentada e robôs móveis. Utiliza processamento em tempo real de imagens. como o Andoid e IOS.

3 QUALCOMM VUFORIA A Qualcomm. uma empresa que desenvolve microprocessadores para smartphones e tablets.) Um dos maiores desafios encontrados no desenvolvimento de aplicações em Realidade Aumentada.21 3. passar por traz do objeto e criar uma sensação de profundidade. A tecnologia dispensa um marcador aparente (chamada de markless ou tagless). como a caixa de um produto. flores. em exemplo algumas pedras (mostrada na figura 6). entre outras fotos. a aplicação precisa conhecer o ponto de vista em que o usuário está olhando no mundo real” (ARTOOLKIT. com visão de que lançando tecnologias melhores. mais pessoas teriam acesso a dispositivos com os processadores da empresa. A fim de conhecer sob que ponto de vista desenhar o objeto virtual. “(. 2012). que tenham imagens em todos os lados. com esse tipo de tecnologia é possível fazer com que o objeto virtual interaja com o objeto real. como por exemplo.. assim como também se torna uma extensão para o Unity. Figura 6 – Exemplo de marcador reconhecido pela Vuforia. desenvolveu um SDK que pode trabalhar junto ao SDK do Android. A SDK também pode analisar objetos complexos.. está na necessidade de rastreamento do ponto de vista do usuário. . o que abre a possibilidade de utilizar vários tipos de imagens como marcador. tal desenvolvimento com a finalidade de tornar mais fácil o processo de criação de uma aplicação em realidade aumentada para Android.

pois em um marcador são identificados vários pontos. utilizando a leitura da diferença de contraste proporcionada pela mudança repentina de cores em uma imagem. montando-se uma grade da qual é possível apresentar de maneira mais precisa o ponto de vista do usuário. inclusive tornando o rastreamento e apresentação do marcador mais precisa em relação às outras ferramentas apresentadas anteriormente. .22 Este problema torna-se de mais fácil resolução utilizando a Unity com a Vuforia.

unity. foi escolhida uma delas para apresentar e desenvolver uma aplicação.exe dê a ele permissão para execução como administrador. faça download do arquivo de nome: vuforia-unityandroid-1-5-10. então o numero da versão poderá mudar) 4.com/download (é necessário baixar a versão para Android). Após o carregamento teremos a seguinte tela da figura 7. porém a Qualcomm mantêm restrita apenas as pessoas que fizerem cadastro no site da empresa.exe (deverá ter atualizações.23 4 DESENVOLVIMENTO DE APLICAÇÃO DE REALIDADE AUMENTADA UTILIZANDO QUALCOMM VUFORIA E UNITY 3D Após estudarmos as ferramentas disponíveis para criação de aplicações em Realidade Aumentada para Android.at/qdevnet/sdk/android (é necessário fazer o cadastro no site antes de realizar o download. Download da Unity: www. Download da Vuforia: https://ar. é necessário instalar a Unity 3D. Utilizaremos a API Vuforia juntamente com o Unity 3D.qualcomm.1 INSTALAÇÃO Após fazer o download de ambos. Execute o arquivo vuforia-unity-android-1-5-10. se encontra totalmente gratuita. .) Caso utilize o Windows. ambas tem suporte apenas para Windows ou Mac. e fazer o download das respectivas ferramentas. o processo de instalação é simples. Para começar é necessário acessar o site dos fabricantes.

2 EXTENSÕES Após finalizar serão gerados 7 arquivos na pasta escolhida (figura 8).Instalação Vuforia – Acordo de licença. estes arquivos são extensões que podem ser executados cada um separadamente pela Unity (o formato é UNITYPACKAGE e caso o Unity esteja instalado pode executar este formato de arquivo. selecione conforme sua preferência. é possível escolher em qual pasta serão instaladas as extensões.) . é necessário ler até o fim para que a opção “I accept the terms of the license Agreement” fique disponível. Nesta tela são apresentados todos os termos de serviço e processos referentes a licença de utilização da extensão. Basta então clicar em “Done” assim que o processo estiver terminado. lembrando de deixar em um local de fácil localização. Na próxima tela. após basta clicar em “Next”. podendo levar menos de 2 minutos. Basta então clicar em “Install” para que o programa de instalação execute sua função.24 Figura 7 . 4. o processo é rápido.

(Estudaremos esta função posteriormente). assim como a criação de Marcadores). é necessário instalar esta extensão para que ela crie a estrutura de pastas necessárias. (Estudaremos a função desta extensão posteriormente. onde estão contidas as APIs para funcionamento da câmera do Unity como uma Câmera de Realidade Aumentada.2 Vuforia imagetargets O pacote de extensão responsável por trazer os marcadores padrões da Vuforia. 4.25 Figura 8 – Pacotes instalados pela Qualcomm Vuforia Cada arquivo é responsável por uma biblioteca. este tipo de aplicação pode ser comparado aos marcadores gerados pela NyArtoolkit.2. apesar de ser possível criar seus próprios marcadores.1 Vuforia Android A base QCAR da extensão. veremos quais são: 4. cada biblioteca realiza uma função diferente. que são “marcadores de bordas” onde podemos obter um marcador a partir de um impresso que tenha padrões nas bordas conforme a figura 9.3 Vuforia framemarkers Extensão responsável pela criação de Frame Markers.2.2. . 4.

uma caixa de cereais.2. 2012) 4.2.5 Vuforia virtualbuttons Extensão com botões virtuais. 2012) 4. Figura 10 – Exemplo de Multitaregets (QUALCOMM VUFORIA. por exemplo) no local do marcador onde o botão foi alocado. Os botões virtuais funcionam a partir da sobreposição de algo (o dedo.26 Figura 9 – Exemplo de FrameMarkers (QUALCOMM VUFORIA. como por exemplo. . para executar algum comando em na aplicação. modificar a cor do meu objeto virtual ou dar play em alguma função (Figura 11). muito útil para criar aplicações nas quais se utilizem botões.4 Vuforia multitargets Extensão responsável pela criação de aplicações que utilizem marcadores múltiplos (mais de um marcador) ou então seja um objeto cúbico (figura 10) que todos os lados sejam maçadores. em exemplo.

para isto ele utiliza-se de shaders. 2012) .7 Vuforia occlusion management Extensão que permite a oclusão do objeto virtual dentro do objeto real. muito utilizado em campanhas publicitárias. como o exemplo apresentado na figura 12. 2012) 4. fazendo assim com que 0 objeto virtual pareça estar dentro de uma caixa.2.6 Vuforia backgroud terxtureacces Extensão que permite a alocação de um vídeo sobrepondo o marcador. Figura 12 – Exemplo de oclusão em realidade aumentada (QUALCOMM VUFORIA.2. Para que funcione com mais realidade.27 Figura 11 – Exemplo de botões virtuais. (QUALCOMM VUFORIA. 4. é interessante combinar esta extensão com a extensão de multitargets.

chamados de Markless ou Targless. em seguida abrirá um campo para a nomeação do projeto.3 CRIAÇÃO DE TRACKABLES ( OU TARGETS) Para que as aplicações de Realidade Aumentada funcionem. a Qualcomm nomeou tais marcadores como Trackables. para se chegar á criação das mais diversas aplicações. abrirá uma nova tela (figura 13). de maneira evidente. nomeie e clique em continuar. se é um marcador do tipo caixa para a utilização de Multitargets ou se é um objeto do tipo cubo também para a utilização de Multitargets. Após clicar na opção citada. esta é a opção que deve ser clicada para se criar um marcador. porém. .28 Certamente que cada uma dessas extensões devem ser estudadas. temos a opção de renomear o projeto ou apagar o projeto (caso tenha feito algum outro projeto anteriormente) também tem a opção “Create a Trackable”. não apresentam. aonde é necessário nomear o marcador. se é um simples marcador. O Trackables pode ser criado através do site da Qualcomm: https://ar.at/qdevnet/projects em “My Trackables”. estudaremos apenas as necessárias para se compilar uma aplicação simples.qualcomm. 4. Na nova página aberta. selecionar então o formato do marcador. e também a largura da imagem (não é necessário especificar a altura). os aspectos de marcação utilizados pelo software no processamento do marcador. sempre é necessária a criação de marcadores ou targets. pois em comparação com os marcadores classicamente utilizados nas aplicações de RA. Clicando em “New Project”. Estas Trackables são marcadores não aparentes. No caso da Vuforia. No escopo deste trabalho.

da qual no . Netbeans. não superiores a 2MB). Figura 14 – Imagem detectada pelo sistema de Trackables. etc.29 Figura 13 – Tela de cadastro de Trackables. Clicando então em “Back” a página redireciona para a primeira tela aonde foi criada a aplicação. uma nova página será exibida (figura 14). Clicando em “upload” e então selecione o arquivo (são suportadas apenas imagens em JPG ou PNG. disponibilizando o link “Download Selected Trackables”. para fazer o download é necessário selecionar a Trackable e clicar no link citado.) ou se será no formato Unity. deve se escolher o formato de download. certamente que quanto maior a “nota” mais precisa será a aplicação. se será utilizado para compilar juntamente ao SDK do Android (utilizando o Eclipse. uma nova tela é exibida (figura 15). Ao clicar. nela. Após o carregamento da imagem. nesta tela é possível identificar na imagem quais pontos foram relevantes para o sistema e qual a “nota” atribuída a esta imagem.

unitypackage com o Unity aberto. Figura 15 – Salvando uma Trackable.4 PROGRAMANDO UM PROJETO SIMPLES Após ter instalado o Unity a Vuforia e criado um Trackable. Para este exemplo de aplicação.unitypackage e pode ser executado (e instalado) no momento em que o Unity estiver aberto.unitypackage. pode-se dar inicio à criação de uma aplicação simples. . ele importa automaticamente as bibliotecas e cria as estruturas de pasta. crie uma nova aplicação.unitypackage. caso seja utilizado.  vuforia-imagetargets-android-xx-yy-zz. 4. apenas com intuito de mostrar como funciona a ferramenta. O arquivo. deve ser instalado assim como as outras extensões. Os arquivos importados estarão na aba “Projects” na pasta “Editor”. Ao executar os arquivos . utilizaremos apenas as seguintes extensões:  vuforia-android-xx-yy-zz.30 momento do download já é gerado um arquivo . Abra o Unity.

na tela mostrada na figura 17. Carregue então o objeto prefab ImageTarget para a Scene. Todas as outras configurações serão carregadas automaticamente conforme pode ser acompanhado na figura 18. A partir deste ponto. acesse a pasta Qualcomm Augmented Reality > Prefabs e arraste o componente ARCamera para a Scene. . O componente ARCamera contem toda a programação para que os dispositivos reconheçam que a câmera é a do ambiente aonde a aplicação será executada. Para configurar. o ImageTarget é responsável por configurar a imagem que será o Target (ou marcador) nele é possível selecionar entre uma das Trackables pré instaladas ou então baixadas no tópico anterior. basta selecionar no campo “Data Set em Image Target Behaviour (Script)” o Trackable que será utilizado. As funções do prefab ARCamera podem ser modificadas conforme a necessidade do usuário. exclua a “Main Camera”.31 Figura 16 – Estrutura de pastas da Unity com a biblioteca Vuforia instalada.

32 Figura 17 – Funções do prefab ARCamera. .Atribuição de target. Figura 18 – Funções do prefab Image Target .

clicando em GameObjects > Create Other > Cube e também um ponto de Luz. posicionar o objeto em 3D. Isto fará com que a câmera reconheça o padrão que foi estabelecido ao criar o Trackable Figura 19 – Adicionando o padrão de reconhecimento da imagem. . É necessário então retornar ao Prefab ARCamera e marcar o Active Data Set em Data Set Load Behaviour e marcar o mesmo Data Set que foi utilizado no ImageTarget. Este foi o ultimo passo de configuração. para que seja possível trabalhar sobre ela. adicionando em GameObjects > Create Other > Direcional Light.33 Esta função faz com que apareça na Scene a imagem como um plano. neste exemplo um cubo. então é necessário posicionar o objeto em 3D.

1 ou superior. este pode ser uma das diversas texturas instaladas no Unity. uma nova imagem que fora colocada previamente na pasta Textures do Unity. é necessário ir a File > Build Settings.5 COMPILAÇÃO Para executar a aplicação e testar. o Unity se encarregará de modificar todas as bibliotecas para que funcione em um dispositivo Android. isto significa que funcionará apenas em dispositivos com Android 2. para isto clique sobre Other Settings. na nova tela que surgiu selecionar a plataforma Android e clicar sobre Switch Plataform.2 ou superior. Também é necessário escolher a versão mínima do sistema Android em que a aplicação irá funcionar.2 ‘Froyo’ (API Level)”. estabelecer um ícone para o aplicativo. 4. primeiro é necessário. e escolha a opção “Android 2. a versão 3. E então basta compilar e executar a aplicação em um dispositivo com Android 2. Para compilar o projeto. é necessário ter um dispositivo Android.5 do Unity permite a AutoRotação ou AutoOrientação.34 Posicione estes objetos sobre o marcador respeitando o plano representado pelo marcador conforme a figura 20. Após finalizar o passo anterior. a tecnologia da Vuforia. é necessário clicar em Player Settings. não é possível executar a aplicação através de emulador. isto demanda de certo tempo. Então é necessário clicar em Resolutio & Presentation que escolha qual será a orientação de tela em que o aplicativo irá trabalhar. na barra lateral direita do Unity teremos várias opções. não consegue ser executada em dispositivos com versões . Figura 20 – Imagem da Scene criada. ou então. pois o Unity não tem esta função pré-instalada.

e clique sobre “Build”. para isso vá a File > Save Scene.6 INSTALAÇÃO NO ANDROID Para que seja instalada a aplicação criada. selecione conforme preferência. é necessário estar com o dispositivo com a tela ativada para que a aplicação execute. Para o escopo deste trabalho nos limitamos à versão 2. A partir deste ponto. .3. Após o processo terminar. isto facilita muito o processo de teste do software. Bluetooth ou FTP. o mais recomendado é o Astro File Manager. isto sem contar que podem ter hardwares que não terão poder de processamento para a execução da aplicação. é necessário seguir alguns procedimentos (tais procedimentos podem sofrer alteração segundo a versão do Android adotada. Habilite “Depuração USB”. não se esquecendo de guardar em qual pasta está para encontrar posteriormente. pois não tem bibliotecas suficientes. isto permite com que o Unity instale e execute remotamente através do cabo USB o programa criado. para evitar erros na compilação. Para que o “Build & Run” funcione acesse Configurações > Aplicativos > Desenvolvimento. basta copiar o arquivo e transferir para o dispositivo com Android. e faz as principais bibliotecas de uma aplicação Android sejam salvas junto do projeto. podendo ser via cabo USB. e habilitar “Fontes desconhecidas” também é necessário ter um gerenciador de arquivos instalado no dispositivo Android. este abrirá uma janela aonde é possível selecionar a pasta aonde seu aplicativo será criado. Então. depois de compilado. Para instalar o aplicativo. é necessário salvar a Scene.7). 4. Então retorne a File > Build Settings.35 anteriores a esta. é necessário também acessar Configurações > Aplicativos > Gerenciar Aplicativos. Isto faz com que o trabalho não seja perdido.

apk gerado no tópico 4. . como uma esfera que pode ser movimentada pelo jogador através dos manípulos no touchscreen. Figura 21 – Funcionamento do projeto labirinto. retirada por “screenshot” de um dispositivo Android. A partir deste ponto basta acessar o aplicativo. e nele vários componentes. podendo então “cair” no ambiente real. O funcionamento do projeto pode ser demonstrado pela Figura 21. no segundo quadro o labirinto virtual já está montado sobre a imagem real é possível observar que os cubos estão se mexendo se comparado ao terceiro quadro.36 Com o Gerenciador de Arquivos instalado. cada um dos cubos foram posicionados com um peso diferenciado. que concede ao objeto propriedades físicas. e então o ultimo quadro demonstra que foi possível movimentar o objeto virtual esférico pela tela através dos manípulos.5. aceleração e velocidade. como gravidade. onde no primeiro quadro é demonstrada a câmera do dispositivo capturando o marcador.7 PROJETO LABRINTO Entre os diversos projetos que podem ser criados utilizando as tecnologias demonstradas com a biblioteca da Vuforia. 4. basta encontrar o arquivo . e vários cubos com o efeito “rigid body” da Unity. clicar sobre ele e instalar no dispositivo. para este projeto foi criado um labirinto virtual.

A tecnologia Qualcomm Vuforia apresentada neste projeto pode ser amplamente utilizada para a criação de jogos que utilizem RA. utilizando a Unity e a biblioteca Vuforia. podem ser adaptados para funcionamento em uma plataforma móvel. vários projetos que já foram criados em RA. um framework para criação de jogos. e é jogado sobre uma mesa virtual. campanhas publicitárias. é possível concluir que a tecnologia aqui mostrada. pois todos os aparelhos com Android e conexão a internet. Também foi possível observar o crescimento das aplicações em RA voltadas para dispositivos móveis. melhorando assim a possibilidade de levar essa aplicação a pontos fora de um laboratório. dando margem a criação de um jogo que utilize RA como ambiente de base. que a cada dia ganham maior capacidade de processamento. adição de scripts em C# ou JavaScript. facilitando muito a criação de uma aplicação.37 5 CONSIDERAÇÕES FINAIS Com base nos capítulos apresentados. Para trabalhos futuros é possível desenvolver uma aplicação similar ao MagicBook. como a possibilidade de trabalhar utilizando uma imagem complexa de marcador não visível (markless/tagless). dispositivos estes. Outro recurso interessante de se utilizar a Unity 3D é a possibilidade da implantação de recursos pré existentes da ferramenta. devido a integração com a Unity. também a utilização de uma ferramenta que proporciona um ambiente de trabalho em 3D. . objetos de corpo rígido. como detecção de coalizão. Também é possível criar um jogo de AIRockey aonde a câmera do dispositivo capta um marcador em mãos. projetos de arquitetura. Como foram observados. criando um jogo para cada página do livro a ser lido. como instrumentos educacionais. Além da fácil distribuição dos aplicativos quantos publicados na plataforma Google Play (loja on-line de aplicativos). é superior em alguns aspectos. sala de aula. entre outros aspectos positivos os dispositivos móveis tem chegado mais próximos das configurações encontradas nos computadores. podem acessar e baixar a aplicação. câmeras com maior qualidade. ou escritório. entre outros. valendo-se da maior portabilidade.

F. 2008. 2007. FORTE. STRINGHINI. 2008. N. D. HYAET. 2009.. B. Usando Realidade Aumentada no Desenvolvimento de Ferramenta para Aprendizagem de Física e Matemática. . C. F. 2008. E. C. M. M. Learning OpenCV. 2011. Realidade Aumentada Em Dispositivos Móveis. VIEIRA.. Software Educacional Potencializado com Realidade Aumentada Para Uso Em Física e Matemática. NYARTOOLKIT + PROCESSING: A Short Tutorial. MARCHIORO G. MARENGONI.B. J. 2008. O’REILEY MEDIA INC. et al. E. M. A Utilização da Realidade Virtual no Ensino de Conceitos de Física 2007. E. LUZ. ARHOCKEY: Um Jogo Em Realidade Aumentada Baseada Em Projetores. Tutorial: Introdução à Visão Computacional Utilizando Opencv. STRINGHINI. D. GARCIA L. 2009. MARENGONI. M... C. FORTE. FORTE. Implementação de Laboratórios Virtuais em Realidade Aumentada para Educação à Distância. 2008. G. F. KIRNER C. T.. Introdução a Processamento de Imagens e Visão Computacional Usando Opencv. KEAHLER.38 6 REFERÊNCIAS BIBLIOGRÁFICAS CITAÇÃO: DONIZELLI.

willowgarage.html Acesso em Fevereiro/2012. .washington. Disponível em: http://unity3d.com/sdk/index.com/wiki/ Acesso em Fevereiro/2012. Disponível em: http://opencv. UNITY 3D. Disponível em: http://www.edu/artoolkit/ Acesso em Fevereiro/2012. QUALCOMM VUFORIA.com/develop/mobile-technologies/augmented-reality Acesso em Fevereiro/2012.android. OPENCV.qualcomm.com/ Acesso em Fevereiro/2012.39 SITES: ANDROID SDK: Disponível em: http://developer.hitl. ARTOOLKIT. Disponível em: https://developer.