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 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 do visor.

Para começar, use o HelloCardboard, um jogo de demonstração que demonstra os recursos principais 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
  • 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
  • Rastrear 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 RV

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.

Como configurar a cena do 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 inspetor. No script "Carboard reticle pointer", selecione "Interativo" como a máscara da camada de interação da retícula.

Como configurar as configurações do projeto Android

Navegue até File > Build Settings.

  1. Selecione Android e escolha Switch Platform.
  2. Selecione Add Open Scenes e escolha HelloCardboard.

Player Settings

Resolução e apresentação

Navegue até Project Settings > Player > Resolution and Presentation.

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

Outras configurações

Navegue até Project Settings > Player > Other Settings.

  1. Escolha OpenGLES2, OpenGLES3 ou Vulkan, ou qualquer combinação delas em APIs Graphics.
  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:
    • 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 limpe GameActivity em Application Entry Point.

Configurações de publicação

Acesse Project Settings > Player > Publishing Settings.

  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
    

Configurações de gerenciamento de plug-ins de XR

Navegue até Project Settings > XR Plug-in Management.

  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.

Como configurar 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

Resolução e apresentação

Navegue até Project Settings > Player > Resolution and Presentation.

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

Outras configurações

Navegue até Project Settings > 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 do iOS de destino, digite 12.0.
  3. Especifique o domínio da sua empresa em Package Name.

Configurações de gerenciamento de plug-ins de XR

Navegue até Project Settings > XR Plug-in Management.

  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.

Recentralização

O SDK do Cardboard 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.

Como ativar e desativar o Modo RV

A API Unity XR Plugin Management permite ativar ou desativar o modo de RV para o Google Cardboard XR Plugin for 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 ser ativado novamente apenas tocando em qualquer lugar da tela. Consulte VrModeController.cs para saber como isso é feito.

Próximas etapas