Back-End

3 dez, 2018

Unity: RA (realidade aumentada)

Publicidade

Veja neste artigo como dar os primeiros passos com realidade aumentada utilizando o Unity.

Introdução

Dando continuidade à minha serie de artigos sobre Unity, hoje irei demonstrar como criar um projeto de realidade aumentada.

Caso este seja o seu primeiro contato com Unity, recomendo a leitura do seguinte artigo:

Para aqueles que estão tendo o seu primeiro contato com a Vuforia neste artigo, saiba que ela é uma das plataformas mais utilizadas em projetos de RA (Realidade Aumentada), ou no inglês AR (Augmented Reality).

Caso tenha interesse em saber mais sobre essa plataforma, como os seus planos empresarias, custos, etc, eu recomento a leitura do seguinte link:

No final deste artigo você terá criado um aplicativo Android de RA. Caso tenha interesse em baixar a APK do projeto que será criado aqui, segue o link: APK para download.

Criação do projeto

Depois dessa breve introdução, vamos a criação do projeto. Para isso, abra o Unity e clique em criar um novo projeto.

Nessa etapa você deve informar os seguintes dados: nome do projeto, template que deseja utilizar (2D ou 3D) e o local onde deseja criar o seu projeto. Abaixo, você tem uma imagem demonstrando como eu preenchi esses campos.

Criação de um projeto 3D no Unity

Com o projeto criado e aberto, o próximo passo será deletar a câmera default de um projeto 3D e adicionar uma Camera GameObject AR do Vuforia. Abaixo, você tem uma imagem demonstrando esse passo:

Adicionando Vuforia no Unity

Para trabalhar com RA no Unity, nós precisamos ativar a biblioteca do Vuforia no nosso projeto. Para isso, siga os passos abaixo:

Vá em file > Build Setting… > selecione Android e clique em Player Settings. Abaixo você tem uma imagem demonstrando esse passo:

Em seguida, vá até XR Settings e clique em Vuforia Augmented Reality, conforme na imagem abaixo:

Habilitando Vuforia no Unity

Em projetos de realidade aumentada é comum a utilização de targets (alvos). É nessa parte que entra a plataforma do Vuforia. Ela nos possibilita criar um banco de imagens de alvos (targets) no seu portal e importar elas nos nossos projetos.

Caso tenha interesse em saber mais sobre esse assunto, segue o link dessa parte na documentação oficial da Vuforia:

Como este será o primeiro projeto dessa serie, eu irei utilizar uma das imagens default do banco de imagens do Vuforia. Dessa forma, nós não precisamos fazer um cadastro no portal. Para isso, siga os passos abaixo:

Primeiro passo: adicionando alvo

Para adicionar um alvo, vá em GameObject > Vuforia > Image. Abaixo, você tem uma imagem demonstrando esse passo:

Adicionando target de realidade aumentada no Unity

Segundo passo: adicionar elementos

Agora precisamos adicionar um elemento no nosso cenário para que quando a nossa câmera identificar o alvo, ela possa apresentar algo.

Para que possamos ter algo legal, eu irei utilizar um personagem grátis, que pode ser baixado na Unity Asset Store.

Caso tenha interesse em utilizar esse mesmo pacote, segue o link na store:

Para importar ele é bem simples, basta clicar em open in Unity para ele abrir o pacote na IDE conforme está na imagem abaixo:

Importando character do Unity Asset Store

Em seguida, clique em Download > Import e Import:

Importando pacote do Unity

Quando ele terminar de importar o pacote, você verá uma nova pasta na aba Assets:

Assets Unity

Abra essa pasta e navegue até prefabs. Em seguida, arraste o prefab com nome Gorila para aba Scene. Abaixo você tem uma imagem demonstrando esse passo:

Agora, para que o Gorila possa aparecer quando a nossa câmera focar na imagem, arraste ele para dentro de ImageTarget na aba Hierarchy.

Organizando objetos no Unity

Note que o nosso personagem não está centralizado na nossa imagem de target. Isso pode ser um problema quando rodarmos o projeto.

Para resolver isso, selecione o objeto Gorila na aba Hierarchy, vá até a aba Inspector > Transform e clique em reset. Esse passo limpará os dados das posições X, Y e Z desse objeto.

Abaixo você tem uma imagem demonstrando esse passo:

Resetando as posições de um objeto no Unity

Testando o projeto

Para validar o projeto eu irei gerar uma APK e instalar no meu celular Android. Caso tenha interesse em ter o seu ambiente configurado com Unity depurando em um device, segue o link de um artigo demonstrando esse passo a passo:

Com o ambiente configurado, build o projeto para instalar a APK no seu aparelho. Em seguida, abra o projeto e foque a câmera na imagem abaixo:

Target RA

Caso tudo esteja ok, você deve ter um resultado parecido com o da imagem abaixo:

Unity Realidade Aumentada

Bem legal, né?

Caso você tenha interesse em clonar a versão final do projeto desenvolvido neste artigo, segue o seu link no meu GitHub: Unity-ra.

Bom, a ideia desse artigo era de passar como nós podemos dar os primeiros passos com essa tecnologia que está ganhando cada vez mais espaço no mercado.

Espero que tenham gostado e até a próxima, pessoal!