Este guia mostra como usar o plug-in Google Cardboard XR para Unity para criar suas próprias experiências de realidade virtual (RV).
Use o SDK do Cardboard para transformar um smartphone em uma plataforma de RV. Um dispositivo móvel pode mostrar cenas 3D com renderização estereoscópica, rastrear e reagir a movimentos da cabeça e interagir com apps detectando quando o usuário pressiona o botão do visualizador.
Para começar, você vai usar o HelloCardboard, um jogo de demonstração que mostra os principais recursos do SDK do Cardboard. No jogo, os usuários procuram em um mundo virtual para encontrar e coletar objetos. Ele mostra como:
- Configurar o ambiente de desenvolvimento
- Baixar e criar o app de demonstração
- Leia o QR code de um visor do Google Cardboard para salvar os parâmetros dele
- Acompanhar os movimentos da cabeça do usuário
- Renderizar imagens estereoscópicas definindo a distorção correta para cada olho
- Ativar e desativar o modo VR
Configurar o ambiente de desenvolvimento
Requisitos de software:
- Unity 2021.3.44f1 ou mais recente
- Inclua o suporte ao build do Android e do iOS durante a instalação.
- Instale a versão de patch 44f1 ou mais recente.
- O Git precisa estar instalado, e o executável
git
precisa estar na variável de ambientePATH
. Consulte os documentos de suporte do Git do gerenciador de pacotes do Unity para mais detalhes.
Importar o SDK e criar um projeto
Siga estas etapas para importar o SDK do Unity e criar um projeto.
- Abra o Unity e crie um projeto 3D.
- No Unity, acesse Window > Package Manager.
- Clique em + e selecione Adicionar pacote do URL do Git.
- Cole
https://github.com/googlevr/cardboard-xr-plugin.git
no campo de entrada de texto.
O pacote precisa ser adicionado aos pacotes instalados. - Navegue até o pacote Plug-in do Google Cardboard XR para Unity. Na seção Exemplos, escolha Importar para o projeto.
Os recursos de amostra precisam ser carregados emAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Configurar a cena HelloCardboard
- Acesse
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, selecione Adicionar cenas abertas e escolha HelloCardboard para abrir a cena de exemplo. - Abra o menu Camadas e selecione Editar camadas….
- Defina uma nova camada chamada "Interativa".
- Clique no GameObject Treasure para abrir a janela do inspetor. Defina a camada como "Interativa". Se aparecer uma janela pop-up perguntando se você quer definir a camada como "Interativa" para todos os objetos filhos também, clique em "Sim, mudar filhos".
- Clique no GameObject Player > Camera > CardboardReticlePointer para abrir a janela do Inspector. No script "Ponteiro da retícula do Cardboard", selecione "Interativo" como a Máscara da camada de interação da retícula.
Configurar as definições de build do Android
Acesse Arquivo > Configurações do build.
- Selecione Android e escolha Switch Platform.
- Selecione Adicionar cenas abertas e escolha HelloCardboard.
Player Settings
Navegue até Editar > Configurações do projeto....
Configurar as opções de resolução e apresentação
Navegue até Player > Resolução e apresentação.
- Defina a Orientação padrão como Paisagem à esquerda ou Paisagem à direita.
- Desative o Ritmo de frames otimizado.
Definir outras configurações
Navegue até Player > Other Settings.
- Escolha
OpenGLES2
,OpenGLES3
ouVulkan
ou qualquer combinação deles em APIs de gráficos. - Selecione
Android 8.0 'Oreo' (API level 26)
ou mais recente em Nível mínimo da API. - Selecione
API level 35
ou mais recente em Nível desejado da API. - Selecione
IL2CPP
em Scripting Backend. - Selecione as arquiteturas desejadas escolhendo
ARMv7
,ARM64
ou ambas em Arquiteturas de destino. - Selecione
Require
em Acesso à Internet. - Selecione
Input System Package (New)
em Processamento de entrada ativo. - Especifique o domínio da sua empresa em Nome do pacote.
- Se
Vulkan
foi selecionado como API Graphics:- Desmarque a caixa de seleção Aplicar rotação de tela durante a renderização em Configurações do Vulkan.
- Se a versão do Unity for 2021.2 ou mais recente, selecione
ETC2
em Formato de compactação de textura.
- Se a versão do Unity for 2023.1 ou mais recente, selecione
Activity
e desmarqueGameActivity
em Ponto de entrada do aplicativo.
Configurar as opções de publicação
Acesse Player > Publishing Settings.
- Na seção Build, selecione
Custom Main Gradle Template
eCustom Gradle Properties Template
. Adicione as seguintes linhas à seção de dependências de
Assets/Plugins/Android/mainTemplate.gradle
:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
Adicione as linhas abaixo a
Assets/Plugins/Android/gradleTemplate.properties
:android.enableJetifier=true android.useAndroidX=true
Configurar as definições de gerenciamento de plug-ins de RV
Navegue até Gerenciamento de plug-ins de XR.
- Selecione
Cardboard XR Plugin
em Provedores de plug-ins.
Criar o projeto
Acesse Arquivo > Configurações do build.
- Selecione Build ou escolha um dispositivo e selecione Build and Run.
Configurar as definições do projeto iOS
Acesse Arquivo > Configurações do build.
- Selecione iOS e escolha Mudar de plataforma.
- Selecione Adicionar cenas abertas e escolha HelloCardboard.
Player Settings
Navegue até Editar > Configurações do projeto....
Configurar as opções de resolução e apresentação
Acesse Player > Resolução e apresentação.
- Defina a Orientação padrão como Paisagem à esquerda ou Paisagem à direita.
Definir outras configurações
Navegue até Player > Other Settings.
- Em Descrição de uso da câmera, escreva
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - Em Versão mínima de destino do iOS, escreva
12.0
. - Especifique o domínio da sua empresa em Nome do pacote.
- Marque
Top Edge
,Left Edge
eRight Edge
em Adiar gestos do sistema nas bordas.
Configurar as definições de gerenciamento de plug-ins de RV
Navegue até Gerenciamento de plug-ins de XR.
- Selecione
Cardboard XR Plugin
em Provedores de plug-ins.
Criar o projeto
Acesse Arquivo > Configurações do build.
- Selecione Build ou Build and Run.
Centralizar
O SDK do Cardboard permite recentralizar o rastreador de cabeça usando Recenter()
.
Siga estas etapas para testar usando o aplicativo de amostra:
- Mova o dispositivo para a posição que você quer recentralizar (use como uma nova postura da cabeça olhando para frente).
- Mantenha o gatilho do dispositivo Cardboard ativo por pelo menos três segundos.
- Solte o gatilho.
- A postura inicial agora está na direção em que a câmera está apontando.
Ativar e desativar o modo VR
A API Unity XR Plugin Management permite ativar ou desativar o modo VR para o Plug-in Google Cardboard XR para Unity. A documentação do usuário final e exemplos de uso estão disponíveis na documentação do usuário final da Unity.
A cena VrMode no exemplo HelloCardboard mostra um uso básico da
API mencionada. Nessa cena, o modo VR pode ser desativado tocando em sair
e ativado novamente
tocando em qualquer lugar da tela. Confira
VrModeController.cs
para saber como isso é feito.
Próximas etapas
- Leia as diretrizes de branding do Cardboard.