Realidade aumentada com Vuforia em Unity3D. Guia rápido.
VISITE O NOVO TUTORIAL
COM VERSÃO DO UNITY (V5.3) E VUFORIA INTEGRADO (V6)
*DESACTUALIZADO*
1. Instalar o Unity3D
O Unity 3D é disponibilizado em duas versões; a versão Free e a a versão Pro, que é sujeita a licenciamento. A versão Pro pode ser instalada durante um período experimental de 30 dias, beneficiando de todas as funcionalidades acrescidas que esta versão oferece. Após terminar o período experimental o utilizador é livre de usar o software na versão Free sem que tenha, contudo, de proceder a uma reinstalação.
1.1 Descarregue a última versão do software e instale a versão experimental Pro.
Página de abertura do Unity3D
https://unity3d.com/
Página de Dowload da última versão
https://unity3d.com/pt/unity/download
1.2 Verifique se aplicação foi correctamente instalada.
Abra o Unity 3D e crie um novo projecto.
A partir do menu Game Object, comando Create Other, escolha o cubo.
Um cubo surgirá no centro do cenário. Clique no botão Play e aguarde que o Unity corra o projecto.
Grave a Scene, através do menu Fil, com o nome “olaMundo“ e feche o programa.
Os projectos do Unity são armazenados na seguinte pasta:
windows: C:\Users\meuNome\Documents\dcm
mac: Macbook/HD/utilizadores/meuNome/dcm
.
.
2. Instalar a extensão Vuforia.
O Vuforia AR é uma extensão do Unity3D que permite aos designers e programadores rapidamente criar aplicativos de RA. Um dos aspectos mais interessantes desta tecnologia consiste na liberdade e flexibilidade que os autores têm em escolher arbitrariamente imagens ou figuras que servirão de base para a detecção. Deste modo, o sistema vuforia não está dependente dos tipicos e visualmente impositivos fiduciais pre-definidos, sendo possível usar elementos gráficos do próprio layout como fiduciais.
Outro aspecto a destacar é a sua natureza multipataforma, não só ao nível do ambiente de desenvolvimento (windows e mac) como também em termos de compilação e deployment facilitando o desenvolvimento de aplicaçãoes em sistemas mobile baseados em android e iOS.
2.1 Descarregue a última versão do software.
Página principal do Vuforia
https://developer.vuforia.com/
O primeiro passo é registar-se no site do projecto. O registo é obrigatório e vai ser exgido no futuro para realizar o download da extensão e também para gerir o banco de imagens (fiduciais) que serão objecto de detecção por parte da aplicação AR.
Página de Dowload da última versão para Windows e Mac (escolher a versão no menu do lado esquerdo): https://developer.vuforia.com/resources/sdk/unity
Nota: estamos a instalar apenas a extensão Vuforia para o Unity3D, não é necessário, nesta fase, instalar o Android SDK, uma vez que iremos usar o computadador portátil e não o smartphone para testar e correr a aplicação. Contudo, se o grupo pretender correr a aplicação no smartphone (Android) terá de o fazer. Os procedimentos detalhados para instalar o Android SDK e o Vuforia SDK é descrito na página: https://developer.vuforia.com/resources/dev-guide/getting-started-android-native-sdk
.
.
3. Primeiro exemplo AR.
3.1 Associar a extensão Vuforia a um projecto Unity3D.
Transfira o ficheiro que acabou de descarregar para a raiz da pasta de projecto “dcm” criada incialmente no Unity3D. Recorde o caminho usado pelo Unity quando gravou o projecto.
Em seguida execute a extensão. Uma janela surgirá no ambiente de trabalho do Unity3D. Deverá importar todos os componentes disponíveis no pacote.
3.2 Criar uma Image Target na cloud.
Com o Vuforia podemos usar uma imagem arbitrária (Image Target ) e usá-la como fiducial para o sistema de detecção. A grande vantagem reside no facto de podermos usar uma imagem ou fotografia que faça parte do conteúdo físico no qual pretendemos combinar os modelos 3D virtuais.
O Vuforia possui um gestor online de imagens no seu site para este efeito (obrigatório). Sucintamente, podemos resumir em 4 passos ,ou etapas, a preparação das Image Target para o nosso projecto.
1– Capture/edite uma imagem em formato digital (png, jpg) que pretendemos vir a constituir como Image Target .
Para testarmos o funcionamento do Vuforia mas criar um exemplo simples e rápido. Desenhe num folha de papel uma forma ou uma pequena ilustração à sua escolha. Fotografe com o seu telemóvel e grave no formato jpg. Edite e enquadre. A imagem testada tem 320px de largura (a largura ideal segundo a documentação do Vuforia), e uma resolução de 72DPI’s. Grave com o nome “pawn.jpg”
2– Realize o upload da imagem através do gestor (Target Manager), dispnível no meu principal da página principal do Vuforia: https://developer.vuforia.com/
No gestor, crie uma nova base de dados com o nome “DCM”.
Entre na recém criada base dados e realize o upload da imagem “pawn.jpg”
O tipo target é Single Image. Atribua o nome “pawnTarget” e uma dimensão de 10 unidades.
3- Seleccione o recém criado Image Target e proceda ao respectivo download na forma de uma extensão. O tipo de ficheiro deverá ser do tipo Unity Editor.
4– Transfera o ficheiro “DCM.unitypackage” para a raiz do projecto do Unity “DCM”. Abra o projecto e em seguida abra a cena “olaMundo”. Com o Unity aberto, execute o ficheiro “DCM.unitypackage” – a base de dados com a imagem ficará disponível e associada ao projecto.
3.3 Preparar a scene no projecto Unity 3D.
1. Seleccione a câmara e com o botão do lado direito apague-a. O pacote Vuforia necessita de uma câmara especial previamente preparada para realizar as operações de visão por computador necessárias à implementação da realidade aumentada.
2– Escolha a câmara especial do Vuforia a partir do explorador de objectos na janela de projecto do editor do Unity3D. Encontrará a Arcamera na pasta prefabs (pré-fabricados). Arraste-a directamente para a janela do cenário ou, alternativamente, para a janela Hierarchy, na qual estão listados todos as entidades presentes na cena actual.
3- Na pasta Prefabs do Vuforia encontrará ainda um objecto do tipo ImageTarget. Inclua-o também na nossa simulação arrastando-o para a janela Hierarchy. Este objecto representa na nossa cena a imagem que funcionará como fiducial.
4- Selecione o objecto ImageTarget. Vamos reduzir a sua escala de 200 unidades para 10, em cada um dos 3 eixos, através da janela Inspector que se encontra no lado direito do editor.
5- Com o ImageTarget seleccionado e ainda na janela Inspector vamos associar a imagem “pawnTarget” que se encontra na base de dados, a qual foi feita o donwload e instalada previamente, a este objecto. Durante este passo, o Vuforia poderá abrir automaticamente o seu Browser e pedir-lhe que efectue o login.
6- Selecione o objecto ARtarget. Na janela Inspector vamos, igualmente, associar a base de dados à câmara, para que ela possa procurar as imagens que nela se encontram. Neste caso, a nossa base de dados “DCM” é constituída por uma única ImageTarget, designadamente a “pawnTarget”.
7- Na janela Hierarchy, coloque o cubo no interior da entidade ImageTarget. Deste modo é criada uma hierarquia entre os dois (cubo passa a ser filho do ImageTarget) e a sua posição e orientação ficará sempre “presa” à posição orientação do ImageTarget.
8- Ajuste a Transformação do cubo (Translação, Escala e Rotação) de modo a ficar encaixado no quadrado represendado no ImageTarget.
9- Prima o botão “Play” e explore a simulação AR colocando à frente da webcam a folha onde foi desenhada a imagem.
10- Introduza e combine várias primitivas para formar um novo objecto composto. Introduza, igualmente, uma luz do tipo direcional e ajuste a sua orientação.
Parabens pelo tutorial foi o melhor que já achei até agora e o melhor é q é em portugues.
Mas estou com problema pois executo tudo como foi mostrado mas não aparece a imagem do webam, acho q o unity não reconhece minha camera
Você tem que colocar a license key, você consegue uma no site do vuforia e põe ela em um script: https://vuforiacontent.qualcomm.com/Images/Fall2014/ClassicPlan/AppLicenseKeyField.png
Obrigado!
Alguns alunos tiveram esse problema e pode ter duas causas. Em alguns MACs, a extensão do vuforia e/ou a extensão do ImageMarker não pode ser executada através de duplo-clique na pasta: é mesmo necessário importar o pacote através do menu Assets, comando Import Package.
Acontece também, por vezes, o caminho da pasta de projecto ser muito longo, isto é, ter vários níveis.. O ideal é a pasta de projecto estar simplesmente dentro da pasta documentos.
Boa sorte!
Bom dia
Gostaria de saber como posso colocar som em um botão virtual, poderia me ajudar?
Bruno Alves
Olá Bruno Alves, eu ainda não testei mas acho que você pode fazer o botão virtual criando um canvas junto a câmera da vuforia e criar um script de touch pra ele funcionar no IOS ou Android.
Também estou com problema no play, ele não abre a câmera e visualizando o Inspector da ARCamera na tag “Web cam Behaviour” ocorre um erro de: WEBCAM PROFILE NOT FOUND!!
o que pode ser isto?
Abaixo na tag Câmera Device está selecionado a câmera do notebook
Boa noite,
este erro, “WEBCAM PROFILE NOT FOUND!!” é perfeitamente normal. Quando não se associa qualquer ficheiro de profile o vuforia usa um standart por default. Quanto ao Play, várias razões podem explicar um problema no play. Em primeiro lugar não devemos esquecer que o vuforia funciona no PC apenas em modo de edição. Existe também uma opção no inspector que desactiva a camera.
O primeiro passo é verificar se o vuforia detecta correctamente a webcam ou se existe algum problema com a instalação da câmara.
vc poderia me explicar por favor qual opção no inspector
desativa a câmera?
Consegui resolver o problema utilizando o Unity 4.6 com vuforia 4.2. Funcionou na hora.Eu estava usando inicialmente unity 5 e vuforia 5.
Não sei se tem algum problema as versões, mas agora está funcionando
Obrigado
Ola mateus. poderias por favor enviar me um link do vuforia 4.2 para eu testar no unity 4.6?
obrigado
ola! segue ai….http://www.4shared.com/file/U8lD8NZOce/vuforia-unity-mobile-android-i.htm
Brother, boa tarde! Tudo bem contigo? Espero que sim.
Estou com dois problemas bem chatos para replicar seu exemplo.
Erro 1:
Failed to load ‘Assets/Plugins/QCARWrapper.dll’, expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386.
Vuforia.WebCamAbstractBehaviour:IsWebCamUsed()
Vuforia.WebCamAbstractBehaviour:IsWebCamUsed()
Vuforia.VuforiaRuntimeUtilities:IsVuforiaEnabled()
Vuforia.TurnOffBehaviour:Awake() (at Assets/Vuforia/Scripts/TurnOffBehaviour.cs:21)
Erro 2:
Failed to load ‘Assets/Plugins/QCARWrapper.dll’, expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386.
Vuforia.WebCamAbstractBehaviour:CheckNativePluginSupport()
Vuforia.WebCamAbstractBehaviour:CheckNativePluginSupport()
Vuforia.WebCamAbstractBehaviour:IsWebCamUsed()
Vuforia.VuforiaRuntimeUtilities:IsVuforiaEnabled()
Vuforia.TurnOffBehaviour:Awake() (at Assets/Vuforia/Scripts/TurnOffBehaviour.cs:21)
Detalhe: Meu SO é 64 bits.
Poderia dar um help?
Até onde eu sei o pessoal ta recomendando utiliza a unity 5 versão 32x pq a 64 não ta funcionado esse erro que deu no seu, foi o mesmo que apareceu no meu com a versão 64
olá! Quando eu clico no play me retorna a seguinte msg UNABLE TO CONTACT SERVER,PLEASE TRY AGAIN LATER, o que posso fazer para eliminar este problema?
Boa tarde,
A primeira vez que a aplicação corre no smartphone, ela tenta autenticar-se no site do vuforia. Por essa razão, é necessário o smartphone ter ligação à net (este procedimento apenas tem de ser feito uma única vez)
Boa tarde! Excelente tutorial. É meu primeiro experimento com Realidade Aumentada, então minha dúvida é meio de principiante: como faço para exportar para o meu iPhone? Estou usando o Unity 5 e o Vuforia 5 em um Mac. Na câmara do computador, funciona bem, mas não sei como conectar meu telemóvel.
Obrigado, Tem de explortar a aplicação (menu file->build) e escolher ios.
ola. alguem me pode fornecer um link para o vuforia 4.2 para eu testar no unity 4.6?
dá me o erro ” web cam profile not found ”
obrigado
Adiciona o perfil dela no XML. Eu fiz isso com a minha e funcionou beleza.
Ola! segue ai……http://www.4shared.com/file/U8lD8NZOce/vuforia-unity-mobile-android-i.htm
o meu mapa aparece na tela e não em cima do papel como se fosse uma imagem na tela, o que poderia ser.
AJUDA!! já atualizei o driver da minha webcam, o problema é que o unity reconhece a webcam mas na hora de testar não mostra nenhuma imagem, ja testei a minha webcam e ela funciona perfeitamente, por favor me ajudem!!
AJUDA, parabéns pelo tutorial muito didático, estou com um pequeno problema e não sei como resolver, estou desenvolvendo uma aplicação em realidade amantada, e quando aperto o play aparece a seguinte mensagem:
vc não pode usar a webcam, desde que o usuário não tenha essa autorização !
como faço para conseguir essa autorização? tenho que comprar a versão pro da unity?
muito obrigado
Tem de inserir uma chave no objecto da câmara (paínel inspector). Essa chave obtém-se ou cria-se no site do vuforia entrando na sua conta.
Quando a app é executada pela primeira vez, é necessário ter acesso wi-fi para o vuforia autenticar a aplicação.
Raquel, provavelmente o objecto 3D não é filho do objecto Marker. Há que colocar o objecto 3D dentro do Marker através do paínel hierarchy.
Obrigado por esclarecer minhas duvidas, na verdade eu ja fiz isso, ja me registrei no site da vulforia e adicionei a chave no campo app licence key da camera, embora o vulforia reconheça a minha câmera, quando eu aperto play para rodar aparece a seguinte mensagem de erro:
Cannot use web cam, since the user has not authorized this!
UnityEngine.WebCamTexture:Play()
Vuforia.WebCamTexAdaptorImpl:Play()
Vuforia.WebCamImpl:StartCamera()
Vuforia.CameraDeviceImpl:StartCameraDevice()
Vuforia.CameraDeviceImpl:Start()
Vuforia.VuforiaAbstractBehaviour:StartVuforia(Boolean, Boolean)
Vuforia.VuforiaAbstractBehaviour:Start()
não sei o que esta acontecendo, obrigado
Olá, Italo! Também estou tendo o mesmo erro. Há uma observação no fórum da Vufuria dizendo que a extensão ainda não é 100% compatível com as novas versões da Unity3D. Eles recomendam usar sempre uma versão anterior. Confesso que já instalei todas as versões 32 e 64 da Unity3D, já formatei o pc algumas vezes, mas esse mesmo erro “Cannot use web cam, since the user has not authorized this!” continua ocorrendo. Isso ocorre em todos os meus computadores e nos dos meus amigos.
Se um dia eu conseguir criar uma realidade aumentada na minha vida, eu volto a postar aqui. Mas já estou me sentindo um inútil… com tanta gente conseguindo, e eu não… :(((((((
eu pretendo fazer um app em realidade aumentada, talvez isso aconteça porque a nossa licença é gratuita, se a gente usar a licença paga da unity talvez funcione.
Nos úlitmos 3 meses tivemos um projecto em que cerca de 20 estudantes, com a versão gratuita,desenvolveram conteúdos com vuforia e unity sem problemas. De facto não sei o que possa ser.Quando tiver tempo faço um video com todos os passos.
Olá!
Somos obrigados a usar sempre o servidor na nuvem do Vuforia?
Se quiser fazer um App de AR para funcionar off-line é possível?
Não. Basta correr a aplicação uma primeira vez com o acesso à internet ligado. Depois funciona offline.
Olá. Sempre que tento abrir o pacote do vuforia no unity dá esse erro aqui:
Failed to import package with error: Couldn’t decompress package
Alguma ajuda de como arrumar isso?
O meu aplicativo ficou com tamanho 230MB, ele instala normal no celular porem quando eu clico na tela inicial para carregar a proxima tela que é da camera ele encerra a aplicação…mas no unity ele tá chamando normal e carrega normal as RA’s
Vuforia So funciona no Unity 32bits, tentei fazendo mesmo processo no 64 bits nao funciona
Opa, tudo bem?
Não entendi direito como aquele cubo que estava no Unity virou a peça de xadrez na câmera. Fiz o tutorial como você passou, apenas usando outro desenho, mas não apareceu nada na câmera. Sabe me dizer o que pode ser?
Muito bom posso usar a câmara do meu celular você tem um canal no YouTube para mais tutoriais deste Parabéns
A licença do Vuforia custa $499 por app. É isso mesmo?!
Oi, se alguém puder me ajudar eu ficaria imensamente grata. Fiz inúmeros projetos com o Unity usando o Vuforia e em todos quando eu testei a camera o meu object não reconhece o gatilho e não há interação de RA.
Eu segui todos os passos certinho e já tentei de tudo mas nada tem adiantado, alguém pode me ajudar???