Guia de início rápido do Google Cardboard para Unity

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 ambiente PATH. 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.

  1. Abra o Unity e crie um projeto 3D.
  2. No Unity, acesse Window > Package Manager.
  3. Clique em + e selecione Adicionar pacote do URL do Git.
  4. Cole https://github.com/googlevr/cardboard-xr-plugin.git no campo de entrada de texto.
    O pacote precisa ser adicionado aos pacotes instalados.
  5. 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 em Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

Configurar a cena HelloCardboard

  1. Acesse Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, selecione Adicionar cenas abertas e escolha HelloCardboard para abrir a cena de exemplo.
  2. Abra o menu Camadas e selecione Editar camadas….
  3. Defina uma nova camada chamada "Interativa".
  4. 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".
  5. 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.

  1. Selecione Android e escolha Switch Platform.
  2. 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.

  1. Defina a Orientação padrão como Paisagem à esquerda ou Paisagem à direita.
  2. Desative o Ritmo de frames otimizado.

Definir outras configurações

Navegue até Player > Other Settings.

  1. Escolha OpenGLES2, OpenGLES3 ou Vulkan ou qualquer combinação deles em APIs de gráficos.
  2. Selecione Android 8.0 'Oreo' (API level 26) ou mais recente em Nível mínimo da API.
  3. Selecione API level 35 ou mais recente em Nível desejado da API.
  4. Selecione IL2CPP em Scripting Backend.
  5. Selecione as arquiteturas desejadas escolhendo ARMv7, ARM64 ou ambas em Arquiteturas de destino.
  6. Selecione Require em Acesso à Internet.
  7. Selecione Input System Package (New) em Processamento de entrada ativo.
  8. Especifique o domínio da sua empresa em Nome do pacote.
  9. 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.
  10. Se a versão do Unity for 2023.1 ou mais recente, selecione Activity e desmarque GameActivity em Ponto de entrada do aplicativo.

Configurar as opções de publicação

Acesse Player > Publishing Settings.

  1. Na seção Build, selecione Custom Main Gradle Template e Custom Gradle Properties Template.
  2. 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'
    
  3. 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.

  1. Selecione Cardboard XR Plugin em Provedores de plug-ins.

Criar o projeto

Acesse Arquivo > Configurações do build.

  1. Selecione Build ou escolha um dispositivo e selecione Build and Run.

Configurar as definições do projeto iOS

Acesse Arquivo > Configurações do build.

  1. Selecione iOS e escolha Mudar de plataforma.
  2. 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.

  1. Defina a Orientação padrão como Paisagem à esquerda ou Paisagem à direita.

Definir outras configurações

Navegue até Player > Other Settings.

  1. 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)..
  2. Em Versão mínima de destino do iOS, escreva 12.0.
  3. Especifique o domínio da sua empresa em Nome do pacote.
  4. Marque Top Edge, Left Edge e Right 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.

  1. Selecione Cardboard XR Plugin em Provedores de plug-ins.

Criar o projeto

Acesse Arquivo > Configurações do build.

  1. 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:

  1. Mova o dispositivo para a posição que você quer recentralizar (use como uma nova postura da cabeça olhando para frente).
  2. Mantenha o gatilho do dispositivo Cardboard ativo por pelo menos três segundos.
  3. Solte o gatilho.
  4. 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 Botão X e ativado novamente tocando em qualquer lugar da tela. Confira VrModeController.cs para saber como isso é feito.

Próximas etapas