Este guia mostra como usar o plug-in XR do Google Cardboard para Unity para Unity e 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 smartphone 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 de visualização.
Para começar, você vai usar o HelloCardboard, um jogo de demonstração que apresenta os principais recursos do SDK do Cardboard. No jogo, os usuários olham ao redor de 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
- Leia o QR code de um visor do Google Cardboard para salvar os parâmetros dele
- Monitorar os movimentos da cabeça do usuário
- Renderize imagens estereoscópicas definindo a distorção correta para cada olho
- Ativar e desativar o modo RV
Configurar o ambiente de desenvolvimento
Requisitos de software:
- Unity 2021.3.32f1 ou mais recente
- Inclua o suporte ao build para Android e iOS durante a instalação.
- O Git precisa estar instalado e o executável
git
precisa estar na variável de ambientePATH
. Consulte os documentos de suporte ao git do gerenciador de pacotes do Unity 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. - Acesse o pacote do Plug-in XR do Google Cardboard para Unity. Na seção
Samples, escolha Import into Project.
Os recursos de amostra precisam ser carregados emAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Como configurar a cena do 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 Camadas e selecione Editar camadas....
- Defina uma nova camada chamada "Interativo".
- Clique no GameObject Treasure para abrir a janela do Inspector. 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 "Retículo de ponteiro do retículo", selecione "Interactive" como a Máscara de camada de interação de retículo.
Como definir configurações de projetos para Android
Navegue até File > Build Settings.
- Selecione Android e escolha Switch Platform.
- Selecione Adicionar cenas abertas e escolha HelloCardboard.
Configurações do player
Resolução e apresentação
Navegue até Configurações do projeto > Jogador > Resolução e apresentação.
- Defina a Orientação padrão como Paisagem esquerda ou Paisagem direita.
- Desative a opção Optimized Frame Pacing.
Outras configurações
Navegue até Project Settings > 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 uma versão mais recente em Nível mínimo da API. - Selecione
API level 33
ou uma versão mais recente em Nível desejado da API. - Selecione
IL2CPP
em Back-end de script. - Selecione as arquiteturas desejadas escolhendo
ARMv7
,ARM64
ou ambas em Arquiteturas de destino. - Selecione
Require
em Acesso à Internet. - Especifique o domínio da empresa em Package Name.
- Se
Vulkan
tiver sido selecionado como API Graphics:- Desmarque a caixa de seleção Apply display rotation during render em Vulkan Settings.
- 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.
Configurações de publicação
Navegue até Configurações do projeto > Jogador > Configurações de publicação.
- 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.6.1' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
Adicione as seguintes linhas a
Assets/Plugins/Android/gradleTemplate.properties
:android.enableJetifier=true android.useAndroidX=true
Configurações de gerenciamento de plug-in do XR
Navegue até Project Settings > XR Plug-in Management.
- 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.
Como definir as configurações de projetos do iOS
Navegue até File > Build Settings.
- Selecione iOS e escolha Switch Platform.
- Selecione Adicionar cenas abertas e escolha HelloCardboard.
Configurações do player
Resolução e apresentação
Navegue até Configurações do projeto > Jogador > Resolução e apresentação.
- Defina a Orientação padrão como Paisagem esquerda ou Paisagem direita.
Outras configurações
Navegue até Project Settings > 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 empresa em Package Name.
Configurações de gerenciamento de plug-in do XR
Navegue até Project Settings > XR Plug-in Management.
- Selecione
Cardboard XR Plugin
em Provedores de plug-in.
Criar o projeto
Navegue até File > Build Settings.
- Selecione Build ou Build and Run.
Recentralização
O SDK do Cardboard permite recentralizar o principal tracker usando Recenter()
.
Siga estas etapas para fazer um teste usando o aplicativo de amostra:
- Mova o dispositivo para a posição que você quer recentralizar (use como nova pose da cabeça para frente).
- Mantenha o gatilho do seu dispositivo Cardboard ativo por pelo menos três segundos.
- Solte o gatilho.
- A pose inicial agora está na direção para a qual a câmera está apontando.
Como ativar e desativar o modo de RV
A API Unity XR Plugin Management permite ativar ou desativar o modo RV para o Plug-in XR do Google Cardboard XR 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 (link em inglês).
A cena VrMode no exemplo HelloCardboard mostra um uso básico da API mencionada. Nesse cenário, o modo RV pode ser desativado tocando em exit e para ser ativado novamente apenas tocando em qualquer lugar da tela. Consulte VrModeController.cs para ver detalhes sobre como isso é executado.