Aula04

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 36

REALIDADE VIRTUAL E

AUMENTADA
AULA 4

Prof. Victor Emanuel Montes Moreira


CONVERSA INICIAL

Nesta etapa, vamos aprender a criar aplicações de RA usando o Unity e


o Vuforia. O Unity é um motor de jogo multiplataforma que oferece ferramentas
poderosas para o desenvolvimento de jogos e aplicações 3D (KYAW et al.,
2013). Já o Vuforia é um SDK de RA que permite integrar facilmente
funcionalidades de RA em aplicações Unity.
No segundo tópico, continuaremos com o projeto, importando modelos
3D, como personagens e objetos, e configurando animações e interações entre
eles. Destaca-se a importância da Asset Store para adquirir modelos e resolver
possíveis problemas de exportação. Além disso, veremos como fazer um robô
dançar ao lado de uma jukebox na cena.
No terceiro tópico, introduziremos a AR Foundation, uma estrutura que
permite criar aplicativos de realidade aumentada para dispositivos iOS e Android
usando o Unity. Exploraremos recursos como detecção de planos, estimativa de
luz, âncoras AR, rastreamento facial e renderização leve. Por fim, detalharemos
a instalação da AR Foundation no Unity, configurações iniciais da cena AR com
AR Session e XR Origin, explicando seus papéis na criação do ambiente de RA
(Doerner et al., 2000).
Esses temas abrangem desde a configuração inicial do ambiente de
desenvolvimento até a implementação prática de elementos interativos em
realidade aumentada.
Vamos lá!

TEMA 1 – PROJETO DE RA COM UNITY E VUFORIA (PARTE 1)

Neste tutorial, vamos explorar o processo de criação de um aplicativo de


realidade aumentada utilizando as ferramentas Unity e Vuforia. Para começar, é
fundamental possuir conhecimentos básicos sobre o Unity. Neste projeto,
utilizaremos a versão 2022.3 LTS dessa ferramenta. Para garantir que você está
utilizando a versão correta, abra o Unity Hub, vá até Installs e verifique a
presença da versão 2022.3 LTS.

2
Figura 1 – Versão no Unity que vamos usar

Fonte: Unity.

Para iniciar, crie um projeto simples no Unity sem a necessidade de


adicionar complementos. Após abrir o projeto no Unity Editor, o próximo passo é
integrar o plugin do Vuforia. Acesse a Asset Store do Unity em
assetstore.unity.com e procure pelo Vuforia Engine.

Figura 2 - Site Unity Asset Store, página do pacote Vuforia Engine

Fonte: Unity.

3
Depois de adicionar na sua lista de Assets é só ir ao menu Windows>
Packege Manager e buscar por Vuforia.

Figura 3 - Adicionando Vuforia Engine

Fonte: Unity.

1.1 Criando um marcador QR Code

Nessa etapa vamos criar alguns marcadores de QR Code para a nossa


aplicação. Existem diversos sites que criam QR Code, como www.qrcode-
monkey.com. Aqui podemos escolher o modo Texto e colocar um texto no
marcador. Se o seu smartphone tiver um leitor de QR Code, aponte para a
imagem abaixo e você verá que o marcador está com o texto (Marcador 1).

Figura 4 - Leia o QR Code

Use o site www.qrcode-monkey.com para criar três marcadores de QR


Code. Coloque os nomes: Marcador 1, Marcador 2, Marcador 3. Vamos usar
esses marcadores ao longo desta etapa.

4
1.2 Banco de dados no Vuforia

Agora vamos criar o banco de dados de QRcodes no Vuforia. Entre no


site developer.vuforia.com, faça o seu login, vá até Target Mannager e crie um
banco de dados (Add DataBase).

Figura 5 - Criando banco de dados no Vuforia

Fonte: Vuforia.

Ao criar o banco de dados, você poderá adicionar vários tipos de


marcadores. No nosso projeto estamos trabalhando com imagens. Então
escolha a opção Image, adicione a imagem do QR Code em File e em Width
coloque o tamanho 10. Por padrão o Vuforia coloca no target o mesmo nome da
imagem. Veja que aqui foi necessário mudar o nome para Marcador_1 já que o
sistema não suporta espaço em branco.

5
Figura 6 - Adicionando um novo target

Fonte: Vuforia.

Adicione três marcadores no banco de dados e depois faça o download.


Escolha a opção de download para Unity Editor.

Figura 7 - Banco de Dados do Vuforia com os marcadores

Fonte: Vuforia.

Agora vamos voltar para o projeto no Unity e adicionar o banco de dados


com marcadores que criamos. Vá ao menu Assets> Import Package> Custom
6
Package. Veja na janela de importação que você já está adicionando os
marcadores junto com um arquivo .dat referente ao banco de dados.

Figura 8 - Janela de importação

Fonte: Unity.

Agora vamos adicionar um marcador de imagem na nossa cena do Unity.


Vá ao menu GameObject> Vuforia Engine> Image Target.

7
Figura 9 - Adicionando Image Target ao projeto do Unity

Fonte: Unity.

Com o elemento Image Target selecionado, vá à aba Inspector e faça a


seguinte configuração. Acesse o componente Image Target Behaviour (Script) e
ajuste na sequência:

1. Type: From Data bese;


2. Database: AR_Unity “Esse é o nome que dei para o banco de dados”;
3. Imagem Target: Marcador_1 “Esse é o nome que demos ao marcador”.

8
Figura 10 – Configurando banco de dados no Unity

Fonte: Unity.

Ao adicionar um marcador, você pode colocar qualquer elemento 3D


vinculado a esse no Image Target. Aqui no nosso exemplo usamos uma esfera.

Figura 11 – Adicionando uma esfera vinculada ao Image Target

Fonte: Unity.

9
TEMA 2 - PROJETO DE RA COM UNITY E VUFORIA (PARTE 2)

2.1 Adicionando licença de uso do Vuforia

Para usar o sistema de rastreamento do Vuforia precisamos adicionar o


elemento ARCamera. Vá ao menu GameObject> Vuforia Engine> AR Camera.
Ao selecionar a ARCamera, depois verificando a aba Inspector, veja o
componente Vuforia Begaviur (Scripit) e clique em Open Vuforia Engine
configuration.

Figura 12 - Botão Open Vuforia Egine configuration

Fonte: Vuforia.

Na janela de configuração encontramos três informações muito


importantes para o nosso aplicativo.

1. App License Key: aqui colocaremos a licença de uso do Vuforia.


2. Add Database: veja que o banco de dados que adicionamos via
Importação aparece aqui.
3. PlayMode Type: aqui indicamos a webcam que vamos usar. Veja que, no
meu caso, está selecionada a webcam do meu computador (Logi C270
HD WebCam).

10
Figura 13 - Configurações do Vuforia

Fonte: Vuforia.

Então, o nosso primeiro passo é o item 1 (App License Key). Para


adicionar a licença do Vuforia vá ao site. Clique no menu Licenses (1) e crie uma
licença de uso clicando em Get Basic (2). Depois você encontrará a licença
criada na lista (3). Adicionalmente, mude o Max Simultaneous Tracked Imagens
para 5. Dessa forma, o Vuforia fará o rastreio de até cinco marcadores
simultaneamente.

11
Figura 14 - Criando uma licença de uso do Vuforia

Fonte: Vuforia.

Depois é só clicar na licença que você criou, copiar a chave de licença e


colar no menu de configuração do Vuforia.

2.2 Agora vamos testar

Vamos verificar se a nossa aplicação está funcionando. Você pode usar


o seu smartphone como marcador, colocando a imagem do QR Code bem
grande na tela. Ao clicar no Play do Unity, a sua webcam vai ser acionada.
Coloque o seu smartphone na frente e veja que a esfera virtual aparecerá na
frente da tela.

Figura 15 - Executando a aplicação

Fonte: Unity.

12
Algumas coisas podem dificultar o rastreio, como qualidade da webcam,
marcas na tela do smartphone ou brilho da tela. Se a sua webcam for antiga e
tiver pouca qualidade de imagem, você precisa ter paciência e mover o
smartphone de forma bem suave. Assim, o sistema de rastreio conseguirá
encontrar o marcador. Se o seu smartphone tiver rachaduras na tela (como o
meu), estas podem dificultar a compreensão do marcador pelo sistema. O brilho
da tela também pode dificultar o rastreamento, então diminua ou aumente o
brilho, fazendo com que a imagem fique mais nítida na webcam.

TEMA 3 – PROJETO DE RA COM UNITY E VUFORIA (PARTE 3)

Agora vamos começar a colocar algumas interações e animações na


nossa aplicação.

3.1 Importando um modelo 3D

Vamos importar um personagem para o nosso aplicativo de AR. Vá à


Asset Store, busque por Robot Kyle e adicione a sua lista de assets.

Figura 16 - Asset Robot Kyle

Fonte: Unity.

Coloque o modelo 3D vinculado do Marcador_1. Configure a animação idle.


Quando o marcador aparecer, o personagem surgirá com a animação idle.

13
Figura 17 - Adicionando personagem no Marcador 1

Fonte: Unity.

Veja que criamos Animator Controller e colocamos apenas a animação


idle no personagem.
Agora vamos importar outro modelo 3D e colocar uma jukebox. Vá ao site
https://assetstore.unity.com/packages/3d/props/electronics/jukebox-music-
player-152930.

Figura 18 - Modelo 3D de jukebox na Asset Store

Fonte: Unity.

Vale lembrar que alguns modelos 3D vêm com problemas de exportação


seja por erro do desenvolvedor ao exportar o arquivo ou por atualizações no
Unity. Aqui no meu projeto o material da jukebox veio com problemas, o que
poderá ocorrer com você também. Para resolvê-lo basta mudar o tipo de Shader

14
para Universal Render Pipeline do tipo Lit. Veja na figura como ficou a
configuração:

Figura 19 - Configurando material da jukebox

Fonte: Unity.

Depois de ajustar o modelo da jukebox e vincular com o Image Target do


Marcador_2, você poderá verificar como os dois marcadores podem ser
visualizados ao mesmo tempo.

15
Figura 20 - Visualizando dois marcadores

Crédito: Victor Moreira/Unity.

3.2 Adicionando interação

Agora vamos fazer o robô dançar quando a jukebox aparecer na cena.


Primeiramente precisamos encontrar uma animação de dança, por exemplo, na
Asset Store, mas recomendamos que use uma das animações disponíveis no
Mixamo.com. Nesse site você pode fazer o upload do seu modelo 3D e ver como
as animações ficam.

Figura 21 - Importando modelo 3D para Mixamo

Fonte: Mixamo.

16
Depois de adicionar o seu modelo 3D é só escolher uma das animações
disponíveis. Por fim, faça o download da animação e importe para o Unity.
Configure o Animator do KyleRobot, adicionando a animação do Mixamo.
Faça as configurações de ida e volta de animação, adicione um parâmetro
booleano, que chamamos de Dance. A ideia é que, quando o parâmetro “Dance”
estiver verdadeiro (True), execute a animação de dança e, quando estiver falso,
(false) volte para a animação padrão (Idle).

Figura 22 - Configurando do Animator do KyleRobot

Fonte: KyleRobot.

Para controlar essa mudança de animações vamos criar um script.


Chamamos esse script de InteractionAnim e fazemos uma chamada para o
Animator com uma variável. No void Start precisamos usar a função
GetComponent para fazer as mudanças necessárias no Animator. Depois
criamos duas funções públicas: a primeira chamamos de Dance, que tem a
função de ativar a animação “Dance”, e a função StopDance para voltar para a
animação idle. O script ficou assim:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class InteractionAnim : MonoBehaviour


{
Animator animator_P.

void Start () {
animator_P = GetComponent<Animator>();
}
public void Dance (){

17
animator_P.SetBool("Dance", true);
}
public void StopDance (){
animator_P.SetBool("Dance", false);
}
}

Adicione esse script (InteractionAnim) ao KyleRobot. Assim, o Animator


vai carregar as informações do componente Animator do KyleRobot. Agora
precisamos fazer com que, quando a jukebox aparecer, o KyleRobot comece a
dançar. Para isso, vamos ao Image Target da Jukebox. No componente Default
Obsercer Event Hendler (Script) encontramos:

• On Target Found: onde colocamos ativações para quando o marcador


for encontrado. Então aqui referenciamos a função “Dance”.
• On Target Lost: onde colocamos ativações para quando o marcador for
perdido. Então aqui referenciamos a função “StopDance”.

Figura 23 - Adicionando funções no Default Observer

Fonte: KyleRobot.

18
Pronto, agora quando a jukebox e o KyleRobot estiverem na cena, o
KyleRobot vai dançar.

Figura 24 - Kyle dançando

Crédito: Victor Moreira.

TEMA 4 – INTRODUZINDO AR FOUNDATION

A AR Foundation é uma estrutura de desenvolvimento que permite a


criação de aplicativos de realidade aumentada para dispositivos iOS e Android
usando o Unity. Ela oferece uma abordagem unificada para o desenvolvimento
de aplicativos de AR, permitindo que você crie uma vez e implante em várias
plataformas. Antes da AR Foundation, um desenvolvedor precisava criar várias
cenas com scripts críticos do ARKit ou ARCore (dependendo da plataforma de
destino), o que tornava o ciclo de desenvolvimento mais lento ou bloqueava
completamente as equipes de desenvolvimento de criar aplicativos para ambas
as plataformas. Agora, a AR Foundation permite que os desenvolvedores
literalmente “criem uma vez e implantem em todos os lugares”. Algumas das
características principais do AR Foundation são:

• Implantação multiplataforma: a AR Foundation suporta tanto iOS


quanto Android, o que significa que você pode criar aplicativos de AR para
ambas as plataformas sem a necessidade de reescrever todo o código.

19
Isso economiza tempo e recursos, permitindo que os desenvolvedores
alcancem um público mais amplo.
• Detecção de planos e pontos de referência: a AR Foundation oferece
detecção de planos verticais e horizontais, permitindo que os objetos
virtuais sejam ancorados em superfícies do mundo real. Além disso, ela
suporta a detecção de pontos de referência, como QR codes e imagens,
para criar experiências interativas.
• Estimativa de luz e teste de colisão: a AR Foundation fornece estimativa
de luz, permitindo que os objetos virtuais se integrem de forma mais
realista ao ambiente. O teste de colisão possibilita que você crie
interações físicas entre objetos virtuais e o mundo real.
• Âncoras de AR e rastreamento de imagem 3D: as âncoras de AR
permitem que você posicione objetos virtuais em locais específicos do
mundo real. Com o rastreamento de imagem 3D você detecta e rastreia
objetos 3D no ambiente.
• Mapeamento do ambiente e mapas mundiais: o mapeamento do
ambiente captura informações sobre a iluminação e o ambiente
circundante, melhorando a qualidade visual da cena de AR. Os mapas
mundiais permitem que você compartilhe informações de mapeamento
espacial entre dispositivos, tornando a colaboração em experiências de
AR mais eficiente.
• Rastreamento facial e âncoras em nuvem: a AR Foundation suporta
rastreamento facial para criar aplicativos de AR interativos baseados em
expressões faciais. As âncoras em nuvem permitem que você sincronize
objetos virtuais em tempo real entre dispositivos, possibilitando
experiências compartilhadas.
• Renderização leve: a AR Foundation otimiza a renderização de objetos
virtuais para garantir um desempenho suave em dispositivos móveis.

4.1 Instalando AR Foundation

Vamos começar a fazer as primeiras configurações na nossa aplicação


de realidade aumentada com AR Foundation. Primeiramente, comece criando
um projeto básico no Unity. Vá ao Package Manager e instale o AR Foundation.
Também faça a instalação do Google ARCore XR Plugin.

20
Figura 25 - Pacote AR Foundation e ARCore

Fonte: Package Manager.

Em seguida, vá até Project Settings> XR Plogin-in Management e habilite


ARCore. Dessa forma você poderá usar os recursos do ARCore na sua
aplicação.

Figura 26 - Habilitando ARCore

Fonte: Package Manager.

Lembre-se de que rapidamente esse passo a passo pode ficar obsoleto.


Então, certifique-se de que todos os plug-ins XR estejam atualizados, leia as
notas da versão e fique sempre ligado a possíveis mudanças.

4.2 Configuração de cena AR

Primeiramente, remova a câmera padrão da sua cena. Então, adicione AR


Session e XR Origin. Veja na imagem abaixo que, quando colocamos a XR

21
Origin, juntamente é colocado um Game Object chamado Camera Offset e uma
Main Camera.

Figura 27 - Elementos iniciais do projeto AR Foundation

Fonte: Package Manager.

O AR Session é uma estrutura básica para criar o ambiente de RA.


Imagine que ele seja o maestro de uma orquestra de AR. Quando você ativa o
AR Session, ele inicializa todos os sistemas necessários para rastrear o
ambiente e renderizar objetos virtuais. É como ligar os holofotes e afinar os
instrumentos antes de um concerto. Por outro lado, quando você desativa o AR
Session, o sistema deixa de rastrear as características do ambiente e economiza
recursos.
Além disso, o AR Session verifica se o dispositivo tem suporte para AR.
Ele lida com cenários em que o AR não é suportado, como dispositivos mais
antigos ou sistemas operacionais que não oferecem suporte nativo ao AR. Se o
dispositivo não suportar AR, o estado do AR Session será marcado como
Unsupported.
O AR Session também inclui uma configuração chamada Attempt Update
(tentativa de atualização). Essa configuração tenta instalar bibliotecas AR no
dispositivo, se possível. Por exemplo, se você estiver usando serviços ARCore,
o AR Session tentará atualizar ou instalar essas bibliotecas automaticamente.
Já o XR Origin é uma estrutura essencial para compreender a posição e
orientação dos objetos virtuais em relação ao mundo real em aplicações de RA.
Em termos simples, o XR Origin representa o ponto de origem do sistema de
coordenadas utilizado para posicionar e orientar os elementos virtuais na cena
de RA.

22
Ao utilizar o XR Origin, os desenvolvedores podem garantir que os objetos
virtuais sejam corretamente alinhados e interajam de forma consistente com o
ambiente físico. Esse componente é responsável por estabelecer a referência
espacial necessária para que a RA funcione de maneira precisa e imersiva.
Do ponto de vista técnico, o XR Origin define a origem do sistema de
coordenadas do mundo virtual em relação ao mundo real. Isso significa que ele
determina onde a posição (0,0,0) do sistema de coordenadas virtual se alinha no
mundo físico, permitindo que os objetos virtuais sejam posicionados e movidos
com base nessa referência.

4.3 Testando app – configurando Unity

Para exportar a nossa aplicação para um smartphone Android precisamos


fazer algumas configurações no Unity antes de criar o nosso APK. Primeiramente
vá até Build Settings e dê um Switch Platform para a plataforma Android.
Agora vamos fazer algumas configurações no Player Settings.

1. Mude a API gráfica para Open GLES3

Vá até Project Settings>Player>Orthe Settings. Por padrão o Unity deixa


habilitado o Auto Graphics API, por isso você precisa desmarcar essa opção
para mudar a API gráfica para OpenGLES3.

Figura 28 - Habilitando Open GLES3

Fonte: Unity.

2. Configure API Level

Ainda no mesmo menu você encontra a seção Identification. Para


aplicações de AR é obrigatório API de nível 24 ou superior. Tenha em mente que
os dispositivos compatíveis com ARCore que ainda executam o Android 7.0
‘Nougat’ não oferecerão muito desempenho. Para um aplicativo de

23
demonstração, você pode, portanto, considerar níveis mínimos de API mais altos
para restringir seu aplicativo a telefones atuais e mais potentes.
Para os nossos testes recomendo que use o nível de API mínima do
Android 12 (API level 32). Antes de configurar, certifique-se de que o seu
smartphone tem o Android 12 ou superior.

Figura 29 - Configurando API Level

Fonte: Unity.

3. Habilitando ARM64

Todos os novos aplicativos publicados na Play Store precisam oferecer


suporte a arquiteturas de 64 bits. Isso também se aplica ao ARCore. No entanto,
o back-end de script Mono no Unity só pode compilar aplicativos de 32 bits.
Portanto, o Google recomenda mudar para o Scripting Backend para IL2CPP a
fim de habilitar a arquitetura ARM64 (além do ARMv7 para 32 bits).

24
Figura 30 - Habilitando ARM64

Fonte: Unity.

4.4 Testando app – configurando smartphone Android

Para ser um desenvolvedor de aplicativos para smartphones Android você


precisa conhecer bastante sobre o sistema operacional e saber coisas como:
sua versão do Android, a versão da UI do seu smartphone, entre outras.
Além disso, você deve ter ativado o Modo Desenvolvedor no seu
smartphone. Antes de começar, lembre-se de que o fabricante de smartphone
faz modificações na versão do Android que está utilizando. Isso quer dizer que
a forma de habilitar o Modo Desenvolvedor pode mudar conforme o fabricante
do smartphone. Neste exemplo vou demonstrar a habilitação do Modo
Desenvolvedor em um smartphone da Samsung. Isso quer dizer que se você
tiver, por exemplo, um smartphone da Xiaomi, os passos podem ser diferentes.
Nesses casos, busque uma luz no Google.
Primeiramente acesse Configurações, depois Sobre o telefone. Clique em
Informações de software e toque cinco vezes em Número de Compilação.
Retorne para a tela de Configurações, role a tela até o fim e toque em Opções
do Desenvolvedor. Procure por Depuração USB e habilite, dessa forma você
instala as suas build do Unity diretamente no seu smartphone.

25
Figura 31 - Habilitado Modo Desenvolvedor

Fonte: Unity.

4.5 Realizando o Build

Antes de fazer o build do nosso app, precisamos colocar alguma coisa em


cena. Nesse primeiro teste vamos posicionar apenas um cubo na cena. Coloque
o cubo um pouco afastado da origem da câmera, veja na imagem. Assim, quando
você abrir o aplicativo, o cubo vai aparecer na sua frente.

Figura 32 - Colocando um cubo na cena

Fonte: Unity.

Agora vamos para o tão esperado Build. Você pode conectar o seu
smartphone Android no PC e ver que o Unity já consegue referenciar o build. Ao
clicar no botão Build, o sistema vai pedir para você endereçar uma pasta para
salvar, depois disso você pode instalar no .APK no seu smartphone. Nas

26
próximas vezes que você quiser testar, é só acessar Build And Run, dessa forma
o Unity reconhece o seu smartphone conectado e faz a instalação.

Figura 33 - Configurando Build Settings

Fonte: Unity.

Depois de fazer o build para o seu smartphone você verá um cubo


flutuando na sua frente. Isso quer dizer que o ARCore está escaneando o seu
ambiente e buscando deixar o cubo fixo na posição inicial. É claro que, se você
andar muito, o sistema vai recalcular o ambiente em que está e realocar o cubo
relativo à sua posição.

27
Figura 34 - Visualizando o cubo no ambiente de RA

Crédito: Victor Moreira.

TEMA 5 – PROJETO DE RA UNITY E AR FOUNDATION

Agora vamos trabalhar com dois exemplos de aplicação de RA com AR


Foundation. No primeiro exemplo vamos ver como fazer o aplicativo onde
rastreamos imagens, semelhante ao que fizemos com o Vuforia. No segundo
exemplo, vamos ver como colocar um modelo 3D no ambiente de RA.
Depois de configurar o projeto inicial do AR Foundation no Unity, vamos
adicionando os primeiros recursos básicos de realidade aumentada ao nosso
projeto. O AR Foundation busca manter objetos 3D no lugar na visualização da
câmera ao vivo, movendo-os adequadamente no espaço. Para isso, o AR
Foundation usa o conceito de rastreáveis. Para cada recurso de AR que usar no
seu projeto, você precisa adicionar um gerenciador rastreável correspondente
ao seu XR Origin.
Em geral, o rastreável no AR Foundation é qualquer coisa que possa ser
detectada e rastreada no mundo real. Isso começa com itens básicos como
âncoras, nuvens de pontos e planos. O rastreamento mais avançado permite até
mesmo sondagens ambientais para mapas com GPS, rastreamento facial e até
mesmo de outros usuários em uma sessão de AR em multiplayer. Por isso, cada

28
tipo de rastreável (trackable) possui uma classe de gerenciador correspondente
como parte do pacote AR Foundation que adicionamos ao nosso projeto.
Para verificar a lista de funções de rastreamento do AR Foundation você
pode usar dois caminhos. O mais comum é adicionando um Componente:
selecione o item XR Origin e vá até Add Componente> Scripts>
UnityEngine.XR.ARFoundation. Lá você vai encontrar a lista de componentes.

Figura 35 - Lista de componentes do ARFoundation

Fonte: Unity.

Você também pode acessar os arquivos instalados no seu projeto. Vá até


a pasta Packages> AR Foundation> Runtime> ARFoundation.

29
Figura 36 - Pasta com os componentes do AR Foundation

Fonte: Unity.

Adicione esses componentes no XR Origin, assim você pode habilitar ou


desabilitar o Game Object para ativar ou desativar a função. Isso é importante,
pois auxilia no desempenho da aplicação, já que algumas funções podem exigir
cada vez mais memória por conta do mapeamento do ambiente.

5.1 Adicionando Point Cloud

Vamos exemplificar o uso das funções do AR Foundation, visualizando os


pontos de rastreamento por meio do AR Default Point Cloud. Adicione esse
objeto ao seu projeto.

Figura 37 - Adicionando AR Default Point Cloud ao projeto

Agora precisamos referenciar essa função no XR Origin. Selecione o


elemento XR Origin e adicione o Componente AR Default Point Cloud Manager.
Veja que o Point Cloud Prefab estará sem objeto linkado, nesse caso é só clicar
e linkar o Game Object AR Default Point Cloud que você acabou de adicionar.

30
Figura 38 - Linkando AR Default Point Cloud

Quando você instalar no seu smartphone poderá ver os pontos do


rastreamento.

Figura 39 - Visualização dos pontos de rastreamento

Crédito: Victor Moreira.

31
5.2 Adicionando Image Track

Vamos começar adicionando o AR Tracked Image Manager no XR Origin.


Veja que esse componente solicita três informações bem importantes.
Precisamos adicionar uma biblioteca de itens (1), definir o número máximo de
imagens (2) e colocar um Prefab (3) que será inserido quando encontrar a
imagem que queremos rastrear.

Figura 40 - Adicionando AR Tracked Image Manager

Vamos começar criando a biblioteca de imagens. Vá até a sua pasta de


Assets e adicione uma Reference Image Library.

32
Figura 41 - Adicionando Reference Image Library

Ao clicar em Add Image, você pode adicionar o QR code que criamos no


início desta etapa. Aqui adicionei o Marcador 3.

Figura 42 - Adicionando Imagem na Reference Image Library

Depois é só criar uma esfera e um Prefab e adicionar no AR Tracked


Image Manager.

33
Figura 43 - Configurações do AR Tracked Image Manager

Uma dica: crie um material para a sua esfera e configure o material de


modo a ter um pouco de transparência. Assim você poderá ver bem o marcador
através da transparência da esfera.

Figura 44 - Rastreamento de imagem do AR Foundation

Crédito: Victor Moreira.

34
FINALIZANDO

Nesta etapa, mergulhamos em um mundo de possibilidades ao explorar a


criação de aplicativos de realidade aumentada com as poderosas ferramentas
Unity e Vuforia bem como com a AR Foundation.
Começamos compreendendo a integração do Vuforia ao Unity, o que nos
permitiu dar vida aos nossos projetos com reconhecimento de marcadores e
interações dinâmicas. Importamos modelos 3D, como o personagem Robot Kyle
e o Jukebox, enfrentando desafios comuns, como problemas de exportação de
modelos. A solução, muitas vezes, reside em ajustes nos shaders para garantir
a renderização correta no Unity.
Avançando para a AR Foundation, exploramos uma abordagem para o
desenvolvimento de aplicativos de RA multiplataforma. Essa estrutura unificada
simplifica o processo de criação, permitindo que os desenvolvedores alcancem
públicos mais amplos de forma eficiente. Além disso, destacamos recursos
essenciais, como detecção de planos e pontos de referência, estimativa de luz,
rastreamento de imagem 3D e outros.
Ao configurar um projeto básico com AR Foundation, enfatizamos a
importância de manter-se atualizado com as mudanças rápidas no ecossistema
de desenvolvimento. A instalação do ARCore XR Plugin e a ativação do ARCore
no gerenciamento de plug-ins são passos cruciais para aproveitar ao máximo os
recursos de RA.
Finalmente, mergulhamos na prática, aplicando os conceitos aprendidos
em vários exemplos de projetos de RA com AR Foundation. Descobrimos como
rastrear imagens e posicionar modelos 3D no ambiente de RA, aproveitando os
recursos de rastreamento avançado oferecidos pela AR Foundation.
Como próximo passo, recomendo a exploração detalhada da
documentação oficial do Unity e da AR Foundation, além de buscar tutoriais e
comunidades on-line para se manter atualizado com as melhores práticas e
novidades nesse emocionante campo da tecnologia.
Lembre-se: a chave para o sucesso neste domínio está na prática
constante e na disposição para enfrentar desafios técnicos com criatividade e
determinação.

35
REFERÊNCIAS

DOERNER, R.; BROLL, W.; GRIMM, P.; JUNG, B. (Orgs.). Virtual and
augmented reality (VR/AR). Foundations and methods of extended realities (XR).
IEEE Computer Graphics and Applications, 2000.

KYAW, A. S.; PETERS, C.; SWE, T. N. Unity 4.x Game AI Programming. 2013.

36

Você também pode gostar