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 entornoPATH
. 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.
- Abre Unity y crea un proyecto 3D nuevo.
- En Unity, ve a Window > Package Manager.
- Haz clic en + y selecciona Add package from git URL.
- 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. - 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 enAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Cómo configurar la escena de HelloCardboard
- Navega a
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, selecciona Add Open Scenes y elige HelloCardboard para abrir la escena de ejemplo. - Abre el menú Capas y selecciona Editar capas….
- Define una capa nueva llamada "Interactiva".
- 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".
- 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.
- Selecciona Android y elige Switch Platform.
- Selecciona Add Open Scenes y elige HelloCardboard.
Player Settings
Resolución y presentación
Ve a Project Settings > Player > Resolution and Presentation.
- Establece la Orientación predeterminada en Horizontal a la izquierda o Horizontal a la derecha.
- Inhabilita Optimización del ritmo de fotogramas.
Otras configuraciones
Navega a Project Settings > Player > Other Settings.
- Elige
OpenGLES2
,OpenGLES3
,Vulkan
o cualquier combinación de ellas en las APIs de gráficos. - Selecciona
Android 8.0 'Oreo' (API level 26)
o una versión posterior en Nivel de API mínimo. - Selecciona
API level 33
o una versión posterior en Nivel de API objetivo. - Selecciona
IL2CPP
en Backend de secuencias de comandos. - Selecciona las arquitecturas deseadas eligiendo
ARMv7
,ARM64
o ambas en Target Architectures. - Selecciona
Require
en Acceso a Internet. - Selecciona
Input System Package (New)
en Active Input Handling. - Especifica el dominio de tu empresa en Package Name.
- 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.
- Si la versión de Unity es 2023.1 o posterior, selecciona
Activity
y borraGameActivity
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.
- En la sección Build, selecciona
Custom Main Gradle Template
yCustom Gradle Properties Template
. 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'
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.
- Selecciona
Cardboard XR Plugin
en Proveedores de complementos.
Cómo compilar un proyecto
Navega a File > Build Settings.
- Selecciona Build o elige un dispositivo y selecciona Build and Run.
Cómo configurar el proyecto para iOS
Navega a File > Build Settings.
- Selecciona iOS y elige Switch Platform.
- Selecciona Add Open Scenes y elige HelloCardboard.
Player Settings
Resolución y presentación
Ve a Project Settings > Player > Resolution and Presentation.
- Establece la Orientación predeterminada en Horizontal a la izquierda o Horizontal a la derecha.
Otras configuraciones
Navega a Project Settings > Player > Other Settings.
- 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).
. - En Versión mínima de iOS objetivo, escribe
12.0
. - 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.
- Selecciona
Cardboard XR Plugin
en Proveedores de complementos.
Cómo compilar un proyecto
Navega a File > Build Settings.
- 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:
- Mueve el dispositivo a la posición que deseas volver a centrar (usa una nueva postura de la cabeza hacia adelante).
- Mantén el activador de tu dispositivo Cardboard activo durante al menos tres segundos.
- Suelta el activador.
- 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.