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

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:

Importar o SDK e criar um novo projeto

Siga estas etapas para importar o SDK do Unity e criar um novo projeto.

  1. Abra o Unity e crie um novo projeto 3D.
  2. No Unity, acesse Window > Package Manager.
  3. Clique em + e selecione Add package from git URL.
  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 Google Cardboard XR Plugin for Unity. Na seção Samples, escolha Import into Project.
    Os recursos de exemplo precisam ser carregados em Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

Configurar a cena HelloCardboard

  1. Navegue até Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, selecione Add Open Scenes e escolha HelloCardboard para abrir a cena de exemplo.
  2. Abra o menu Layers e selecione Edit Layers….
  3. Defina uma nova camada chamada "Interativa".
  4. 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".
  5. 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.

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

  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 gráficas.
  2. Selecione Android 8.0 'Oreo' (API level 26) ou mais recente em Nível mínimo da API.
  3. Selecione API level 33 ou mais recente em Nível desejado da API.
  4. Selecione IL2CPP em Scripting Backend.
  5. Selecione as arquiteturas desejadas escolhendo ARMv7, ARM64 ou ambos 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 Package Name.
  9. 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.
  10. Se a versão do Unity for 2023.1 ou mais recente, selecione Activity e limpe GameActivity em Application Entry Point.

Configurar as configurações de publicação

Acesse Player > Configurações de publicação.

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

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

Criar o projeto

Navegue até File > Build Settings.

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

Definir as configurações do projeto iOS

Navegue até File > Build Settings.

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

  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 do 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, digite 12.0.
  3. Especifique o domínio da sua empresa em Package Name.
  4. Marque Top Edge, Left Edge e Right 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.

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

Criar o projeto

Navegue até File > Build Settings.

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

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

Próximas etapas