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

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. 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 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 Camadas e selecione Editar camadas....
  3. Defina uma nova camada chamada "Interativo".
  4. 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".
  5. 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.

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

  1. Defina a Orientação padrão como Paisagem esquerda ou Paisagem direita.
  2. Desative a opção Optimized Frame Pacing.

Outras configurações

Navegue até Project Settings > 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 uma versão mais recente em Nível mínimo da API.
  3. Selecione API level 33 ou uma versão mais recente em Nível desejado da API.
  4. Selecione IL2CPP em Back-end de script.
  5. Selecione as arquiteturas desejadas escolhendo ARMv7, ARM64 ou ambas em Arquiteturas de destino.
  6. Selecione Require em Acesso à Internet.
  7. Especifique o domínio da empresa em Package Name.
  8. 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.
  9. Se a versão do Unity for 2023.1 ou mais recente, selecione Activity e desmarque GameActivity em Ponto de entrada do aplicativo.

Configurações de publicação

Navegue até Configurações do projeto > Jogador > Configurações de publicação.

  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.6.1'
      implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
    
  3. 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.

  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 definir as configurações de projetos do iOS

Navegue até File > Build Settings.

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

  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 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 empresa em Package Name.

Configurações de gerenciamento de plug-in do 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 principal tracker usando Recenter().

Siga estas etapas para fazer um teste usando o aplicativo de amostra:

  1. Mova o dispositivo para a posição que você quer recentralizar (use como nova pose da cabeça para frente).
  2. Mantenha o gatilho do seu dispositivo Cardboard ativo por pelo menos três segundos.
  3. Solte o gatilho.
  4. 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.

Próximas etapas