Este guia mostra como usar o plug-in XR do Google Cardboard para Unity para criar suas próprias experiências de realidade virtual (RV).
Você pode usar o SDK do Cardboard para transformar um smartphone em uma plataforma de RV. Um dispositivo móvel pode exibir 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 um mundo virtual para encontrar e coletar objetos. Ele mostra como:
- Configurar o ambiente de desenvolvimento
- Fazer o download e criar o app de demonstração
- Ler o QR code de um visor do Google Cardboard para salvar os parâmetros
- Monitorar 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 o patch da versão 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 Unity para o git do gerenciador de pacotes para mais detalhes.
Importar o SDK e criar um novo projeto
Siga estas etapas para importar o SDK do Unity e criar um novo projeto.
- Abra o Unity e crie um novo projeto 3D.
- No Unity, acesse Window > Package Manager.
- Clique em + e selecione Add package from git URL.
- 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 Google Cardboard XR Plugin for Unity. Na seção
Samples, escolha Import into Project.
Os recursos de exemplo precisam ser carregados emAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Configurar a cena HelloCardboard
- Navegue até
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, selecione Add Open Scenes e escolha HelloCardboard para abrir a cena de exemplo. - Abra o menu Layers e selecione Edit Layers….
- Defina uma nova camada chamada "Interativa".
- Clique no GameObject Treasure para abrir a janela do inspetor. Defina a camada como "Interativa". Se uma janela pop-up aparecer perguntando se você quer definir a camada como interativa para todos os objetos filhos, clique em "Sim, mudar filhos".
- Clique no GameObject Player > Camera > CardboardReticlePointer para abrir a janela do Inspector. No script "Cardboard reticle pointer", selecione "Interativo" como a máscara de camada de interação da retícula.
Definir as configurações de build do Android
Navegue até File > Build Settings.
- Selecione Android e escolha Switch Platform.
- Selecione Add Open Scenes e escolha HelloCardboard.
Player Settings
Navegue até Editar > Configurações do projeto.
Definir as configuraçõ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 gráficas. - Selecione
Android 8.0 'Oreo' (API level 26)
ou mais recente em Nível mínimo da API. - Selecione
API level 33
ou mais recente em Nível desejado da API. - Selecione
IL2CPP
em Scripting Backend. - Selecione as arquiteturas desejadas escolhendo
ARMv7
,ARM64
ou ambos 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 Package Name.
- Se
Vulkan
foi selecionado como API Graphics:- Limpe a caixa de seleção Aplicar rotação de tela durante a renderização nas 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 limpeGameActivity
em Application Entry Point.
Configurar as configurações de publicação
Acesse Player > Configurações de publicação.
- Na seção Build, selecione
Custom Main Gradle Template
eCustom Gradle Properties Template
. Adicione as linhas abaixo à 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 configurações de gerenciamento de plug-ins de XR
Navegue até Gerenciamento de plug-ins de XR.
- Selecione
Cardboard XR Plugin
em Provedores de plug-in.
Criar o projeto
Navegue até File > Build Settings.
- Selecione Build ou escolha um dispositivo e selecione Build and Run.
Definir as configurações do projeto iOS
Navegue até File > Build Settings.
- Selecione iOS e escolha Switch Platform.
- Selecione Add Open Scenes e escolha HelloCardboard.
Player Settings
Navegue até Editar > Configurações do projeto.
Definir as configuraçõ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.
Definir outras configurações
Navegue até Player > Other Settings.
- Em Descrição do 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, digite
12.0
. - Especifique o domínio da sua empresa em Package Name.
- Marque
Top Edge
,Left Edge
eRight Edge
em Defer system gestures on edges.
Configurar as configurações de gerenciamento de plug-ins de XR
Navegue até Gerenciamento de plug-ins de XR.
- Selecione
Cardboard XR Plugin
em Provedores de plug-in.
Criar o projeto
Navegue até File > Build Settings.
- Selecione Build ou Build and Run.
Centralizar
O Cardboard SDK permite
recentralizar o rastreador de cabeça usando
Recenter()
.
Siga estas etapas para testar usando o aplicativo de exemplo:
- Mova o dispositivo para a posição que você quer centralizar (use uma nova pose de cabeça para frente).
- Mantenha o gatilho do dispositivo Cardboard ativo por pelo menos três segundos.
- Solte o gatilho.
- A pose inicial agora está na direção em que a câmera está apontada.
Ativar e desativar o modo VR
A API Unity XR Plugin Management permite ativar ou desativar o modo de RV do Plug-in XR do Google Cardboard para Unity. A documentação do usuário final e os exemplos de uso estão disponíveis na documentação do usuário final do Unity.
A cena VrMode no exemplo do HelloCardboard mostra um uso básico da
API mencionada. Nessa cena, o modo de RV pode ser desativado tocando em sair
e pode ser ativado novamente
tocando em qualquer lugar da tela. Consulte
VrModeController.cs
para saber como isso é feito.
Próximas etapas
- Leia as diretrizes de branding do Cardboard.