Guía de inicio rápido de Google Cardboard para Unity

En esta guía, se muestra cómo usar el complemento de Google Cardboard XR para Unity en Unity para crear tus propias experiencias de Realidad Virtual (RV).

Puedes usar el SDK de Cardboard para convertir un teléfono celular en una plataforma de RV. Un teléfono inteligente puede mostrar escenas en 3D con renderización estereoscópica, seguir y reaccionar ante los movimientos de la cabeza, e interactuar con las apps detectando cuando el usuario presiona el botón del visor.

Para comenzar, usarás HelloCardboard, un juego de demostración que muestra las funciones principales del SDK de Cardboard. En el juego, los usuarios observan un mundo virtual para encontrar y recolectar objetos. Te muestra cómo hacer lo siguiente:

  • Configura tu entorno de desarrollo
  • Descarga y compila la app de demostración
  • Escanea el código QR de un visor Cardboard para guardar sus parámetros
  • Hacer un seguimiento de los movimientos de la cabeza del usuario
  • Renderiza imágenes estereoscópicas configurando la distorsión correcta para cada ojo.
  • Cómo activar y desactivar el modo de RV

Configura tu entorno de desarrollo

Requisitos de software:

  • Unity 2021.3.44f1 o una versión posterior
    • Asegúrate de incluir la compatibilidad con compilación para Android y iOS durante la instalación.
    • Asegúrate de instalar el parche de versión 44f1 o una posterior.
  • Se debe instalar Git y el ejecutable git debe estar en la variable de entorno PATH. Consulta los documentos de compatibilidad con git del administrador de paquetes de Unity para obtener más detalles.

Importa el SDK y crea un proyecto nuevo

Sigue estos pasos para importar el SDK de Unity y crear un proyecto nuevo.

  1. Abre Unity y crea un proyecto 3D nuevo.
  2. En Unity, ve a Window > Package Manager.
  3. Haz clic en + y selecciona Add package from git URL.
  4. Pega https://github.com/googlevr/cardboard-xr-plugin.git en el campo de entrada de texto.
    El paquete se debe agregar a los paquetes instalados.
  5. Navega al paquete Google Cardboard XR Plugin for Unity. En la sección Samples, elige Import into Project.
    Los recursos de muestra se deben cargar en Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

Cómo configurar la escena de HelloCardboard

  1. Navega a Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, selecciona Add Open Scenes y elige HelloCardboard para abrir la escena de ejemplo.
  2. Abre el menú Capas y selecciona Editar capas….
  3. Define una capa nueva llamada "Interactiva".
  4. Haz clic en el GameObject Treasure para abrir la ventana del Inspector. Establece su capa como "Interactiva". Si aparece una ventana emergente que te pregunta si deseas establecer la capa como interactiva para todos los objetos secundarios, haz clic en "Sí, cambiar objetos secundarios".
  5. Haz clic en el objeto de juego Player > Camera > CardboardReticlePointer para abrir la ventana Inspector. En la secuencia de comandos "Carboard reticle pointer", selecciona "Interactive" como la Reticle Interaction Layer Mask.

Cómo configurar el proyecto de Android

Navega a File > Build Settings.

  1. Selecciona Android y elige Switch Platform.
  2. Selecciona Add Open Scenes y elige HelloCardboard.

Player Settings

Resolución y presentación

Ve a Project Settings > Player > Resolution and Presentation.

  1. Establece la Orientación predeterminada en Horizontal a la izquierda o Horizontal a la derecha.
  2. Inhabilita Optimización del ritmo de fotogramas.

Otras configuraciones

Navega a Project Settings > Player > Other Settings.

  1. Elige OpenGLES2, OpenGLES3, Vulkan o cualquier combinación de ellas en las APIs de gráficos.
  2. Selecciona Android 8.0 'Oreo' (API level 26) o una versión posterior en Nivel de API mínimo.
  3. Selecciona API level 33 o una versión posterior en Nivel de API objetivo.
  4. Selecciona IL2CPP en Backend de secuencias de comandos.
  5. Selecciona las arquitecturas deseadas eligiendo ARMv7, ARM64 o ambas en Target Architectures.
  6. Selecciona Require en Acceso a Internet.
  7. Selecciona Input System Package (New) en Active Input Handling.
  8. Especifica el dominio de tu empresa en Package Name.
  9. Si se seleccionó Vulkan como API de gráficos:
    • Desmarca la casilla de verificación Aplicar rotación de pantalla durante la renderización en Configuración de Vulkan.
    • Si la versión de Unity es 2021.2 o posterior, selecciona ETC2 en Formato de compresión de texturas.
  10. Si la versión de Unity es 2023.1 o posterior, selecciona Activity y borra GameActivity en Punto de entrada de la aplicación.

Configuración de publicación

Navega a Configuración del proyecto > Reproductor > Configuración de publicación.

  1. En la sección Build, selecciona Custom Main Gradle Template y Custom Gradle Properties Template.
  2. Agrega las siguientes líneas a la sección de dependencias 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. Agrega las siguientes líneas a Assets/Plugins/Android/gradleTemplate.properties:

      android.enableJetifier=true
      android.useAndroidX=true
    

Configuración de la administración de complementos de XR

Navega a Project Settings > XR Plug-in Management.

  1. Selecciona Cardboard XR Plugin en Proveedores de complementos.

Cómo compilar un proyecto

Navega a File > Build Settings.

  1. Selecciona Build o elige un dispositivo y selecciona Build and Run.

Cómo configurar el proyecto para iOS

Navega a File > Build Settings.

  1. Selecciona iOS y elige Switch Platform.
  2. Selecciona Add Open Scenes y elige HelloCardboard.

Player Settings

Resolución y presentación

Ve a Project Settings > Player > Resolution and Presentation.

  1. Establece la Orientación predeterminada en Horizontal a la izquierda o Horizontal a la derecha.

Otras configuraciones

Navega a Project Settings > Player > Other Settings.

  1. En Descripción del uso de la cámara, escribe Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters)..
  2. En Versión mínima de iOS objetivo, escribe 12.0.
  3. Especifica el dominio de tu empresa en Package Name.

Configuración de la administración de complementos de XR

Navega a Project Settings > XR Plug-in Management.

  1. Selecciona Cardboard XR Plugin en Proveedores de complementos.

Cómo compilar un proyecto

Navega a File > Build Settings.

  1. Selecciona Build o Build and Run.

Recentering

El SDK de Cardboard te permite centrar nuevamente el rastreador de cabeza con Recenter().

Sigue estos pasos para probarlo con la aplicación de ejemplo:

  1. Mueve el dispositivo a la posición que deseas volver a centrar (usa una nueva postura de la cabeza hacia adelante).
  2. Mantén el activador de tu dispositivo Cardboard activo durante al menos tres segundos.
  3. Suelta el activador.
  4. La pose inicial ahora está en la dirección a la que apunta la cámara.

Cómo activar y desactivar el modo de RV

La API de Unity XR Plugin Management te permite activar o desactivar el modo de VR para el complemento Google Cardboard XR para Unity. La documentación para usuarios finales y los ejemplos de uso están disponibles en la documentación para usuarios finales de Unity.

La escena VrMode en el ejemplo de HelloCardboard muestra un uso básico de la API antes mencionada. En esta escena, se puede desactivar el modo de realidad virtual presionando salir y se puede volver a activar presionando en cualquier lugar de la pantalla. Consulta VrModeController.cs para obtener detalles sobre cómo se realiza.

Próximos pasos